Subscribe Bookmark RSS Feed

JMP Add Ins versus Customizing the Tool Bar

laural

Community Trekker

Joined:

Jun 23, 2011

I have scripts that I am deploying to a small group. For years, I have added scripts to my toolbar and feel comfortable doing this. I recently read about JMP Add Ins and was wondering if that were a better way to go.

Issues: I find it annoying to reload my scripts in the toolbar every time my hard drive gets replaced. (Too frequent, but not JMP's problem.) It seems that an Add In can accommodate a bunch of scripts.

If I update the add in with a new script, will all the users see the updated Add In or do they need to reload it? If they need to reload, it sounds like the script suite needs to be fairly stable before deploying it to all the users. Will more casual JMP users find it easier to update or load an Add In or to update a tool bar?

Please share your experiences, pros and cons of JMP Add Ins.
6 REPLIES
pmroz

Super User

Joined:

Jun 23, 2011

Hi Laura,

This is the approach that I take. If there’s a better way I’d love to hear about it.

1. I put all of my JSL scripts for an application into a directory on a fileshare that my users have access to. I have a main directory for the application, and then the scripts live inside a directory called "Addin". For example if my application is called ABC_APP, the scripts would be here:

K:\JMP\ABC_App\Addin

2. Create an addin.def file to define your application’s name and location:

id="com.comp.dept.abc_app"
name="ABC Application"
autoload=1
home=" K:\JMP\ABC_Appl\Addin"

For this example the “ID” parameter uses comp for your company abbreviation, and dept for your department abbreviation. The ID parameter is just an arbitrary string; this is the recommended technique to make sure different applications have unique IDs.

3. Launch JMP and open the addin.def file. This will save the addin name and location from session to session.

4. Create a customized menu that points to your addin files. Click on View > Customize > Menus and Toolbars. Within the menu definition you will refer to scripts by their addin ID. Under Action you will have “Run JSL in this file” checked, and “Use add-in home folder” checked. Typical values would be the following:

Run JSL in this file: $ADDIN_HOME(com.comp.dept.abc_app)\My Script.jsl
Use add-in home folder: com.comp.dept.abc_app

5. Copy the customized menu entries from the XML file usercust.jmpcust in the directory C:\Documents and Settings\\Local Settings\Application Data\SAS\JMP\9 to the addin directory K:\JMP\ABC_Appl\Addin. Name the file addin.jmpcust.

6. Create a zip file containing only addin.def and addin.jmpcust. Rename the zip file MyappAddin.jmpaddin


Now all a user needs to do is (one time only):

1. Make sure they have the K drive mapped appropriately

2. Launch JMP 9 and then double click on MyappAddin.jmpaddin

The nice thing about this approach is that you can change your scripts on the fileshare and the next time your users run a menu option the new script will be run.

It sounds somewhat complicated but once you get used to it it’s not that bad. The menu definition system in JMP 9 is very easy to use.
mewing

Community Trekker

Joined:

Jun 23, 2011

Page 14 of the most recent JMPer Cable covers making Add-ins
http://jmp.com/about/newsletters/jmpercable/pdf/27_winter_2011.pdf

The first reply gives some very good instructions, but I think the instructions in the cable may be a little better. I've been following them to the letter to create addins that anyone in my organization can install without having to have any drives mapped out or anything.

One thing I do in addition to the instructions in the Cable is that once I've registered the addin and I'm customizing my menu/toolbars, I hit the 'Change' button at the top and select the addin I'm currently making a menu/toolbar for and it saves the customization to the working folder.

Hope this helps.
mikedriscoll

Community Trekker

Joined:

Jun 23, 2011

I created an add-in similar to how it is described above. Mostly following PMRoz' description, with Mewing's tip at the end for the correct customization setting.

My add-in is a toolbar, a single clickable icon.  When it is installed by clicking on the .jmpaddin file, it gets installed ok, but the toolbar is not enabled by default. The user needs to go in to view->toolbars and enable it manually. Is there way to force it to be enabled?  I have autoload=1 in the .def file.   I have no idea what other setting might be able to force this.

Thanks....

mikedriscoll

Community Trekker

Joined:

Jun 23, 2011

Figured I give it one more shot...  When making a custom toolbar add-in, does anyone know how to make the toolbar enabled by default when a user installs the add-in?  For my add-in it seems to be a coin toss whether users see it enabled by default or have to go in through the view->toolbar menu to enable it.

Thanks.

Jeff_Perkinson

Community Manager

Joined:

Jun 23, 2011

Unfortunately, there's no option in JMP 10 to make the toolbar visible when an add-in is installed.

We'll make sure there is in JMP 11.

Thanks!

-Jeff

-Jeff
mikedriscoll

Community Trekker

Joined:

Jun 23, 2011

Thank you Jeff. I appreciate it.

-Mike