JSL scripting changes from JMP 13 to JMP 14Hello,
a customer has problems to run their scripts fro version JMP 13 to JMP 14.1. when running their scripts, JMP 14.1 crashes.
the customer wanted to know what were the major changes in JSL.
Platforms:
Table: Join, Update
DOE: Custom Design
Graph: Graph Builder
Analyze: Distribution, Fit Model
It will ease the process of updating the scrips quite a lot if they can get more insight where to focus.
Thanks a lot,
Valerie
Re: JSL scripting changes from JMP 13 to JMP 14If the customer will submit their crash files in a track to JMP TS and send you the track number, Valerie, I'd be glad to look at the crash report myself to see if we have seen the issue before. Dan's right-reporting the problem is the best way for us to be able to check it against our database of known issues and determine if it's a known issue and if it's already been resolved or needs further investigation.Re: JSL scripting changes from JMP 13 to JMP 14In my experience this happens because the scripter was taking advantage of side effect behavior that was never meant to happen. A new version comes out and that behavior goes away when the source code is fixed. Nearly every time I've seen this happen, it has been possible to rewrite the script in the older JMP version so it works in the newer JMP version. Some of the things I'd watch out for:
1) Using Current Data Table() to set the table that's being operated on. The only place I believe it should be used is at the top of a script to create a pointer to the table selected immediately before the script was run.
2) Similarly, not creating a pointer to an object when it is initially instantiated and trying to access it by some other means (like a name).
3) Not scoping locally or with Namespaces, i.e., assuming variables can be freely passed throughout the script and between scripts.
4) Using absolute referencing for report window elements. Relative referencing from an Outline Box with a given name is a bit more robust, but not foolproof.
5) Using hardcoded text strings or number except when absolutely necessary.
Not sure how helpful the documentation will be since it won't tell them what they shouldn't have done. Best to have them send the script to support (with any mock data needed to run it).
Edit: add 5)
Re: JSL scripting changes from JMP 13 to JMP 14Thanks for clarification - makes sense to me 
Re: JSL scripting changes from JMP 13 to JMP 14In terms of 'a document' this page is worth being aware of (especially 'JSL Compatability Notes', where they occur).
Re: JSL scripting changes from JMP 13 to JMP 14@martindemel -- we encourage customers that have scripts that they manage to join the Early Adopter (EA) program. We want them to download the next version of JMP, try out their scripts and provide feedback if things do not work. We generally don't want to accept customer's scripts (just like we don't want their data!). But if they try out their scripts with Beta versions of JMP, we can make a fix and then they can try it out in the next beta version of the software. Or submit a test case of their script with sample data, for example showing the issue.
This is a much more agile way to engage with development as there is 7-8 EA versions in a typical EA cycle with a new version released every month or so once we get going. Much better to report these things in the Beta period as opposed to waiting for 14.1 (and now with us being in 14.2 code approval mode, with today being 14.2 code freeze).
So basically, any fix for this specific issue, whatever it is, will have to wait for JMP 15 (Sept 2019). We do have the JMP 15 EA program open now.
Re: JSL scripting changes from JMP 13 to JMP 14@danielvalente: Wasn't there someday an option for customers with important scripting projects to provide those to development, so they can test against those during the usual compatibility tests (if the customer agrees on providing all what is necessary to run the script)? May I mixed up things?
Re: JSL scripting changes from JMP 13 to JMP 14Thanks, Martin.
Compatibility aside, scripts run in any version of JMP should not crash, even if they were written in a previous version of JMP. One of the best ways that we can identify what’s going on in a specific script however, is if after the customer has crashed JMP, they can submit the crash report and steps to replicate the crash if applicable. Please encourage all customers to submit their crash reports.
You can see just how much our dev ops team is doing with the crash reports to work towards the goal of identifying and fixing as many crashes as possible in each subsequent version of JMP.
Re: JSL scripting changes from JMP 13 to JMP 14In every scripting guide there is a section Compability with what has changed in this version.
Re: JSL scripting changes from JMP 13 to JMP 14I don't know. But is there any document explaining the changes. This is what they want.
Re: JSL scripting changes from JMP 13 to JMP 14Valerie – have they submitted their 14.1 crashes to tech support? If so can you attach the TS tracks?