
Welcome to the JMP Development Update for July 29, 2022!
Thanks very much for your continued support as we run processes for three releases. Testing, doc and L10N teams continue to work to finalize JMP 17.0, and we had a few critical post-freeze source code fixes approved this week. Meanwhile, many developers and testers have moved on to working in the 18.0 track, pushing shelved features and fixes and testing them before integrating to JMP 17.1. For more information about integrating fixes from main to 17.1, please see Jim’s email from Wednesday with information about where to find instructions.
As a reminder, fixes should be tagged with multiple Fix Version/s values if they are intended to be fixed in multiple tracks. Thanks to Audrey Shull for breaking multi-track fix information out from our Jira Workflow Confluence page into its own page so that it’s easier to find. You can read more about the recommended workflow for managing fixes in multiple tracks here in Confluence.
In general, when a developer is planning to fix a problem in two releases, they will typically submit the fix to main and wait for verification before integrating the fix into the maintenance track. Here’s the recommended workflow:
- When you mark a change that has been fixed at main to Test-Ready the first time, change Fix Version to 18.0 and add 17.1:OPEN to indicate that you do intend to fix it for 17.1 but have not integrated the fix yet. Adding a comment to that effect is also helpful.
- When the tester has verified the fix, they should change the status to Developing and assign the item back to the developer.
- When the developer finishes the integration, they should mark the item Test-Ready, and someone (developer or tester) should change the Fix Version to 17.1 (instead of 17.1:OPEN).
- The tester will test again and then close the item.
Audrey and I monitor an error checking dashboard that identifies items marked accepted and closed without removing the :OPEN tag (and other common Jira mistakes), so we will try to help out if details get missed.
Thanks to interns Annika Pillutla, Lilia Sohrabi, Ben Tran, and Haley Yaremych for presenting yesterday! It was great to hear about the variety of interesting project that our interns have worked on this summer. A downloaded copy of the recording is available in this folder: \\d73817\public\Dev Meetings\. Next week, we’ll see six more interns presenting at the Thursday morning JMP Development meeting. At the beginning of the meeting, John Sall recognized Brian Corcoran’s 30th anniversary at SAS, 26 years of which have been spent at JMP, with some highlights of projects Brian has worked on over the years. Brian has played a key role helping to advise on technical concerns and manage transition projects as JMP has moved from a division of SAS to an independent entity, JMP Statistical Discovery LLC. Thanks, Brian, for all that you have done for JMP over the years, and continue to do for us all!
As Audrey (our JMP Intern Ambassador) mentioned at the meeting, some of our JMP interns will also present at the SAS Intern Expo next Tuesday, Wednesday and Thursday in the Building R Atrium. There are morning and evening sessions each day where interns from various SAS groups will showcase their work. You can check out the full schedule here, but specifically, we invite you to support the JMP Interns who will be presenting on Wednesday afternoon (Aug 3) from 2-4 pm. The format is more like a science fair and will be a bit more interactive than the presentations we’re having at the JMP Dev meetings. It is a great chance to talk to interns directly about their projects this summer. If you’ll be on campus on Wednesday, please go support our JMP interns!
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 Doc Freeze – 8/2/22
- JMP 17 Help Freeze – 8/9/22
- JMP 17 L10N Freeze – 8/12/22
- JMP 17 Localized PDF Freeze 8/16/22
- First JMP 17 Final Installer Candidate – 8/23/22
- Please visit Confluence for a full list of JMP 17 dates.
JMP Development Updates
- Please visit this page to view bug verification lists for JMP 17.0.
Host
- Michael H: Turned on Automatic Reference Counting (ARC) for Mac JMP at main - a 10-year-old macOS coding feature that we are finally adopting. Please let me know if you encounter any new unusual Mac issues, especially with closing windows, as they are likely related to this. Thanks to Xan and Evan for finding a couple of issues already! Fixed an Undefined Behavior issue in Categorical (JMP-12167, candidate for 17.1.). Removed IStoredPassword class, which is no longer used by Portable code, and which was causing deprecation warnings on the macOS Ventura beta. Its original intent was to securely store passwords on the Mac keychain. Fixed a long-standing issue of Mac JMP treating two paths to the same file as different, if their upper-/lowercase was different. This would for example, cause a data table to be opened twice if two Open()’s used paths with case different from the file’s name on disk (JMP-13575, candidate for 17.1)
- Paul N: JMP-6758 – JMP does not support tif and jpg format images when using Python Get Graphics() – added .jpg, and .tif strings to validation ( .jpeg and .tiff were supported), added gif to JMP 18’s validation. JMP-6759 – JMP support some graphic formats but python doesn't support – marked NOBUG but user script error checking – a doc note might be in order. JMP-6775 - It is valid for both using quoted and un-quoted string in "JMP Name To Python Name" – NOBUG – as implemented. JMP-6761 - It shows extra "*" in Python Control description of Scripting Index Fixed, removed the extraneous * Also attended a day and a half Parent/Student Orientation for Georgia at NCSU.
- Aaron: Upgraded to Visual Studio 2022. Realized my favorite vs extensions were not compatible with the new version. Learned a bit about the (completely insane) visual studio extension API, brushed up on my C#, WPF, and XAML skills, and wrote my own visual studio extension (for developers (of which I might be the only one?) that routinely keep multiple VS instances open at the same time). Wrote a BuildHistory extension (as suggested by John Schroedl) to track previous build results and errors. Recorded my Discovery Americas presentation with Aurora.
HTML5
- John Powell: Prepared and recorded my Discovery Summit Americas presentation. Participated in a Virtual Coaching session as part of the SAS Management Curriculum. Attended Melanie Stevens’ “Focus on JMP Public” presentation. She shared some great insights and recommendations! Investigated an issue Kaylee Warren found with a Text Explorer Sentiment Analysis post on JMP Live. Attended first round of Intern presentations. Kudos to all of them and their mentors! Reviewed and updated some confluence pages on how to use Jira Fix Version/s for multiple development tracks.
- Paul Spychala: This week I have started pushing some of the code I have shelved away on Perforce. This includes several changes to html texts, such as implementing bold font weights for titles and other textboxes, adding support for 5 number summary and properly rendering multiple summary statistics. I also submitted a few bug fixes to html profilers and spent time learning integrating branches in perforce.
- Mayowa: Worked on HTML5 builds for new main and 17.1 branches, updated Jenkins files for main and 17.1 branches and created new Jenkins pipeline for 17.1. Working on fixing bugs with box plot outliers selection and 5 number summary (JMPHTML-1436, JMPHTML-1685)
JMP Live
- Aurora: Resolved (improve / un-skip / delete) various Jest tests. Looked for (and found) slow database queries on JMP Live Sales. Put together some thoughts for an upcoming JMP Live 17 retrospective. Recorded Discovery Americas talks with Michael Goff and Aaron Andersen.
- Michael G: Recorded discovery talk. Updated some various 3rd party libraries for JMP Live 18 and some others for 17.1. Working on some 17.1 bug fixes. Triaging issues for 17.1 & 18.0.
Statistics
- John Sall: Beginning 18 and 17.1 fixes, including
- Response Screening - restore message about adjustments for zero cells (JMP-13525); fix Set Limits and a Mean Difference string for localization (JMP-13423,JMP-13424).
- Fit Model - Support Switch columns for Logistic and Mixed (JMP-13465,JMP-13558).
- Design Space Profiler - correct examples (JMP-13425).
- Profiler Simulator - fix Save Spec Limits special cases (JMP-13551).
- Model Screening - don't allow the Profiler if more than 200 X's. (JMP-13472).
- Laura C-S: Picked back up my work on model-implied instrumental variables for SEM as I have to adapt the old code to work with multiple-group analysis. Continued supporting Haley through the process of preparing her presentation, and posting her blog post and add-in. Updated several users that had requested functionality in Haley’s add-in so they know it’s available. Conducted a second usability test for SEM with Haley.
- Annie: Started back fixing control chart bugs and recorded my Discovery presentation with Laura.
Stat Documentation
- Colleen: Finished up documenting Multivariate Embedding, adding an overview and statistical details. Sent out for review and have incorporated most of the review comments. Added example for Design Space Profiler and sent that out for review and then incorporated review comments. Added documentation for Shapley values and the new random mixture distributions in Simulator. Reviewed Workflow Builder for Karen to help get that wrapped up. Help keys. Documenting FDE bug fixes/NF.
- Michael C: Finishing up documentation for various NFs in 17.0 in the following areas: GLMM, SEM, GenReg, Reliability. Reviewed Multivariate Embedding doc for Colleen.
- Karen: Incorporated WFB feedback and Easy DOE feedback in to the chapters ahead of doc freeze. Addressed some lingering small fixes.
Stat Testing
- Mark: Discuss Easy DOE design with Brad and Joseph. Test Easy DOE with Jacob. Review announcement of tutorial about Easy DOE for Gail. Answer questions in JMP Community.
- Jacob: Testing Easy DOE. Worked with Joseph and Ryan to test approved fixes for 17.0 (JMP-12505, JMP-13552, JMP-13553). Verifying Jira tickets and adding unit tests. Testing Leverage Plots in Fit Model – REML (JMP-13437).
Life Sciences Updates
- Wenjun: Presented “Streamline Assessing Clinical Trial Data with Standards Using FDA NDAs and CRs as Examples” as keynote speaker for CDISC China Interchange last night. It was a good opportunity to showcase JMP Clinical tables and figures that used in FDA New Drug Applications and Clinical Reviews. Thanks to Jim and Bob for helping investigate why the JMP Clinical installer files were not updating after branching.
Technical Support
- Wendy: This week has been business as usual. Below is the track/case count by week.

- Bobby: Tested crash track process and reported link issue to Myron, now fixed.
Development Operations
- Jim: Migrated build processes for the new branch builds and adding updater ability. Initating 17.0 and 18.0 UT runs on additional hardware. Sent email to the Packages developer regarding the location of the created .pkg file for JMP 18.0. Thanks very much to Michael H for working to resolve problems with the new JMP 18.0 mac build machine. Added Schroedl’s “new” jmptojava script files to the branching process for 17.0 and 17.1. Fixed a problem in the 17.1 branch that was preventing the Clinical installer from being built on the mac.
Provided Perforce support, including permissions for the Beijing team. Began setting up a replacement Win 11 UT VM that Nick created and had a successful initial test run. Our six new CI mac minis are not yet on the correct IP network to allow Nick to remotely access them – working with ISD to resolve that. Will work with ISD to migrate a set of pre-2015 mac UT machines to newer hardware.
- Bob: 17.1 Windows installers completed and available (updaters to come soon). 18.0 Windows installers completed and available for JMP and JMP Pro. Created updated PER/SID files to use for version 18. Added 17.1 and 18.0 installers for Macintosh and Windows to the set of installers available with the nightly OneDrive sync. Modified Windows install path for version 18 to remove "SAS" folder (JMP-12376).
- Myron: Worked on fixing helpmap and doc processes (JMPDOC-1484, WEBJMP-5587, JMPDOC-1394, JMPTOOL-528). Updated/fixed Salesforce crash pipeline (JMPTOOL-500, JMPTOOL-533). Starting work on telemetry (JMP-12704). Working on JiraBot certificate issues (JMPTOOL-538).
- Shannon: Verifications for Myron’s crash system work. Investigated a few internal mystery crashes in the process. Help and doc script and job investigations. Discussions about feature requests and stories.
Documentation
- Susan C: Finished incorporating review feedback for JMP Live/Public publish section in Save/Share chapter of UG. Thanks, Michael G! Reviewed and documented all applicable NF JIRAs for the EG book. Updated the scripting section in the JSG for JMP Live. Big thanks to Chris H and Dieter for their help. Sent updated section for review. Attended Bryan’s UX meeting about usability studies.
- Chris B: Worked through vacation email. Edited New Feature doc with feedback from translators. Figured out why help search in 17 wasn’t working. Started process of adding new FrameMaker styles to ePublisher (learned SASS).
- Qiana: Finished the macOS and Windows Deployment Guides and handed them off to L10N. Addressed translation questions about the New Features doc. Troubleshooting of doc build issues. Continued working on the Using JMP doc.
System/Host Testing-Cary
- Mandy: Worked on branching and machine set up. Built JMP On Mac at 18.0 and found an issue right away with WFB. Had assistance from Nick H. to work through a data table prefs test that started failing and opened a JIRA for that. Recorded my Discovery Summit Workflow talk Wednesday and packaged and submitted documents for that. Worked on a performance Recode issue pushed to 18.0 on Windows and will test on Mac when ready.
- Nick: This week I updated the JMPSearch and testPromise unit tests to run better in JMP 18, in addition to getting a start on some performance tests for JMP search so we can hopefully have some benchmarks to start the 18 cycle. With Audrey’s help, Mandy and I tracked down a mystery failure in the testDTPref unit test that had been a silent bug for months but had only been exposed recently due to change in test run order.
- Lisa: Worked on catching up on emails, updating ServiceCloud tickets in crash script to use a ‘500’ prefix, and entered a bug reported by Laura and Haley regarding an issue pinning hover labels on a high dot density graph.
- Audrey: Updating processes and tools after branching, investigating a few bugs in unit tests, working with Beijing staff on end-of-release tasks and planning, security training.
- Josh L: Deployed JMP Live 17.1 and 18.0 on 2 servers that saw low use. Worked with Chris on a Keycloak issue on JMP Live Sales. We have come up with some more best practices and better understanding of Keycloak. Regression testing JMP Live 17. Working on some publishing side projects in JSL to publish in JMP Live.
System/Host Testing-Beijing
- Beijing Team: JMP 17 Regression testing, details can be found in JMPTESTBJ-1673 .
JMP 17 help/doc content review, details can be found in JMPTESTBJ-1674.
- Eric Wang: (1) Completed JMP 17 regression testing. (2) Updated JMP Live JSL unit tests and E2E tests. (3) Setup JMP Live 17.1 and JMP Live 18 test servers.
- Da Li: (1) Completed JMP 17 regression testing. (2) Investigated TS report Case Number 00009702, which is an issue about JMP Live iFrames. (3) JMP 17 help/doc content review. (4) Verify Jira tickets for Dashboard, Posts-Download, Admin Client and Client-General.
- Mike Wu: (1) JMP 17 regression testing. (2) Investigated TS report Case Number 00009302 and entered a bug JMP-13459. (3) Verify Jira tickets.
- Kimi: (1) Completed JMP 17 regression testing. (2) JMP 17 help/doc content review. (3) Verify Jira tickets. (4) Beijing team's Jenkins: working on the support of 17.1 and 18 branches. Working on the support of Python init/connect testing (via Python tool).
- Nala: (1) JMP 17 regression testing. (2) Verify Jira tickets. (3) Attend Manager Journey training.
- JMP Jira: 18 Bugs / Stories created ( Link ), 4 Bugs / Stories verified ( Link)
- JMP Live Jira: 2 Bugs / Stories created ( Link ), 2 Bugs / Stories verified ( link )
Data Discovery
- Evan: Added Labels to Codes and Codes to Labels scripting and action recording. Made small performance improvement when hiding columns. Fixed Col Cumulative Sum with missing ByGroup level. Fixed Map Value with non-literal mapping. Ensured that Search results run on the correct window on Mac. Working on making Search result keyboard shortcuts show more consistently on both hosts.
- Dan S: Fixed bugs with modal windows, Fixed customer-reported issue with RemoveFrom() on a matrix argument, Fixed launch issue with Control Chart in a JMP App, Fixed crash related to Bubble Plot animation with column switcher.
- Dave B: Moved jmprunner building and testing process to a new machine and updated for Jmp 18 & VS2022, fixed a problem with add-in version numbers when using comma as the decimal separator.
- Xan: GB Smoother updates for 18: added summary statistic and count-normalization options. Code clean-up: size_t -> int/Bnt.
DOE
- Brad: Recorded my JMP Discovery talk. Reading a dissertation of a Ph.D. student at NCSU for whom I am on the committee.
- Ryan L: Investigating some late-breaking bugs in Easy DOE, and preparing a Discovery talk with Rory.
- Caleb: Started work on bug fixes for the sample size explorers planned for 17.1.
Product Management
- Bryan F: Recorded Discovery Presentation on Confidence Curves. Worked on synthesizing results from Design Space Profiler usability test and documenting findings. Coordinated with UX Development Workstream on a plan to conduct usability testing on Easy DOE and sent out solicitations to potential participants. Reviewed Bivariate usability script and personas with Functional UX Workstream. The prior week I attended 4 full day Nielsen and Norman Group classes.
Note from Shannon
Thanks very much to Wendy Murphrey for sharing a picture from her son Graham’s recent wedding to his new wife Megan. Wendy says, “Everything was perfect and we are thrilled to have Megan officially in our family!” Congratulations to Wendy and to the happy couple!
Hope you all have a wonderful weekend!
