JMP Add Ins versus Customizing the Tool Bar

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?

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:

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.jslUse 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.

Page 14 of the most recent JMPer Cable covers making Add-inshttp://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.

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.

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.