Welcome to the JMP Development Update for June 9, 2023!
I’m sure everyone is well aware that Tuesday, June 13 is the beginning of Code Approval for JMP 17.2. Code Approval is where we really start putting the brakes on fixes going into the product. You can still make fixes, but be sure they meet the criteria: high priority, reasonably low-risk, has passed a code review, has been tested in the main branch (when possible), and you have four approvals after sending a request to the JMP Approvers mailing list.
I looked at our Jira data for items with Fix Version containing 17.2 for all products, and we can see quite a bit of activity in recent weeks as fixes are made and tested. I know developers and testers are finalizing the last things that need to go in.
Thanks as always to Tonya Mauldin for sharing the beta and crash track summaries for the week. Here we see the crashes are selected (all reported internally this week).
JMP Beta Report - Distribution (4) | JMP Live (sas.com)
Atlassian Tip of the Week
LucidChart is now integrated with our Confluence instance. LucidChart is a charting app that allows easy creation of diagrams and flow charts. Several of our JMP staff are able to use LucidChart through an existing parent license fro SAS. Integration with LucidChart has been one of the top requested features from these JMP staff. We’ve recently worked with our SAS Lucid Administrators and fortunately been able to make this happen. If you have a Lucid license, you now have access to two-way integration with Confluence. If you don’t, you can still view Lucid documents created by others in our Confluence pages.
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!
- Recent Get to Know articles:
- Congratulations are in order for Josh LoPresti, who is celebrating his 10-year anniversary with SAS this month! Josh has been with JMP for four years and has been tackling all things related to JMP Live testing ever since. Congrats Josh!
Important Upcoming Dates
- JMP 17.2 Code Approval Begins – 6/13/23
- JMP Rest and Recharge Day – 6/19/23
- JMP 18 EA4 and JMP Clinical EA2 Freeze – 6/23/23
- JMP 17.2 Code Freeze – 6/30/23
- JMP 18 Feature Freeze – 7/21/23
- JMP 18 EA5 and JMP Clinical EA3, JMP Live 18 EA1 – 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
- Haley: Writing unit tests for the Response Screening platform with genomics data. I’ve also been working on SAS code to obtain benchmarks for parameter estimates.
- Hamid: Finalizing my first project, which involved addressing comments on the SLS_Examples chapter. Revisions, interpretations, screenshots, reviewing progress from my team. Attending an informative and friendly Coffee Conversations meeting with fellow interns. The discussions were engaging, and I enjoyed the opportunity to socialize during the coffee break. Began working on my second project - adding a new example to the SEM chapter focused on Mediation Analysis. I extensively researched the topic and feel well-prepared to commence creating the example. Completed relevant courses, including "Thriving in a Flexible Workplace," "Energy Management Strategies When Working Remote," "Security Incident Response Team (SIRT) Training and Awareness," and "Protecting Your Privacy Using Proper Data Classification and Handling."
- Emily: Finalizing edits on the videos I have been making for the 12 Working Smarter Tips. As well, this week I am completing the SAS Programming 1 Certification course.
- Anusha: This week has been great!! I worked on some unit tests for JMP clinical. I am taking SAS programming 1: Essentials training session for interns from past two days, which has been great so far. I hope I get to learn and work more next week too.
- Irene: I attended the Informs QSR conference this week and presented our work (my summer intern project) on Bayesian Fault Localization. I’m also working on fine-tuning the model and trying to apply it to a real case study.
Data Discovery
- Xan: Better jitter collision dodging for non-rectangular markers.
- Evan: Delivered initial framework for Column-Robust Report Customization which is a change to Dispatch to make static analysis and rewriting of JSL scripts more robust when columns change. This is work started for Platform Templates but that will be useful for other things like Workflow Builder, Data Table Scripts, etc. Currently working on extending it to Scale Box as well as annotating necessary boxes within platform reports to work with this feature.
- Dave B: Fixed a couple of minimized text annotation bugs, fixed an outline display wrapping bug, fixed a NumberColEditDisplay crash, completed moving image testing to AWS VMs and have made some changes to minimize the number of noisy e-mails.
- Julian: Hired a new developer, Jared Thomas, who will start July 6th. Continued work in the JIRA backlog. UI/UX meeting about hover help and discoverability of tool tips. Discussions around how action recording could send variations of a script to the enhanced log/workflow builder. Continued work on Platform Templates.
- Dan S: Fix for Stepwise launching models into Fit Group. Fix for text anti-aliasing in popup windows with transparent background. Continued work on Platform Templates.
Host
- Paul N: (1) Continuing work on Python. Deprecating some of the JSL Python functions that are no longer applicable with Python embedded within JMP. Python Init(), Python Control(), Python Term(), << Disconnect. Cleanup and streamline of the code. Updated the Scripting index to remove deprecated usage from the samples. (2) Fix crash JMP-17046: JMP crashed if you started using the JSL Python functions like Python Send() before calling Python Init() or Python Connect(). With Python being embedded, initialization of Python can now easily occurs on first use. Now the only reason to use Python Connect () is if you want a scriptable object returned for use. (3) Apple WWDC – watching Keynote, and video presentations. Downloaded new XCode 15 beta, fixed build errors and warnings when building with the new compiler. (4) Lab Session with Apple engineer on a Mac bug, where we have issues with the Save button not being enabled for a dirty script file if it’s not a JMP owned file type. ( .jsl works fine, .py does not, .sas has a hard coded kluge ). Save As works fine. Was unable to resolve in the half hour session, additional investigation necessary.
- John Schroedl: Added telemetry for selections under File > New. Managed crash files new include list of DLLs which may help identify issues with 3rd party binaries. Icon updates. Still researching possibility of move to .NET Core but seeing issues with memory mgmt. and debugging. Telemetry discussions.
- Michael H: PI Server Import: initial implementation of “Change Attributes” is pushed and currently undergoing testing. Thanks to David White for help with this!
Interactive HTML
- John P: Working on support for reports/dashboards with multiple local data filters (JMPHTML-1000)
- Mike S: Continued working axis date format issue (JMPHTML-1866) as more issues have been found that were not part of the initial bug description. Completed all security training (Product Security Training Level 1 and Level 2).
JMP Live
- Aurora: Continued work on folder level access. Fixed some unrelated minor bugs.
Statistics
- John Sall: Considering changing the saved formula for confidence limits to allow the user to easily change the confidence interval inside the formula, but still having the t-quantile evaluated only once by using the AsConstant function (JMP-16628).
- Laura C-S: Continued researching causal inference (CI) methods for observational data and bridging gaps with how SEM approaches CI. Met with Russ and Meichen to discuss this topic and identify data sets for a paper presentation at a future Discovery. Conducted several CI analyses with empirical and simulated data in SEM. Met with Bryan Fricke to discuss a new icon for residual edges in SEM.
Stat Documentation
- Michael: Cleaned up some issue type schemes and unused Jira variables (with James); restricted create/edit access for JMPDOC project in Jira to writers only; reviewed some examples that Hamid worked on updating in the Fit Model documentation; checked that the Statistics Index content can be found in JMP Search or in the documentation in preparation for Statistics Index removal in 18.
Stat Testing
- Tonya: Cleaning up duplicate Jira tickets, testing short run control charts, and doing bug verification.
- Mark: Attended the INFORMS Quality, Statistics, and Reliability conference at NC State University and presented our usability study methodology with Jacob that resulted in potential collaborations with two universities. I answered questions in the JMP Community.
Product Management
Technical Support
- Duane: Support is staying busy with our customers, for sure. In addition, the Engagement team continues to see progress with the Service Cloud work needing to be completed in order to support their areas. With Digital Operations, we are trying to get email-to-case as well as the phone queues in place by the end of the month. A challenge, but we cannot extend this deadline. The JMP Store is now using Decartes Visual Compliance for our Restricted Party Screening (RPS), and we have been very active with blocked individuals. Wendy’s team and Sharon Hamrick’s team in BizOps are working together to build processes to handle these concerns quickly and efficiently.
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.

Development Operations
- Jim Borek: Continued AWS migration of daily UT VMs. Working with Hunter to get a new Sonoma mac mini ready for JMP 18.0 testing. Multiple build and UT machine updates for mac OS.
- Myron: JiraBot updates (owner assignment changes, minor issues, etc.). JMPTOOL-861.. Setting up and installing software on AWS replacement for help-pdf-builds doc build machine. JMPTOOL-881: sync and activation issues on AWS machine. Create new AWS replacements for JMPTOOL projects (JMPTOOL-870, JMPTOOL-809, JMPTOOL-868)
Documentation
- Susan: The Quick Start content – sent for a team review, incorporating feedback. Also working on getting the content into HTML files. Tested one in the build. Creating the rest of the project Jiras for 18
- Devon: Continued work on suggestions for the Using JMP book from the Japan localization team. Getting a head start on 17.2 release notes. Completing DITA XML training.
- Chris B: Reviewed Quick Start animations, our intern's tips videos, and a doc retention plan. Spent quite a lot of time trying to diagnose why my FrameMaker file updates weren't being seen in builds. Apparently Susan also encountered this issue, but Nick knows a solution. Completed New Window() documentation (JMP-3993), but that's the doc I can't get to build. Tested and posted the Korean doc add-in (JMPDOC-1889).
System/Host Testing-Cary
- Mandy: Resolved a couple more of my JIRA’s with testing and verifying. Answered a few workflow questions I saw on the community – mostly action recorder issues – one to make a validation column (JMP-14057) and one to do the right click, fill to end of row, and repeat (JMP-14202) - thanks David White for fixing those. Met with Qiana and spent some time working on the San Francisco Crime data table to remove triggering word (JMP-16894); saved the table to a different location so we could use it for testing. Working on a few workflow builder things, using it for testing other JIRA tickets.
- Lisa: Worked on testing minimized annotation feature, reviewed EA tracks regarding the Recall button and selection tool in graph builder, and discussed with Evan several graph builder bugs involving custom maps and color theme dialogs.
- Audrey: Brainstorming about employee data in our telemetry, Atlassian admin stuff, playing with Air Quality Data.
- Hunter: Investigated and responded to several JMP 18 EA 3 tracks, worked with Jim B. to apply Sonoma 14.0 Developer Beta 1 on M1 host testing system MDA692 in the lab, opened JMP-16991 for inverted content in JMP 17.x and 18.0 running on the Sonoma Beta 1, and tested a JMP Runner Build for Aaron on several Mac configurations for context menu behavior in WEBJMP-7144.
System/Host Testing-Beijing
- Beijing Team:
- Eric(Nai) Wang: (1) Investigating JMP Live JSL test failures, intended for both 17.2 and 18.0. JMPTESTBJ-2411. (2) Debugging JMP Live JSL tests on Jenkins VM. JMPTESTBJ-2416 . (3) Preparing JMP Live I18N testing. (4) JMP Clinical I18N testing Round2.
- Da Li: (1) Component OSIPI is changed to Import-PI Server, reason is written in PI Server Import Enhancements - JMP - Confluence (atlassian.net). (2) TS:00042993 investigation, new bug created [JMP-16939] Default files filter “*;” should be removed when adding file filter by clicking Add Extension - Jira (atlassian.net). TS:00043261 investigation, provide feedback and waiting for response. (3) DONE feature testing, total 2 bugs created [JMP-16733] Replace Excel Import engine on Windows - Use LibXL instead of SpreadsheetGear - Jira (atlassian.net). (4) DONE feature testing, total 2 bugs created [JMP-7736] ICRP: Suggest to imported Attributes Good|Bad|Substituted|Annotated values as an expression or string in a single column - Jira (atlassian.net). (5) Verify and close 15 bugs for components Import-SAS, I18N, Import-PI Server and Import-Excel, corresponding UT added too. (6) 5 new bugs created during feature testing and bug verification. (7) Organize and send out mail for JMP Live 18.0 I18N testing round 1/6. (8) Verify and close 2 bugs for components Comments-Server and Notifications-Server. (9) Investigate and fix following new workflow [JMPTESTBJ-2415] Bug: jmp_live_migration_16.2_to_18.0 failed - 2023w23 - Jira (atlassian.net)
- Mike Wu: (1) JMP 18.0 bugs regression testing. (2) JMP 18.0: I18N Testing Done for round 1. (3) JMP C 17.2 I18N Testing Round 2. (4) JMP Live 18.0 bugs regression testing.
- Kimi(Yu) Wang: (1) JMP 18.0 NF Testing for Python [JMP-16815] Removal of Python Get Graphics() and << Get Graphics() - Jira (atlassian.net). [JMP-16901] Removal of Python Control parameter - Jira (atlassian.net). (2) JMP C 17.2 I18N Testing - Round2. (3) JMP Live 18.0 I18N testing round 1/6. (4) Jenkins: Modify connection file for mac and test, details refer to JMPTESTBJ-2414 . Add compatibility testing for both mac and win, details refer to JMPTESTBJ-2219 – in progress. Update names for Instances and AMIs, details refer to JMPTESTBJ-2464 .
- Da Zhang: (1) JMP Live 18 Load Testing: Fixing/adding load tests in JMeter. (2) JMP Live 18.0 I18N testing round 1/6. (3) JMP C 17.2 I18N Testing - Round2. (4) Bug verification.
- Nala: (1) JMP Live 18.0 I18N testing round 1/6. (2) JMP C 17.2 I18N Testing - Round2. (3) Bug verification.
Have a great weekend, everyone!
Audrey
An oldie but goodie:
https://xkcd.com/552/