Welcome to the JMP Development Update for July 26, 2024!
JMP 19 EA2 is now frozen. Please update your feature pages by 9 am on Monday July 29, and have any videos to Mia Stephens by end of the day on Tuesday July 30. After installers are built and vetted by JMP QA teams, we will release them in MyJMP.
If you are planning to work over the weekend, please remember that jmpsrv01 will be getting an OS update from SAS IT on Saturday evening and will be offline for several hours while that work is ongoing. Nick sent out an email yesterday with the details of the revised timeline, now planned to extend from 7 pm-midnight EST. Please note that all Jenkins builds will be held until Saturday at midnight.
Thanks very much to our JMP summer interns who presented at two JMP Dev sessions this week, and to Audrey Shull who helped host the sessions! If you missed the meetings, you can find the recordings here for round 1 (Michael Lee, Donny Kopp, William Fisher, Bradley Norris, and JR Cobb) and here for round 2 (Reetika Sarkar, Kyra Dalbo, Trevor Rathje, Natalie Neal, and Chang Kim).
We will have two more intern presentation sessions next week. And as a reminder, links to prior JMP Dev recordings can be found here in Confluence.
Also, the SAS Intern expo sessions will be held next week. Our interns will present next Thursday, August 1 from 2-4 pm in the Global Education Center so please come to support them if you can!
Finally, thanks very much to Tonya Mauldin for sharing this week’s beta and crash reports with crashes selected.

JMP Beta and crash report for the week of 7/26/24 | JMP Live
General Announcements
Important Upcoming Dates
- JMP 19 EA2 Code Freeze – 7/26/24 ß TODAY
- JMP 18.1 Security Freeze – 8/9/24
- JMP 18.1 Final Installer Candidates – 8/19/24
- Please visit Confluence for a full list of JMP 18 and JMP 19 dates.
JMP Development Updates
Interactive HTML
- Sam Blashill: I have mostly finished my work on interactive HTML Pie Charts and have created a feature page for the EA2 release.
- John Powell: Continued with the process to seek approval to use the three.js library in our web-based 3D graphics (JMPHTML-13939). Continued working on supporting Scatterplot3D in Interactive HTML (JMPHTML-13491). Attended a call with JMP staff and PG&E to discuss ways to support the display of Time Series Forecast information for multiple series given the limitations of what’s possible in JMP Live 18.1. Met with JMP Live team members to discuss ways to support loading Control Charts from the Process Screening platform’s Interactive HTML content running on JMP Live (JMPHTML-1033). Met with John Sall, Praveena, and Eric to discuss ways to improve the development of a web-based Process browser generated from the Process Screening Platform (JMP-22074). Several discussions with SAS IT to resolve some of the Windows hardware/software issues that began after a monthly SAS update. Added content to a collection of features we want to highlight to EA2 participants(JMP 19 Interactive HTML Improvements).
- Praveena: Added support for one-click sorting in Interactive HTML tables (JMPHTML-13958, JMPHTML-1786). Support to display Notes in tooltips for CCW Triaging (JMPHTML-13956). Process Screening to publish web content to browse processes (JMPHTML-13911). Met with Eric Hill and team to discuss adding support for Process Screening reports on JMP Live. Met with John Sall, John Powell and Eric Hill and discussed the next steps involved in exporting Process Screening reports as Interactive HTML reports. Fixed bug HTLM5 report right click is not working well if extension "Foxy Gestures" is enabled in Firefox.
- Paul Spychala: Working on adding more Profilers this week. Support Embedded Bivariate Spline Profilers in Interactive HTML (JMPHTML-13950). Support Embedded Bivariate Robust Profilers in Interactive HTML (JMPHTML-13948). Support Embedded Bivariate Pass Bablok Profilers in Interactive HTML (JMPHTML-13949). Support Embedded CDF Profilers in Distribution for Interactive HTML (JMPHTML-13672 - note limited fit methods supported at this stage).
- Mike Stickles: Implemented missing work on JMPHTML-13665 (Support Word Clouds for interactive HTML), specifically rendering word clouds in cluster analysis (which required parsing from a different XML location) and synchronizing selections and deselections between multiple word clouds. Updating selections in the term list(s) to match the cloud selection(s) is partially implemented but does not yet work consistently; work on that is ongoing.
JMP Live
- Aurora: Control chart warning improvements. Finished modernizing code. Added support for a list of reports with warnings assigned to current user. Added support for advisory about warnings that are associated with hidden / excluded data. Sorted markers provided to the client. Ran another internal usability study.
Statistics
- John Sall: In Categorical -- Specify Comparison Group dialog now has macro buttons (JMP-22199); fix FDR p-values for spurious same-category 1's (JMP-21789); added option "Totals First" (JMP-22193); Highlight Legend now supports selecting and removing items (JMP-22203). In JSL: "FDR Adjust" builtin function added for adjusting a matrix of p-values (JMP-22255).
- Jianfeng: Working with Annie to support warnings /alarms on model driven multivariate control chart (JMP-20626). The work is about to be completed with a final fine-tune.

- Annie: Worked with Jianfeng as she’s add tests and alarm scripts to MDMCC, and added new handling in the test framework for the multiple Y case. Worked with the JMP Live team on further support for the JMP Live Warnings triage new feature. Fixed several Jira tickets, including JMP-21637, JMP-22152, JMP-21158, JMP-19986, JMP-21653. Met with Bill Woodall and Di Michelson to discuss the paper we’re presenting at the FTC.
- Laura C-S: Fixed a few bugs in MIIV-2SLS and worked on its feature page for EA2. Continued work on polychoric correlations and extended research to include polyserial correlations. Helped answer some questions from a user at UNC re: SEM.
Stat Testing
- Jacob: Testing Categorical. Writing tests for new Highlight Cells feature and verifying tickets in 19. Testing OC Curves. Testing multi-level OML designs in Screening Design. Investigating potential performance issues.
- Haley: Worked on writing some initial tests for the MIIV-2SLS estimator in the SEM platform, as well as the Generate R Code functionality in the SEM platform. Met with James to finish up testing training and met with Laura Castro-Schilo to discuss a few bugs that I caught.
- Tonya: Working on beta feedback, bug verification, and unit test cleanup.
Life Sciences Updates
- Richard: Submitted manuscript “Aggregation of adverse event terms to identify clinically meaningful safety signals” to Drug Safety. Developed a short course proposal for JSM 2025 entitled Data Visualization with Applications to the Life Sciences. Currently trying to identify a Section cosponsor.
- Drew: Continued feature work and bug fixes for JMP Clinical 19 and 18.2. Assist customers with installation, integration, and customization questions.
Product Management and Product Marketing
- Bryan F: Developed splash screens and student version icon for JMP 18. Discussed watermarking reports for student edition. Gave UX feedback on Control Chart warning in JMP Live. Provided input on HTML5 refactoring for JMP Live. Processed PM team feedback on metrics. Coordinating with Alex Taylor to set up JMP Live for external testing.
Technical Support and Engagement
- Duane: Busy week with the Company Update and the Summer Soiree, but cases are constant. Additionally, Support participated in meetings to improve My JMP functionality and Store changes/improvements.
- Here are the TS JMP Live reports and the link to the Jira filter showing the tickets reported by TS for the last 14 days.
Technical Support Case Volume by week:

Engagement Support Case Volume by week:

Case Topics for Engagement queue, total:

Case Topics for Engagement queue, last week:

Development Operations
- Melanie: Talked about managing release dates with Audrey. Played with adding EA dates to her data table; looked at ways to consolidate and organize release/branch work. Compared output from test Stringbot job in AWS to equivalent output from production Stringbot (mostly looks pretty good). Evaluated Stringbot bugs for work after migration is finished. Compiled information on unit test jobs. Completed the STIPS course Decision Making with Data.
- Myron: Working on stringbot on AWS (JMPTOOL-1183 and related) and various telemetry and Jirabot maintenance (removing data for performance, removing invalid entries - JMPTOOL-1278 and related) and looking into some crash updates for attachments (JMPTOOL-1048).
- Jim: Integrations into JMP 18.1 for Clinical. Verified multiple ASAN fixes in JMP 19.0. Test built a JMP Student Edition installer on mac OS. Branched EA #1 source into EAArchive ahead of this weekend’s EA #2 branch creation and builds. Multiple UT machine OS upgrades.
- Bob: Working on creation of installer-only windows build machine. Preparation for JMP Student Edition 18.0.2. Preparation for JMP 19 EA2. Testing new version of InstallShield software.
- Shannon: Meetings on Student Edition and other ongoing releases and projects. Working on Discovery poster giving an overview of crash and telemetry report systems and how customers can contribute data to help us improve JMP. Discussions about Perforce storage and stored data tables with various people. Reviewed telemetry data to identify subsets to remove.
- Nick R:
- JMPSI and Perforce server maintenance work done: Our Perforce server was worked on this week to move a large area of the repo over to a secondary drive so that we could essentially double our server space. Before this week we were down to ~100Gb of free space on our Perforce server, but after the changes and reconfiguration this week we now have roughly 2Tb of available free space, with an additional 1.5Tb ready if needed for future expansion.
- JMP-Phoenix Jenkins server was upgraded to version 2.452.3, and all installed Jenkins plugins were updated to their latest releases.
Localization
- Allison: Finalized and validated JMPLive Public and SharedTextInsets translations and handed them over to Beijing team to create localized fm files; validated JA localized pdfs of 18.0 JMP Documentation and signaled QA for verification; met with JMP Clinical team to discuss providing localization support and using memoQ as the translation tool; responded to queries related to localizing JMP Documentation from translation teams.
- Sandy: Continuing work on file comparison program that validates file population for all projects as we get it ready for production validation of files. Continuing work on source code populate job changes to automate copy of source files to stage area. Worked on validating new version of project creation dashboard.
- Krzysztof: Processing 18.0 and JMPLive Public 18.1 book translations. Testing new automation and validation jobs and scripts. Meeting with JMP Clinical staff to demo memoQweb process for translating Clinical to Simplified Chinese.
- Sohail: Continued work on optimizing speed of TM Search interface and continued adding new features. Currently working on multi-lingual search implementation.
- Howard: Migrated Dashboard dB build to main. Conducted Functional testing for new Dashboard.
Documentation
- Khawar: Took the SAS Programming Fundamentals Certification Exam (and passed that, yay!). Discussed Oxygen migration with Chris and started reviewing DJ. Finished two HTML courses and started learning some CSS. Working on my end-of-summer JMP intern presentation.
- Susan C: Worked on creating and planning the tasks for our 19.0 Jiras. Sent out the 18.1 Release Notes for review and implementing some feedback on that.
- ChrisB: Reviewed Release Notes. Fixed errors in the 18.0 help and pushed again. Corrected the 18.0 help build script. Reviewed styles in our PDFs.
System/Host Testing-Cary
- Mandy: Worked on a lot of things going on with the Data Table, New Table Grid and the prototype that Evan created to try out changes to the left side of the data table. Worked on TS tracks that came in, filing JIRA’s where needed – some repeating suggestions. Worked on a Virtual Join crash from Karen Copeland early in the week and developer(David White) just noted in the JIRA he was able to replicate the crash – which is fabulous! Worked with 2 SE’s reviewing their Discovery paper, with Workflow builder. Spoke to a group of students Wednesday involved in the SAS Reach program here at SAS – discussing what my job was and guiding them in STEM choices and what to pursue if they want to follow a technical path – great opportunity and great young men and women that seem interested in learning.
- Nick H: Worked on several beta tracks that came in from 19 EA 1, filing Jiras for a few customer suggestions for early new features. Found a bug where a List Box with icons shrinks when <<Set Context Menu script is called on change selection. Worked a couple bug and new feature verifications. Continuing work on Discovery paper as well.
- Hunter: More testing of authorization items for Daniel. Worked with Jim and Daniel trying to resolve why a CL item did not make the nightly build that was ultimately due to an autointegration problem on Thursday night. Investigated one crash and one performance problem with two different baseline tests. Responded to feedback from a JMP 19 EA 1 user and opened a feature request JIRA item. Started reviewing localized PDFs for Allison.
- Mike M: New Sikuli test for Dashboard Builder filter bug. Updates to several Sikuli tests for JMP 19 data table panel changes. EA1 feedback and minor Jira opened. Keeping up with image tests to discover several regressions.
Web Testing – Cary
- Anna: Testing Marketplace Add-Ins. Reviewing changes to HTML5 UI implemented by Praveena and Bryan Fricke. RUThere testing of new HTML5 Pie chart implemented by Sam Blashill. Investigating HTML5 regressions caused by Xan’s changes for charts w/no column assigned to Y role uncovered during Pie chart testing.
- Natalie: Continued with HTML5 automation updates for the V19 report UI changes. Our passing test numbers are improving. With the UI becoming more stable, I am able to update our image testcases now, so I am continuing on with these.
System/Host Testing-Beijing
Core
- Parker: Working on better visibility for map zoom in/out buttons. Almost done, but I need to resolve today’s image diff bug by end of summer internship.
- Dan S: Lots of bug fixes for Tab Pages related to display styles (combo, outline, minimize size) - thanks to Adnane for lots of testing work! 18.2 fix for removing data filter from a Fit Group. Fix for Data Filters in Dashboards (thanks Trevor for reporting). Working on refactoring of platform launch methods.
- Dave B: Worked with tech support on a couple of different issues that have come up. Fixed mfi button enabled state. Started the image tests for 18.2.0.
- Morgan: Commenting/uncommenting via shortcut in Python now works correctly. Notebook embedded log near-ready, will be in EA3.
- Xan: More work on monotonic and min/max constraints for p-spline smoothers.
DOE and Reliability
- Caleb: Working on adding the simulator feature from the old ALT platform into the new CSALT platform. Preparing a tutorial for the RAMS conference in January.
- Irene: Investigated some Jira tickets, revised MEMOCODE paper, and running some simulations.
Hosting and Interfaces
- Will Morgan: Various bug fixes for the S3 connector: JMP-22342, JMP-22274, JMP-22247, JMP-22215. Passed my SAS Base Programming certification exam! SharePoint Data connector: API permissions have been granted by SAS IT, so now I am looking into setting up the API calls to get the correct data in a reasonable amount of time.
- John Schroedl: More progress on the ability to upload usability study results directly to our telemetry server. A test server is running and I supplied JSL to Jacob and Mark to incorporate into their study add-in. We also have code to retrieve results once studies are submitted. I anticipate updating the production server soon. Added the PID to our crash filenames to help JMP Live diagnose issues.
- Paul N: JMP-19459 – Add ‘Version Added’ to Python category items in the Scripting index. JMP-20584 – Python script inside of a project cannot find other files in project. Added both JSL and a jmp.Project object. A jmp.JMPPRJ constant, give the disk path of the project’s temporary directory, so it can be used in regular file open type commands jmp.open( jmp.JMPPRJ + ‘filename’). The jmp.Project object supports is_extracted(‘filename’), extract(‘filename’), extract_all(), contents(), name(), exists(‘filename’). The jmp.Project.contents property returns a Python list populated with the files in the project. Corresponding JSL adds << Get Temp Dir(), << is Extracted(“filename”), << Extract(“Filename”), << contents() and << Extract All().
Note from Shannon
Thanks to SE Lovy Singh for sharing this hilarious comic! Hope you all have a great weekend! :smiling_face_with_smiling_eyes:
