When I first started at JMP, I read a post that suggested storing all my demos in a single folder that I should call "$DEMOS". I think @Jordan_Hiller was the author, but I can't find the source.
Anyway, this advice was great. I save each demo by the name of the topics included in this folder (e.g., "DOE, Functional Data.jrn"). I also use markdown to type notes for most demos, which I save as .JSL files with the same base filename.
On to the tool: I made a simple tool that looks at all the files in the $DEMOS/ folder, and allows quick filtering to and opening of a specific demo. There are some other features, but this is the main focus.
Why it's important: The biggest use is when, during a demo, a customer mentions something unplanned and I know I have presented on it before. I can hit Alt-Ctrl-Shift-D, type keywords, and open the needed demo in just a few seconds. See the GIF below:

What else does it do?
- It will also open the associated notes file for editing, or create HTML from the markdown contained in the notes file.
- For the markdown to work, you have to install the python Markdown library. Instructions to do this are in the comments section at the top of the script.
- The red triangle has some extra tools/options:
- Select a few demos in the list, then choose "Dates for Selected" to see which was most recent. This is useful when I'm making demos and recycling content, but I want to recycle the most current content.
- The Show all files option changes the list to showing everything in the $DEMOS folder. This is useful if I want to open a saved .jmpflow or .jmpdoe file in the $DEMOS folder.
- Show Script Building Blocks changes the list to a list of .JSL files found in the $DEMOS/Scripts/ folder. I save script building blocks with the same naming scheme as demos. For example, if I'm on a call and someone asks how to do a COM port connection (and I know I've done that before), I can switch to the script building blocks, type 'COM' and open an example.
- Open Demo Folder opens the $DEMOS folder.
- Get all Demo Journal Text scrapes all the text from all the journals in the $DEMOS folder, then selects and Hide/Excludes everything that isn't a Text Edit Box. This is useful when I'm preparing a demo, and I know I've made something before that I want to copy, but I can't remember the journal title. This way, I can search and/or subset the table that pops up, and find every time I've mentioned 'Response Screening' in a demo journal (it's 30).
- The 'Archive a copy...' option makes a copy of the journal in the $DEMOS/Archive folder. This is useful when I want to update a journal but keep the old version as well.
- Edit Script edits the script file.
How to use this:
- Save the Demo Library List tool to your $DOCUMENTS/My Scripts/ folder (or save it anywhere and modify line 18 in the script).
- If you haven't already, create a path variable to your demos folder with something like: Set Path Variable ("DEMOS", "$DOCUMENTS/Demos/")
- Use View > Customize > Menus and Toolbars to add a custom command that runs the Demo Library List Tool script where you saved it, and give it a keyboard shortcut. I use Alt-Ctrl-Shift-D.
- To run, just hit the keyboard shortcut, select the text box at the top, and start typing.
I hope others find this useful. I'm also happy to make updates as needed. Please let me know your thoughts.
Jed
Hi @Jed_Campbell ,
This is really useful, I'll be trying this out ASAP!
Thanks,
Ben
This is a great idea, thanks for sharing the script! My DEMOS directory uses subfolders, so I modified:
lstFiles = Files In Directory( demo_location ); //Does not look in subfolders
to:
lstFiles = Files In Directory( demo_location, recursive( 1 ) ); // "recursive(n)" opens files down to the n'th subfolder level.