Welcome to the JMP Development Update for August 4, 2023!
Important JMP Telemetry Related Reminders: If you are an internal JMP user, please follow the instructions here in Confluence to identify yourself as an employee for the purposes of telemetry data collection. This helps us differentiate your usage data from customer data. Also, if you happen to be perusing the telemetry data (perhaps with Evan’s helpful Telemetry Explorer add-in) and notice that an area of JMP is NOT currently instrumented for telemetry (but should be), please enter a new Jira story under the Telemetry – Instrumentation component and assign it to the appropriate developer. Please contact Shannon Conners or Sarah Sylvestre if you have questions or need help identifying the right person to assign the item to!
We are about a week away from our JMP 18 EA5 freeze. Thanks for all the recent JMP 18 feature page updates! Also, if you have feature items in the JMP 18 track that you’re still working on wrapping up, please remember to add a section to the JMP 18 Late Features page. This helps downstream teams to understand the impact of ongoing projects as we continue on towards our JMP 18.0 Code Freeze.
Installer validation work is continuing for JMP 17.2, JMP Pro 17.2 and JMP Clinical 17.2. Thanks to Josh LoPresti and Nala Sun for sharing news that their teams have completed installer validation work for the JMP Live 17.2 maintenance release! Customers will surely appreciate the latest round of fixes provided in 17.2.
This week we say a fond farewell to many of our JMP summer interns. It was wonderful to have so many interns working in different parts of JMP this year, exposing many more JMP teams to the energy and enthusiasm that an intern can bring to a project! It’s been so inspiring to watch the JMP dev intern talks over the past couple weeks. (By the way, this week’s recordings can be found here and here.)
It was also so nice to meet many of our interns in person in the education center on Wednesday at the Intern Expo. Big thanks to JMP and SAS interns who came from far and near to present their posters, and thanks also to the many JMP team members who came to support them! The posters certainly were busy for the whole two-hour period, so regretfully I was not able to talk to everyone in person. The session also proved to be a nice opportunity to catch up with local and remote colleagues.
Thanks very much to Tonya Mauldin for sharing this week’s beta/crash tracks (with crashes selected).

Beta/Crash report for the week of 8/4/23 | JMP Live (sas.com)
I am happy to share this week’s Jira tip of the week! I noticed for the first time today that the little “eye” icon for adding a watcher was present on the Create screen for a new Jira issue I was entering. I asked around in the Jira admin group because this was news to me, and the consensus is that this seems to have been rolled out rather recently. Us Jira admins are all very excited to have this new feature. Not being able to add watchers during issue creation was one of the missing pieces we noticed in the transition from Defects to Jira. Now, we can use this icon to notify more people about a new issue when we enter it. Previously, only the component default Assignee would get this notice.
Admittedly, this is not quite as nice as having all names in default support roles automatically notified upon issue creation like Defects did, but it’s probably the closest we will get given the limited component framework that Jira provides. Of course, we supplement Jira’s minimalistic component support by having a JiraBot process that looks up and populates names into default roles when a new item is entered. That step happens after issue creation, however, and does not currently modify the watcher list. So now you know how to add watchers on a new item as you enter it! And of course, you can always look for the eye icon in any existing issue to add yourself or someone else as a watcher.

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 18 EA5 and JMP Clinical EA3 – 8/11/23
- JMP 18 EA6 and JMP Clinical EA4 – 10/3/23
- JMP 18 EA7 and JMP Clinical EA5 – 12/8/23
- Please visit Confluence for a full list of JMP 17 and JMP 18 dates.
JMP Development Updates
Interns
- Irene Ji: Drafting a paper on Bayesian fault localization, exploring new ideas such as using sequential design approach to explore untested input combinations and starting to read some literature on failure region construction. Wrote a summary for the work I’ve done in my internship.
- Sohail Lokhandwala: Presented my intern expo poster and my JMP virtual presentation. Made excellent connections with other interns and employees and am excited to continue my work for the rest of the school year!
Data Discovery
- Julian: “Platform Templates” are being renamed to “Platform Presets” to better align the mental model of the feature to its functionality. We will be working with various groups to ensure an orderly change.
- Dave B: Reviewing and fixing some minor jiras, worked with an SE to improve printing of a dashboard report a customer had, finished the change so that TabBox can be used to hold context information just like an Outline box, dealt with some disk space issues with the image tests.
- Dan S: Fixed issue with Column Switcher in KNN. Fixed problem with data filter when no rows are matching. Platform Presets - support for Type 1 Gauge and KNN subobjects, updates to the popup menu to restructure based on user testing.
- Ernest: Fix table compare of table scripts to compare strings to match the differencing. Cleaning up Platform Preset feature. More responsive threading of Header Stats.
- Evan: Helping with some Python integration (embedded log, error reporting, etc). Planning Platform Presets changes in response to usability study findings.
- Xan: Profiler and general GStream curve smoothing. makeBezierCurves now supports min and max constraints.
DOE
- Caleb: Putting the finishing touches on the CSALT platform and preparing my Discovery Americas talk. Resubmitted mine and Brad’s paper earlier this week.
- Peng: Fixing newly discovered issues in both reliability and DOE. And continue improving existing work for my JMP 18 development.
Host
- Paul N: Continuing work on Python with significant progress on EA5 goals such as creation of Data Tables and Columns directly from Python and the ability to access and modify rows in a table. With support from Evan, we greatly improved integration with JMP’s log and output now works with the embedded logs. Exploring the possibility of running pip install of Python modules from within JMP using a Python subprocess – this is now working on Mac, and mostly working on Windows. This could eliminate the need to for the user to edit the script for environment variables and paths and keep package install within the JMP environment rather than a terminal / CMD window. Working on strings and documenting existing features. Continuing to enhance error reporting from within Python. Most of what’s left for 18.0 will be cleanup work, appearance improvements, documentation, and sample scripts.
- Aaron: FileSpec API for detecting whether a file is in a given directory subtree (JMP-17747). Setting to allow reading and writing from specified server folders in JMP Live refresh and import scripts (WEBJMP-5695). Publish operations now send both a publish and the corresponding replace script to Workflow Builder, so make it easy to rerun a workflow without creating duplicate content on the JMP Live server (WEBJMP-7188).
- John Schroedl: Added custom code to transcode from EUC-CN (Simplified Chinese) to UTF-8 as the SAS code page needed is not common on Windows; requested by Clinical. Changed the telemetry opt-in UX based on changes from Legal and used different controls for nicer look and feel. Changed file type description of .jmpdoe files from Easy DOE to JMP DOE files as there is wider usage. Fixed About box sizing issue on some server OSes. Investigate hung session on Server 2016.
- Michael H: Worked with John Schroedl to create an EUC-CN charset converter for import of Chinese-language SAS datasets on Windows.
Interactive HTML
JMP Live
- Aurora: Continuing work on folder level access. Small improvements to control chart warning notifications. Investigating intermittent test failures.
Statistics
- Laura C-S: Made a lot of progress on the platform-wide bootstrap in SEM; a new data table that collects all relevant statistics across bootstrapped samples is now outputted when using the new RTM bootstrap option. Remaining work entails summarizing empirical distributions in a report outline box. Created a test build to make sure I haven’t broken anything due to extensive refactoring of the code.
- Kasia: Fixed a crash in the missing values platform, worked on the regularized T2 paper Jeremey and Laura started, and took some time to read up on certain feature documentation.
- Laura L, Annie: Working to add implement phased process capability in Control Chart Builder.
Stat Documentation
- Michael C: Documented some new features in various Fit Model platforms; assisted with string review and consolidation prior to the first string handoff to localization for 18.0; attended intern demos and poster session.
Stat Testing
- Jacob: Testing CSALT Design and working on some utility functions to test the platform. Writing a usability study for Load Design (Easy DOE) for EA5, with Mark, Ryan, and Joseph. Preparing and recording Discovery poster presentation with Mark. Analyzing the results of EA4 usability studies.
- Mark: Incorporating unit tests for all the Factor Plots generated by the covering array runs for the Data Entry tab in Easy DOE. Recorded poster with Jacob and Kirsten for the JMP Discovery Summit America. Answer questions in the JMP Community.
- Tonya: Testing recent spec limit changes in CCB and working on bug verification.
Product Management
- Bryan F: More user data processing for Platform Templates. Created more video highlights from Platform Templates usability testing, presented the video, and had a discussion with a group of people interested in usability testing. Began working on wireframes for a web offering. Planning kickoff for working group related to a visual framework capability. Some conversations with Parker and others about a promptless LLM integration with JMP. Worked with Dieter on some potential JMP Live name changes.
Development Operations
- Melanie: Facilitated decisions about managing text insets for copyright data in the books. Ran stringbot for builtins for first handoff. Investigated and provided information for a variety of Jira bugs. Worked with Nick Ruva to ensure the AWS machine that runs the MIF-PDF jobs turns itself on to run the jobs and off again when they’re finished; updated the documentation on each job page and in Confluence.
- Myron: Worked on modifications and cleanup to JMP telemetry data (JMP-17711, JMP-17780, JMPTOOL-910, JMPTOOL-877, JMPTOOL-888). Updates to JiraBot details (JMPTOOL-912, JMPTOOL-914, JMPTOOL-883, JMPTOOL-897). Working with Melanie on sample data process updates (JMPTOOL-505).
Documentation
- Chris B: Reviewed Devon's oXygen proposal. Got the 17.2 build working again. Am zeroing in on how WebWorks customizations work (which is how the startrelease value is defined). Had a great time meeting Susan in person for the first time (in from Scotland), and saying goodbye (for now) to our intern, Emily.
- Qiana: Started creating the localized DJ Help. Worked on the Documentation Page update and the documentation add-in for JMP 18.0. Performed project planning and coordination.
System/Host Testing-Cary
- Mandy: Investigated a Tables > Compare issue that Ernest was working on related to a compression issue I had last week – tested his fix on Mac and on Windows. Worked on a couple of TS tracks with workflow builder – one was a JIRA issue (JMP-17774) with an overwrite behavior, another was answering a question of how to close a platform window with JSL, and a third involved questions about ISO formats and using format pattern. Wrote tests and verified JIRAs. Reviewed workflow builder document for Karen Copeland and made comments for 18. Working on workflow builder Discovery paper/poster/demo. Attended Intern Expo – they all did a great job!
- Nick H: Timeout columns have been added to the testing dashboard in both the summary table and in user’s results as a separate failure category distinct from crashes. Thanks to Myron for his help with this. I have added unit tests for templates using the currently existing examples to the unit test framework. Along with this is a matcher that can be used for future unit testing. Have also been working through verifications.
- Hunter: Completed JMP 17.2 final installer testing, further investigation and response to one JMP 18 EA 4 Windows host track, JIRA verifications, and feedback on several open JIRA items.
Web testing – Cary
- Josh L: Continued 17.2 JMP Desktop and Live installer testing. Live 17.2 Installer testing is now test complete. The rest of the week I was focused on JMP Live 18.0 Active Directory Sync testing and server maintenance. I also helped out a few of the other testing with issues they were having.
System/Host Testing-Beijing
- Beijing Team:
- JMP 17.2 Installer Testing - JMPTESTBJ-2577 - Done
- JMP Live 17.2 Installer Testing - JMPTESTBJ-2578 - Done
- Eric (Nai) Wang: (1) Completed JMP Live 17.2 Installer testing. (2) Updating JMP Live JSL/E2E tests since recent behavior changes: "Discoverable" property is removed from GraphQL type “space” (JMPTESTBJ-2579), GraphQL API "StartJMPSessionForPackage" is removed (JMPTESTBJ-2580). Updated common functions which relate to "get data". Now the session ticket is not a required parameter, so JMP Live will start a session automatically. Add "stop session" step into common functions which relate to "get data". Now you don't need to call "stop session" function explicitly. Update related tests. (3) Completed JMP 17.2 Installer testing.
- Da Li: (1) DONE: JMP 17.2 installer testing, total 3 bugs entered. (2) Investigate SE bug and provide a simple test.pdf for pdf import wizard issue reproduction (JMP-17627). (3) Nightly run UT failure investigation and create bug JMP-17754: Format Engineering width is not consistent with before when doing text file import. (4) Update Jenkins failure trouble shooting guide Trouble Shooting for Jenkins Failures in Beijing Framework. (5) DONE: JMP Live 17.2 installer testing, 3 new bugs created accordingly. (6) DONE: Feature testing, total 2 bugs created (WEBJMP-2813) (7) Bug Verification.
- Nan Wu: (1) JMP 17.2&18.0 bugs regression testing. (2) JMP 17.2 Install testing completed (JMPTESTBJ-2577). (3) JMP Clinical 8.1 Hotfix Installer Check testing started. (4) JMP Live 17.2 installer testing completed (JMPTESTBJ-2276).
- Kimi (Yu) Wang: (1) Bug Verification. (2) JMP 17.2 Installer testing – Done. (3) JMP 18.0 NF – Python – In progress (JMP-17600, JMP-17599, JMP-17625, JMP-17731, JMP-17733, JMP-17732) (4) Jenkins: Disable JMP and JMP Live Testing for 17.2.
- Da Zhang: (1) JMP Live 17.2 installer testing – DONE. (2) Adding interactive tests for JMP Live 18.0. (3) JMP 17.2 installer testing – DONE. (4) Preparing internal knowledge sharing on Playwright.
- Nala: (1) JMP 17.2 installer validation. (2) JMP Live 17.2 installer testing – DONE
Note from Shannon
This week has been a welcome respite from the heat of July! I hope that trend continues into the weekend…have a great one, all!
P.S. I am definitely NOT feeling this way as I contemplate my daughter Hannah Mae going to college in less than two weeks!