Welcome to the JMP Development Update for September 1, 2023!
With JMP 17.2 work largely finished, JMP development continues to focus on wrapping up remaining JMP 18 Late Features, triaging and fixing bugs. With EA5 now available to customers, we are beginning to receive telemetry, problem reports and crash cases from those customers. Just a reminder that JMP 18 EA6 is planned to freeze on 10/3/23.
On a related note, thanks to Tonya Mauldin for sharing this week’s Beta/Crash tracks for this week with crashes selected!

JMP Beta Report for the week of 9/1/23 | JMP Live (sas.com)
I wanted to share an early heads-up that JMP development and product managers are evaluating a proposal to create the JMP 19 feature branch at the start of Code Review Mode (11/8/23) rather than wait till JMP Code Freeze (12/20/23). Recently hired developers who do not have much JMP 18 work and existing JMP developers who have largely wrapped up their projects would like the opportunity to move on to JMP 19 projects sooner and push fixes that are not destined for JMP 18.0 into another track.
If this proposal is accepted, this would mean Perforce-based desktop JMP auto-integration projects that move source code and test ware from main à 18 would be turned off at the start of Code Review mode and auto-integration of those deliverables from main à 19 would be turned on. New JMP 19 nightly builds, installers, and continuous integration projects would be available soon after 19 branch creation and developers who have been working on JMP 19 projects in shelves would be free to push their changes into main.
After this branch event, any fixes made in main that need to ship with JMP 18.0 would have to be integrated from 19.0 back to 18.0. This would mean extra weeks where developers would need to do integrations, but the upside would be having another feature branch with builds/installers available for testing late fixes prior to moving them into the next shipping version (18.0). After further discussion with testing this week, it seems it would be best to continue to create the 18.1 branch at Code Freeze as we typically do. Developers could indicate intent to fix a change pushed to 19 with Planned Version 18.1 and perform the integration at a later date (or shelve a fix to push when the 18.1 branch opens). Please feel free to send me any comments you may have on this proposal currently under consideration.
Thanks very much to our last two summer student presenters Rebecca Chang and Parker Kasiewicz for sharing their work at the JMP Dev meeting yesterday! If you missed attending the meeting live, you can find the recording link in the meeting invitation and it’s also here in Sharepoint.
It was fantastic to learn more about the expansion of our HTML5 testing suite in Rebecca’s talk. I also appreciated that she shared her thoughts about the learning curve for the web-focused tools she used (Cucumber, Gherkin, Selenium) for test construction and programming. Although not the focus of yesterday’s meeting, it’s worth noting that JMP’s system testing team also leverages a tool called Sikuli in an internal automation framework that mimics interactive actions on the desktop.
I thought that Parker’s demo connecting JMP to GPT4 was very thought-provoking too. His project has the potential to tie into various JMP resources in the future and help users find answers to their questions faster. Especially when considered together with other exciting summer student projects focused in related areas, like Sohail’s machine translation model trained on JMP-specific terminology and translations, the possibilities are exciting!
Finally, thanks to Audrey Shull for sharing this Atlassian Tip of the Week. Both Jira and Confluence functionality can be extended with the addition of add-ons. We have purchased a few already, such as:
- LaTex (Confluence), to help making adding mathematical equations, units, expressions and representations of formulas into your Confluence pages. (Let Audrey know if you’re using this one!)
- Foxly (Jira), for prioritization of stories and collaboration between Product Management and Developers
- Table Filter & Charts (Confluence), a very useful table filtering mechanism.
- Smart Checklists (Jira), an option to create to-do items or subtasks, without the overhead of an actual Subtask item in Jira
- Balsamiq Wireframes (Jira), for creating diagrams and wireframes
- LucidCharts (Confluence), for creating workflow diagrams
- Whiteboards (Confluence beta), for creating stickie notes and drawings.
- Atlassian Intelligence (beta for both Jira and Confluence), an add-in allowing you to get help creating filters or even creating content.
Audrey plans to highlight each of these in a future Tip of the Week. For now, if something catches your eye, please explore it! Let us know if you find one of these add-ons particularly useful. We entertain ideas for additional add-ons, too, though suggestions for future should have widespread appeal to be considered.
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 and JMP Clinical 18 EA6 – 10/3/23
- JMP 18 Sample Data Freeze – 10/18/23
- JMP 18 Code Review – 11/08/2023
- JMP 18 and JMP Clinical 18 EA7 – 12/8/23
- Please visit Confluence for a full list of JMP 17 and JMP 18 dates.
JMP Development Updates
Technical Support and Engagement
- It’s been a very busy week for Support. Working with R&D and Product Management, we are trying to establish support policies for possible hosting support (for JMP Live). TS is working with the Salesforce team to build RPS webforms. We are working with SAS TS to determine best practices for handling customer issues being reported into their new case management tool. Also, I’m working with Aaron Kennedy’s team to replace a Submit a Problem webform. Wendy (and others) has been involved in the interview process for her open requisition. And, we still handle all of our customer cases with several engineers away from the office! 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. Below is the weekly track/case counts plot, and a treemap showing case topics for our Engagement team.


Development Operations
- Jim: Worked with Audrey to remove Clinical UT scripts from the regular daily runs on all testing machines. Collaborated with Michael Hecht on JMP-10455 to allow multiple JMP products on a single Mac. Reported new ASSERT Jira tickets for JMP 18.0, verified bug fixes for multiple assertion failures, leaks and address sanitizer crashes. Perforce support.
- Melanie: Investigating PDF production with an eye to simplifying the processes. Investigating the possibility/desirability/ROI of automating documentation final production checks. Troubleshooting problems with Japanese help production.
- Bob: Final EA5 files loaded to My JMP, along with updated Torch addin. Preparation for 17.2 through SAS processing. Met on topic of future escrow of JMP code. Work on documenting MyJMP steps for uploading files.
- Myron: Working on the new JiraBot UI and other maintenance items.
Documentation
- Susan C: Got a new Mac machine from the Glasgow office. Tech support in Glasgow is working with Cary to get it enrolled so I can start using it.Retook animated gifs for the Quick Start using LICEcap. Can’t get Jitbit (macro recording tool) to work yet, so creating some text instructions for localization to try. Working on some Jiras for HTML5 & 17.2.
- Devon: Updating the Preferences chapter of Using JMP and writing new documentation for Platform Presets and Columns Manager preference pages, more work on Platform Presets chapter of Using JMP, discussing and working on ideas for automating Documentation production tasks.
- Qiana: Worked on the Sample Data deprecation plan. Worked on the communication plan for Boston Housing. Performed project planning.
System/Host Testing-Cary
- Mike M: Working to verify Jiras. Opened new issue for report thumbnail being deleted when a filter is deleted from a Dashboard builder. Added a Sikuli test to test that only 1 Dashboard-wide filter can be active at once. Adding Sikuli tests for a couple of JMP Printing defects that don’t work well with image tests. Adding 17.2 and 18.0 JMP Help JSL capture tests to monitor meta data and publishing activity for our help files. Thanks to Ernest for a great review session for Columns Manager testing – my current highest priority for new tests (Sikuli, JSL and manual).
- Mandy: Worked through data table fixes from Dave White and Workflow fixes by Ernest. Added a few tests where I could, and also sent a workflow fix back with recording and back stepping. Uploaded my powerpoint, zipped Journal File and workflows for Discovery. Thanks to Paul N. for the help finding a flash drive to copy those to for the live presentation. Answered TS tracks/beta questions and reported any issues in JIRA. Organizing workflows from several machines that I use for interactive regression testing.
- Nick H: Working on a number of unit test cleanups and verifications. Added unit tests for Dan’s new <<< Get Where Expr messages; the unit tests span across most if not all supported platforms. Also added unit tests for the new Show Commands() functionality. I worked with Mandy to correct an incorrect behavior with Make Indicator Columns was working after a recent change that David W. made. Lastly, started work on a new possible enhancement to the Unit Test GUI that will display timing information for unit tests – stored locally.
- Hunter: JIRA verifications, installed and tested JMP with Sonoma 14.0 Dev. Beta 7 on the host testing Macs in the lab, worked on several projects related issues, and met with Aaron to discuss a crash saving a project file to OneDrive.
- Audrey: Thinking about streamlining the final installer validation process. Considering possible impacts of early branching on testing. Jira admin work, testing superBaseline changes, and offboarding for interns.
Web Testing-Cary
- Josh L: Focus has been on testing Jira bugs and stories for the last week. I am testing all aspects of JMP Live due to the number of items we have in test-ready status.
- Beijing / Cary Live and HTML5 Jira Status
116 – Test Ready
6 – Testing
15 – Jira bugs created in the last 7 days
74 – Jira items closed in the last 7 days. (124 closed in the last 2 weeks)
System/Host Testing-Beijing
- Beijing Team:
- Eric(Nai) Wang: (1) Testing new feature “folder level access”. Complete testing protections against improper folder level access (WEBJMP-7344). Test new GraphQL query ‘eligiblePotentialMembers’ (WEBJMP-7344). Test a scenario that removing all access from a folder (WEBJMP-7149). Verify bug WEBJMP-7292. Add jest tests from above stories and bugs.
- Da Li: (1) TS 00051138 investigation and create bug JMP-18135: MFI settings dialog tool tip has double \\ where single \ should appear. (2) Prepare to start JMP Live 18.0 Scenario-based Testing. (3) Verify bugs. (4) JMPC reports which are published to JMP Live validation automation trying and writing using Playwright.
- Nan Wu: (1) JMP 18.0 3rd party software testing for ODBC drivers on both Windows and Mac, the Mac testing passed with latest Actual ODBC driver of 5.1.8, while the Windows ODBC drivers testing met some mysterious quit issue when running the Query Builder unit tests with some specific running sequences, the issue seems not to be related to the new ODBC drivers as using the old drivers can also reproduce this issue (suspect the issue has a big chance to be related to at least 2 test files: /SQL/testODBCIncludeQuery.jsl and /SQL/testQueryBuilderDefects.jsl), still investigating, hope to minimize the repro steps and then open a bug for this quit issue (JMPTESTBJ-1799). (2) JMP 18.0 EA 5 testing done
- Kimi(Yu) Wang: (1) JMP 18.0 NF – Python – In progress. (JMP-18156: remove the jmp.utils package and make it a jmp.log package with a write() and a flush() ) - Done. Extend more test cases of the previous features. Write UT scripts. (2) JMP 18.0 EA5 Testing for mac – Done. (3) Tech Support: Case Number 00051244. JMP-18137: CRP: Cannot list and uninstall python modules successfully. (4) Bug verification.
- Da Zhang: (1) Bug verification. (2) Getting familiar with Eric Wang’s responsibilities (JMP Live E2E tests). (3) Working with Da Li on researching how to automate JMPC reports published to JMP Live.
- Nala: (1) Prepare scenario-based testing. (2) Bug verification.
Data Discovery
- David Barbour: Fixing a crash caused by reentrancy during hover label script, added the ability for GPicture to save as pdf on Windows (already supported on the mac), and fixed a couple of image testing problems (Paul S noticed html images were sometimes skipped with test builds and .dmp files were not always copied to the network).
- Dan S: Continuing to work on robust dispatch for Presets and similar features. Changes in Dashboard Builder to prevent bad filter layouts. Fixed App Builder issue that produced bad scripts depending on Current Data Table. Discussions on Box visual styling.
- Morgan: triaging Jira bugs and assessing which are still present in the project, and preparing for my JMP Notebook presentation on Thursday.
- Xan: Hover label work for overlaid Profiler interaction curves – now clickable.
DOE
- Peng: Finished and handed over a draft for the documentation of the Fatigue Model platform. Fixing newly surfaced issues due to my recent work. Continue doing research with Bill.
- Caleb: Continued work on addressing bugs and preparing my dev talk for next week.
Host
- Paul Nelson:
- Presentation with Sam Gardner to Novozymes on the Python integration.
- Added save( path=’filepath’ ) and close( save=True | False ) methods to the Python data table object. The arguments are optional, so .save(), and .save(‘i_am_some_file_location’) are both valid as is .save(path=’ i_am_some_file_location’). For .close(), the default is to save the table. The parameter is save instead of NoSave. For temporary files not wanting to be saved, .close(False) seem correct, and more natural.
- Fixing list check handling, and bugs introduced by the initial list check attempt: JMP-18138, JMP-18154, JMP-18155, JMP-18156. Additional sample script and documentation work.
- Product Security: Synk training and working with Travis to get version numbers of our open-source components for customer request.
- Michael H: Fixed a text focus bug in the Mac Data Filter floating palette. Participated in Visual Styling team led by Bryan Fricke. Preparing for JMP Discovery Summit.
- Daniel P: Salesforce based software authorization is working with JMP on Windows. Next steps are getting Mac up-to-date and then adding in our other products.
Interactive HTML
- John Powell:
- Adopted the new ‘Changing Design’ Jira field (implemented by James Koepfler in JIRAHELP-55) to our Jira project. Looked at Lisa’s telemetry dashboard for performance and Interactive HTML content and suggested ways to improve both. Registered for Discovery Summit Americas Online. Replied to JMP User Community post: Dashboard in JMP Live 17.2 Continuous Local Data Filter Not Interactive. Helped Adrianna Beck with implementation details for creating a REST API to assist with supporting Graphlets on JMP Live(WEBJMP-7458)
- Added Outline titles to Outline containers’ HTML Elements as a data attribute to simplify development of automated interactive testing(JMPHTML-2324). Implemented support for customized font family for TextBox (JMPHTML-2060). Finally, implemented code to detect, render static, and output a message to the log for
- Graphs using custom binning in the Page and Group roles (JMPHTML-2333).
- Graphs using Levels Per Row in the Page role(JMPHTML-2339)
- Paul Spychala: Fixed Fit Group crashing JMP on HTML Export (JMPHTML-2306). Refactored HTML Profiler Export functions to pass in isConditional, to support Conditional Least Squares Profilers inside a FitGroup (JMPHTML-2331]. Fixed a regression on non-REML LS not exporting their Confidence Intervals (JMPHTML-2325). Support OpAsConstant for all Profilers (JMPHTML-2330. Add support for Prediction Intervals for Mixed Models (JMPHTML-2334). Add support for Prediction Intervals for Fit Group.
- Michael Senoyuit: Finished Support pattern fills in Mosaic and started working on fontFamily in tooltips and HoverLabel.
JMP Live
- Michael G: Pushed front-end work for a feature to remove Personally Identifiable Information (PII) from the database when deleting a user. Pushed front-end work for a feature to allow you to delete audit log entries prior to a given date. This helps companies delete any PII from their Audit Log. Lots of JMP Live bug fixing.
- Aurora: Finished up GDPR compliance (apart from merging to main, which seems foolhardy just prior to a 3-day weekend). Also did some bug fixing and polishing on Folder Level Access.
Stat Documentation
- Jacob: Testing a pending change for Easy DOE (updates to the Analyze tab). Testing CSALT Design. Verifying Jira tickets for JMP 18.
- Michael C: Recorded my presentation for Discovery; minor updates to the doc for some 18.0 NFs.
- Hamid: Working on the Mediation example and handling other tasks related to the SEM chapter.
Stat Testing
- Mark: Finishing unit test script for Data Entry step of Easy DOE. Test fundamental changes to Analyze step in Easy DOE with Jacob. Edit test scripts to accommodate changes in Easy DOE for JMP 18.
- Tonya: Testing short run control charts and capability analysis with phases in CCB.
Note from Shannon
Have a great long weekend, all! Hope the cool morning and evening temperatures will continue!
