Subscribe Bookmark RSS Feed
brady_brady

Staff

Joined:

Jun 9, 2012

Journal Packager Addin

Sharing large journals, containing file references scattered across a labyrinthine directory structure, can be problematic. This addin allows the user to package a journal for easy sharing, by doing the following:

  1. Prompts user for a save directory.
  2. Prompts user for a journal to be packaged.
  3. Creates a timestamped folder.
  4. Inserts into the timestamped folder copies of all files referenced by the journal, and changes the file links in the journal to local links.
  5. If I/O errors (file not found) or warnings (a file is used more than once in the journal, and is therefore only saved once to the timestamped directory) are encountered, a log is created and placed in the timestamped folder. Otherwise, no log is created.
  6. Copies the Journal (with local file references) into the timestamped folder.
  7. If applicable, alerts the user to errors, and opens the log.
  8. Opens the timestamped folder in an Explorer (Windows) or Finder (Mac) window.

Assuming that all file links in the original journal are operational, the sharing user needs only to zip the contents of the folder and share the compressed file as desired. Once a recipient unzips the file into the folder of his or her choice, the journal will work as it did before, as long as it and its supporting files are contained in the same directory.

Another use: the packager add-in can also be used to quickly check whether all file links in a given journal are unbroken:

  1. Run the journal packager.
  2. If no log is created, or if a log is created, but contains only "file already exists" warnings, all of the links in the journal are unbroken. Otherwise, there is at least one broken link.
  3. Delete the timestamped directory and its contents, if desired.

Note: In the event the original journal references two or more different files of the same name, stored in different directories, only the file whose complete path occurs first alphabetically will be saved to the destination directory. For most users, this will not be an issue.

UPDATE: This version fixes the issue in Windows pertaining to log windows.

Comments
stablehills87

Should this add in work on a Mac?

I can't get the add in to work on my mac.

Is it operator error on my part or does it only work on Windows?

   

markschahl

Brady^2:

 

Awesome! I've created many demos and JMP classes and was looking for a better way to distribute the journal + all the files. Worked as advertised. Thanks!

Article Labels