Subscribe Bookmark
mia_stephens

Staff

Joined:

May 28, 2014

Here's how to share your JMP Preferences

Have you ever been in this situation? You’re teaching a class using JMP, and you’d like all of your students to have the same Preferences. For example, you’d like everyone to have large markers and horizontal histograms. Or, perhaps you’d like certain statistics or graphical features to display each time you run an analysis.

To a large extent, you can control the look and feel of JMP by setting Preferences (File > Preferences, or JMP > Preferences on a Mac). You could walk through these changes when you first get started with JMP in your class. But if there are many changes, an alternative is to use a script or an add-in to share your saved Preferences.

Create a Set Preferences Script

You can create a script to set Preferences in a few simple steps.

(1) Open a new script window in JMP (from File > New), and run the following script:

(2) Open the JMP log (under the View or Window menu). This will display all of the Preferences you have set.

(3) Copy these Preferences (starting with the word “Show”) and paste between the parentheses in the script below:

Run the script to make sure you copied and pasted correctly. The beginning of the script should look like this:

And the end should look like this:

Save the script, and share it with your students. When the script is run, all Preferences will be updated to match your settings.

Note: There are a few differences between Windows and Mac OS Preferences. If students are using a mix of PCs and Macs, you may want to create two versions of this script.

Create an Add-In

If you’d like to take this a step further, you can create an add-in using the Add-In Builder (under File > New).

Steps to create add-ins have been detailed in other blog posts, but here are the key points.

Use the General Info tab to name the add-in.

Use the Menu Items tab to create one menu item (for example, “Set Preferences”), and copy and paste the script created above next to Run this JSL. Or, if you saved the script, use the option Run JSL in this file.

Save the add-in, and then share it with your students. When the add-in is opened, it will install a Set Preferences menu item under the Add-Ins menu. When run, all Preferences will be updated to match yours.

Note (added Sept 2016):  These steps only capture general JMP preferences.  To also capture and set platform-specific preferences, use Get Platform Preferences ( ); and Set Platform Preferences ();.

5 Comments
Community Member

Emil Friedman wrote:

Doing it this way will delete the students' preferences. How about adding something to the script so that they can easily return to their original preferences?

Community Member

Teresa Obis wrote:

Very interesting blog, I'm going to use it.

The comment of Emil is also good, so I will keep an eye out for a new version

Community Trekker

Any suggestions for how to script the following:

  1. get the original user preferences
  2. set new preferences.
  3. reset to the old preferences

I ask because there are a lot of us with slightly different settings that are tuned to particular jobs, so no one set of preferences are ultimately "best" for everything.  It would be really handy to have the script load optimal preferences long enough to do an analysis, then reset everything back to the original user preferences.

I am definitely going to use this information as is!  So useful!

Community Manager

@ckerr

 

The best way to handle that is to use the Ignore Platform Preferences() option when calling the platform. That will ensure you get the platform defaults and you can specify the options you want in your platform call.

 

dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
dt << Distribution(
	y( :height ),
	ignore platform preferences( 1 ),
	Normal Quantile Plot(1)
);
Community Trekker

Also good to know.

So then the options would all need to be listed specifically within the platform call (bring in the relevant parameters from executing

get platform preferences("Distribution");

?

Does the 'ignore' only impact the preferences for the single execution of the distribution platform?

 

But this answers a slightly different question than what I was going after.

Is there an option to "ignore preferences (1)" so that a whole script could bring along its own set of fonts, etc. without clobbering / overwriting whatever the user normally has?

 

Thank you for your response!