
Welcome to the JMP Development Update for August 27, 2021!
Congratulations go out again this week to new patent holders on the JMP team! A patent was officially issued this week for work done by Ryan Parker, Clay Barker and Chris Gotwalt entitled Analytic System for Interactive Direct Functional Principal Component Analysis on 2021-08-24 (U.S. Patent No. 11,100,395).
This week, SAS released full installers for our JMP 16.1 family of products. JMP 16.1 updaters have been available for JMP and JMP Pro for about a month and we continue to receive bug reports and crashes from early users of 16.1. Thanks very much for all your help investigating and resolving these CRP bugs for 16.2 and 17!
JMP 17 EA2 is also in use by customers, with our third EA planned to be built to match the evening build on October 1. Please feel free to specify the JMP 17 EA3 value in the Jira Sprint field for items you’re working on for this next release.
A reminder to internal users-when you submit crash reports, please uncheck the anonymous box and provide your email so we can follow up with you about your crash issue. Internal users provide some of the best clues and follow-up to help us replicate and solve mystery crashes early in development. Internal Windows builds now also capture the JSL log with the crash report. This feature was recently added by Evan and John Schroedl and has already proven to be helpful in developing crash test cases. This week Myron updated the crash processing system to send the JSL log to in the Attachments section of crash tracks submitted from internal Windows builds of JMP 17 (when available). An available log attachment will also be shown on the crash details page.
Thanks to Annie Zangi for presenting on the new Laney P’ and U’ control charts that she has been developing for JMP 17 at this week’s JMP Dev meeting! You can find a recording of her presentation in the dev meeting stream or view a downloaded copy here. Annie used some very interesting data on microplastics in water and mollusks that she had a hand in collecting earlier this summer to illustrate the advantages of these new chart types.
Thanks to Tonya for sharing this week’s details about Beta/Crash/Telemetry tracks with crashes selected (Beta/Crash/Telemetry tracks for the week of 8/27/2021 | JMP Live (sas.com).
Company

Product Release

Topic

Subtopic

Platform

JIRA

General Announcements
- If you’re willing to be a featured employee on Inside JMP, please download a copy of the Get to Know form. Simply fill out the questions and when you’re done, upload it, along with 3 photos of you to the folder. Thank you for helping to make our JMP family a little more familiar!
Important Upcoming Dates
- JMP 17.0 EA3 – 10/1/21
- JMP 17.0 EA4 – 11/5/21
- Please visit Confluence for a full list of JMP 16 and JMP 17 dates.
JMP Development Updates
Data Discovery

- Evan: Demos and discussions on search bar. Working with John Schroedl on some touch screen issues. Added notifyStream automatic flushing. Improved performance of broadcasting numeric functions across matrices and lists. Helping with Window Handler issues related to doc screenshots. Looking into restoring previously deprecated and removed Dialog function. Improving EvalContext ownership patterns.
- David W: Added Semantic Formats, a way for users to customize number formats in reports based on context. (See Feature Page here.) They can be edited via preferences, JSL, and also via the format dialog on NumColDisplays and MatrixDisplays. A major goal of this feature is to allow users to customize report formats (especially the number of decimals) without having to set the format again each time the same report is created.
- Dave B: Fixed text annotation sizing problems, fixed problems with text annotation styles, and fixed journaling problem with x, y, and z markers.
- Dan S: Added Fit-To-Window option for CCB for improved dashboard layout. Update to write out colors names ("Black") rather than numbers (0) when possible. New names added for some common colors like JColorText ("Text") that can appear in scripts (AppBuilder, Preferences) or Journals. Fixed legend offset bug in Contour Plot in a Project. Data Filter work for JMP Clinical. Fix for graphlets related to recent Graph Builder changes.
DOE
- Brad: Working with Joseph Morgan and Mark Bailey on UI issues in EZDOE.
Host
- John Schroedl: More work on search tool. Investigated popup menu issue on touch screen devices. 16.2 and 17.0 static analyzer fixes. Helped a number of people with Visual Studio issues.
- Michael H: Created a workaround for a crash found in the latest macOS Monterey beta. We think this is an Apple bug and hope they will fix it in the next beta. But at least we have a workaround (for 17 and 16.2) if they don’t. Changed the minimum macOS version for JMP 17 to Catalina, dropping support for Mojave. Worked on Windows static analyzer warnings.
- Paul N: Working on building Activation on AWS, using AWS’s serverless architecture using API Gateway and AWS Lambda to talk to a DEV copy of the Activation database residing in Amazon RDS (MySQL) database.
- Paul T: Fixed a few OSIPI defects Da Li opened (fixed button alignment, use of start/end time default values when blanked out by user) and also implemented some of his suggestions – added help buttons and server validation. For Query Builder, fixed a minor defect related to saving the script to a non-fully-qualified path on macOS. Began review of Data Connectors tasking with the rest of the team involve and made some early commits to a new data connectors branch that contains some of the prototype code.
HTML5
- John Powell: Continued working on implementing support for Parallel Plot in Interactive HTML. (JMPHTML-819).

- Mayowa: Continued working on adding support for ParalleAxisSeg to support implementation of Parallel Plot to interactive HTML (JMPHTML-1175).
- Bryan F: Continued to work on JMPHTML-607: Support Packed Bar charts in HTML5. I now have a working prototype that doesn’t require column data and still supports selection, tooltips, panning, and zooming. Developing segments to work without column data is likely to expedite development, produce content more faithful to JMP, result in better load times, support graphs based on larger data sets, and result in far fewer defects. The likely consequence is the user experience is improved and development and maintenance costs are dramatically reduced.

JMP Live
- Josh M: Pushed code to create a basic data table viewer component (WEBJMP-3664).
- Aurora: Access Control (refactoring, start work on supporting anonymous visitors). Data Posts (improve a query, major peer review). Whitebox testing.
Statistics
- Peng: Continued working on repeated measure degradation platform. Other than that, I provided a couple general solutions to issues that reports are not reproducible from saved scripts, which typically involve Profilers settings, embedded sub-platforms analyses, individual embedded scriptable object settings, and display box settings within embedded sub-platforms. The issues are common across platforms, at lease mine. And the change is generic and outside of individual platforms. The Jira issues are JMP-6481, and JMP-576 . The issues are related but not identical to JMP-2343 for which needed changes are probably within individual platform.
- Laura C-S: Polished my Discovery presentation a bit more, found a couple of bugs and fixed them, and recorded the presentation (I’m super excited to show how SEM can be used for longitudinal modeling!). Continued studying the new SEM numerics code and answered questions from Narayanan at P&G on how to use SEM for factorial invariance tests—he’s using these analyses in his Discovery presentation, which I’m also very excited to see!
- Annie: Continued work on the Label role for CCB. Fixed misc defects in CCB and EWMA Control Charts.
Stat Documentation
- Michael C: Worked with Karen and Colleen to finish up the last SEO-related updates for the stat documentation. Worked with Colleen to remove manual steps from scripts used to create documentation screenshots, using the new With Window Handler() JSL function. Thanks to Evan for adding this useful function to JSL!
- Colleen: Finished up my part of the SEO project. Worked on removing manual steps involving modal dialogs from screen shot scripts (JMPDOC-26), with the help of the with window handler() function (see details in Confluence here). Was able to remove manual steps from 30 scripts so far! String edits.
Stat Testing
- Jeremy: Helped verify and write tests as Jianfeng triages defects in various platforms. Cleaned up unit tests. Tested a shelf for wavelet basis models in FDE. We are getting fast, high quality fits for a variety of chemical spectra in the benchmarks I collected, so the results are very encouraging. Bill, Mark and I had a poster accepted at a chemometrics conference (SciX). It is on the analysis of chemical spectra in JMP. I will be presenting virtually. Reviewed a paper for the Journal of Cheminformatics on using genetic algorithms to generate benchmarking data sets for quantum mechanics ML models.
- Tonya: Testing limit detection in distribution, sample label in CCB, and Type 1 Gauge in MSA. Cleaning up unit tests due to recent Negative Binomial changes and pen color changes.
- Mark: Continue to support DOE team, especially EasyDOE with Jacob. Developing unit tests for Profiler in Bivariate and learning JSL Hamcrest matchers along the way.
Life Sciences Updates
- John Cromer: Fixed a JMP Clinical 8.1 customer reported issue to make Findings Time Trends interactive in JMP Live 16. Updated JMP Clinical 17.0 to simplify the Review Subject Filter UI, track treatment control levels and treatment start/end date variables in preferences and study classes and allow for silent initialization of all study-level preferences. Designing study classes to track and utilize internal derived variables.
Technical Support
- Duane: TS is in the process of reviewing the existing tools and applications we have been utilizing as part of the Tech Support Division. As we transition to the JMP Division, we will be moving off these. Along with this, we continue to work on customer issues/concerns. Here are the TS JMP Live reports and here is information regarding Jira tickets opened by TS.

Development Operations
- Bob: Final steps in 16.1 release for Tuesday ship event. Subscription, student, annual license have all been released. Continued work on SAS R&D process for 16.2 ship event. Work on single file installer processes for 17.0 Windows installers. 16.2 EA creation for Dieter to help customer Bundesdruckerei.
- Jim: Reported ASAN/ASSERT Jira entries; verified LEAKS/ASAN/ASSERT DEFECTS/Jira entries. Perforce support.
- Angelita: Worked on the FM 2020 testing and on the DJ Help project.
Documentation
- Sheila: Added banners to 14.2 Help in all languages that point to the latest Help versions. Created File Exchange pages for Korean, Chinese, and English documentation PDF add-ins. Generated the 17.0 Help. Looked into FrameMaker 2020 issues. Updated doc process Confluence pages.
System/Host Testing-Cary
- Mandy: Keeping up with testing of private data table pushes, table shaper changes, and Tabulate packed columns. Waiting on a fix on scripting to write tests for regressions for Chung Wei. Helping Shannon with data table defects clean up and move to Jira tickets – so many – thank you, Shannon!
- Mike M: Had a busy week with image diffs - growing pains getting the new HTML image technique going (thanks to and David). Still working around noise and ‘random’ crashes earlier in the week. Worked to keep baseline tests fixed as they broke several times this week. Making good progress getting Sikuli tests running on 17.0 (updated fonts, images, axis spacing, etc). Opened 3 Jira issues: 1) App Builder can’t run application with open Control Panel GB report, 2) CombineWindows() saving out incorrect hierarchy info, 3) Need to add couple new Sample Data tables for ‘Marker Statistics’ scripting index entry.
- Lisa G: Tried writing some tests for the hover label editor using window handler and found an issue with the launch in place command as well as a graphlet preset icon. Also verifying and creating image tests for annotation fixes.
- Hunter: Updated the status of several mystery crashes, investigated a copy/paste crash between items in journals in a project, and defect verification.
- Josh L.: Jira Story and Bug testing. Machine maintenance and connection troubleshooting.
Cary / Beijing JMP Live Testing Jira Status
- 7 Stories in Testing
- 32 Stories in Test Ready
- 28 Bug Created in the last 7 days
- 10 Stories / Bugs Closed in the last 7 days
System/Host Testing-Beijing
- Eric Wang: Tested JMP Live Jira items under components: Data-Server and Group-Server. Updated JMP Live E2E tests (//depot/main/test/JSL/tests/WebJMP/EndToEnd/):
- separated 'GraphQL.jsl' into multiple files
- added more public functions
- added a sample test
- Wrote an introduction here in Confluence: JMP Live End to End Testing
- Learning Microsoft Azure and trying to deploy JMP Live server on Azure
- Da Li: (1) Testing OSI PI Import and entered 6 new bugs. (2) Investigated JSL JSON import performance issue, JMP-6488. (3) Tested JMP Live Jira items about dark mode WEBJMP-3425 and Optimization options. (4) Testing JMP Live new feature "Download as project“ WEBJMP-3530 . (5) Investigated and fixed JSL unit tests failures in Beijing team's JSL framework. (6) Create two new confluence pages to record UT failures running Beijing machines and Azure environment. (7) Added two new "How to" pages: Setup+a+simple+website+using+windows+IIS and How to check Confluence page history/What has been changed/Resolved comments.
- Mike Wu: (1) Updated ODBC/Query Builder unit tests to run them on MacOS. (2) Executed monthly check of JMP Clinical 8.1 Hotfix BRDSTG-3066 (3) Investigated TS reports 7613397919. (4) Added new confluence page How+to+configure+JMP+ODBC+connection+on+Mac
- Kimi: (1) Updated Formula Depot - ODBC related unit tests to run them on MacOS. (2) Go through the defects/bugs of Python Interface. Discuss with Paul about the strategy of Python Interface testing. (3) Testing the support for Anaconda3-2020.02 (3.7.6).
- Nala: (1) Tested JMP Live Jira items about Manage Data page WEBJMP-3588, optimization options in JMP Publish WEBJMP-3526 . (2) Investigated and resolved some problems in the migration from openstack to Azure. To silent install JMP 17 we need to record the response file using the build later than 2021.08.18 because the it has been updated now. Before making image of Azure VM, we need to generalize the VM firstly. Be sure that your configurations on the VM do not have any user related configurations.