Welcome to the JMP Development Update for January 19, 2024!
A few final fixes for JMP 18.0 were pushed this week. We have now passed our dates for JMP 18.0 L10N and Documentation freezes. The date for creating final installer candidates for JMP 18.0 is now 1/30/24, and QA signoff is planned for 2/20/24. The branch for JMP 18 EA8 will be created on Monday 1/22/24, allowing customers impacted by recent authorization fixes to test them out prior to our production release.
Jim created the JMP 18.1 maintenance branch from 18.0 source this week. Nick has enabled CI builds and baseline tests as well as nightly analysis and Snyk scans for the new branch. Nightly builds and installers for Mac and Win are also running for 18.1 thanks to Bob and Jim. I have seen many developers and testers already using the Planned Version field to indicate fixes destined for 18.1, and there are already 9 items marked Test-Ready in the track. Jim also created the 18.0.1 branch from 18.0; this “dot-dot” track will be available for security champions to push critical fixes to third party libraries and is planned to release 2 months after our 18.0 ship date.
JMP 19.0 installers are available and the 19.0 track has been quite busy with new feature work. Please note that we will no longer create NonAuth builds or installers for any track. With authorization up and running for all existing tracks for internal users, it is great to be able to simplify this part of the overnight process.
Stringbot has also been configured for the 18.1 and 19.0 tracks (thanks, Myron!) but since this weekend is a SAS 3rd weekend maintenance cycle, we will wait till next weekend (26-27th) to initiate the first Stringbot runs for JMP 18.1 and 19.0.
Finally, thanks very much to Tonya Mauldin for sharing this week’s beta/crash cases with crashes selected!
JMP Beta Report 11924 - Distribution | JMP Live (sas.com)
General Announcements
- Thanks to John Sall for sending along this blog on measles trends with some interesting seasonal (and other) graphs!
- 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.0 EA8 – 1/22/24
- JMP 18.0 Final Installer Candidate – 1/30/24
- JMP 18.0 QA Signoff – 2/20/24
- Please visit Confluence for a full list of JMP 18 dates.
JMP Development Updates
Statistics
- Jianfeng: working on adding a new feature to allow exact test for nonparametric tests for multi levels (more than 2 levels) and for N greater than 50 (JMP-13863). This is required by P&G. With the exact code that was ported from SAS last year, I am able to enable the feature. Here is the sneak peek of the report. However due to high computational demand, I would like to add a progress bar so that users have control over the computing process.
//Report from JMP
//Report from SAS
- John Sall: For Fit Response Screening, checked in sliced LSMeans comparisons (JMP-19632). For Contour Profiler, fixed crash if not enough continuous factors (JMP-20008). For Categorical, support confidence intervals for cell probabilities, both Share and Rate (JMP-2006). For Bootstrap Forest and Boosted Trees, made tuning table report more complete and support nested Progress Bars. (JMP-20064). For Interaction Profiler, support formats for curve labels (JMP-20106), and for Response Screening, continue work on Poisson and Negative Binomial responses with Clay's help (JMP-19552, JMP-19559).
- Laura C-S: Reviewed the latest draft of the SEM documentation chapter—there were lots of helpful additions. Did a couple more simulations for the causal inference paper and wrapped up writing most of the SEM-related sections.
Stat Documentation
- Michael C: Finished remaining content updates for stat doc in 18.0; prepped books for handing them off to the doc team to do production checks and produce the final 18.0 help/docs.
Stat Testing
- Jacob: Preparing a usability test, using Choice Designs, for the Analyze tab of Easy DOE. Updating the Usability Study Tool to handle more complex choice designs. Adding a new BLAS unit test to verify calculations are correct (based on JMP-19839). Continuing work on covering array and test script to test tabular models in Torch Deep Learning.
- Mark: Designed a new usability study for the Analyze tab in Easy DOE with Jacob. Reviewed the final draft of SAS-100365 patent application. Studying Torch to continue testing the Torch Deep Learning add-in. Answered questions.
- Tonya: Testing CCB option interactions and bug verification.
Product Management and Product Marketing
- Dan V: Sarah Gilyard begins this week on the PM Team as a Sr. Product Manager, Semiconductor. She’s based in Utah so send her a Teams message and say welcome!
- Bryan F: Worked on a template for running contextual inquiries. Developed an initial list of potential testers for an EasyDOE study. Participated in planning related to removing styling parameters from the code. Provided additional feedback for AI Assistant Usability study script, spun up instances of the AI Assistant for testing, and reviewed test findings. More logistics related to Design of Everyday Things book club. Continued with JMP Discovery Summit User Lab logistics.
Technical Support
- Duane: Many of us are involved in work for authorization of JMP 18 for air-gapped machines and other aspects of My JMP. Wendy is working with SAS Licensing Operations to transition all licensing calls to the Engagement queue. This change will begin next week.
- And as usual, 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.
Case Volume by week:
Case Topics for Engagement queue, total:
Case Topics for Engagement queue, last week:
Development Operations
- Melanie: Adjust the scripts and processes for the helpkeys job to run against source at the 18.0 branch and to update the helpmap file on both main and 18.0. I also gave Allison an overview of the stringbot processes and JSL conflicts.
- Myron: Stringbot changes and updates for 19.0 (JMPTOOL-977). Stringbot changes and updates for 18.1 (JMPTOOL-1076). JiraBot UI work (JMPTOOL-939).
Localization
- Allison: Had a training session with Trish on JMP Documentation Add-ins and the localization process. Processed the translated SharedTextInsets and made sure the updated copyright language is reflected. Met with JMP Legal to talk about the work order process and worked on creating work order templates for the different vendors that we work with.
- Trish: Met with Legal to discuss creation of work orders for translation vendors and reviewers; reviewing over process for the creation and publishing of localized JMP Documentation Add-ins; finalizing HTML5 help files in preparation for delivery to doc team on 23Jan; planning for handoff of JMP documentation to translation vendors in February; double checked all deliverables for 18.0 localization freeze on the 16th and then happily signaled QA that software translations were complete.
- Krzysztof: Wrote text for the announcement on InsideJMP News: JMP Community translation change starts Jan. 18, updated SharedTextInsets project with new copyright strings, processed documentation localization returns from vendors.
- Sohail: Further work on Terminology process – optimizing processing time and accuracy of the term extraction process.
Documentation
- Susan C: Finished implementing JSG feedback for JMP Live. Thanks again to all who provided feedback. Copied over JMP Help templates to Perforce directories for 18. Reviewed Landra’s JMP Live content on the What’s New in JMP 18 page and compared against my Release Notes Affected = Y JMP Live Jiras. For features not on Landra’s page, worked with dev to discern which ones needed to be documented and drafted wording. Provided feedback to Landra on Confluence page. Fixed an issue with the new JMP Live Resources page not showing in JMP Help, thanks Michael C for your help with that. Production checked the books I’m responsible for and updated Jiras.
- Qiana: Ran the help key report. Reviewed resumes and HireVue videos for intern. Documented the Group Platform feature. Prepared for Doc Freeze. Ran production scripts on assigned books.
- ChrisB: Documented new features. Entered copyright changes. Reviewed help keys and some of the python doc.
System/Host Testing-Cary
- Mandy: Worked on 19 fixes and rewrote 3 tests now that testware auto-integration is off. Also added a new data filter test to main to test some new fixes there. Worked a bit more on Python testing at 18 and 19 and things seem to be working well in advance of 18.0 installer testing. Created my workspace in perforce for 18.1 on Mac and Windows – all set for testing. Working on Workday Goals workday for 2024. Spent time today trying to chase and update Baseline diff at MAIN I believe due to numeric differences on M1/M2 Mac’s only (JMPTEST-1113).
- Hunter: Authorization testing and reported issues to Daniel, sent python test results from two of my systems to Mandy and Kimi (Thank you, Kimi, for following up with the testware changes), met with Jim to get the new 18.1 and main locations correct in Perforce, checked authorization in JMP 19.0, responded to two JIRA issues with questions about authorization, and JIRA verifications.
Web Testing – Cary
- Natalie Horton started on the Web Test team this week. She will be focused on HTML5 automation. Right now she is getting started learning JMP.
- Josh L: Built 2 MSAD Forests, Updated the JMP Live Deployment scripts to now install JMP Pro 18.1 and 19.0 on the JMP Live Pool Servers. Moving more machines from JMP Live 17.2 to 18.1 and 18.0 to 19.0. Discussing MSAD Single Forest Multi domain and Multi Forest with a single domain differences. Answering SE issues and troubleshooting installations.
System/Host Testing-Beijing
- Beijing Team:
- Da Li: (1) DONE: JMP Clinical 18 Publish testing Round #3, 6 new bugs created (JMPTESTBJ-2942). (2) Updated code is submitted to scndaz / jmp_live_tests / Commit 1c94b4974fab — Bitbucket. (3) Code improvements step1 updated to scndaz / jmp_live_tests / Commit 4674ea99bfa3 — Bitbucket.
- Nan Wu: (1) Escalate the authorization issue of whether "manual activation" when customers using JMP offline still needed or not for JMP 18.0 under the new authorization mechanism - the decision is "yes", comments added in bug JMP-19733 . (2) JMP 18.0 regression testing done (JMPTESTBJ-1806) . (3) JMP 18.0 Help Content Review testing done (JMPTESTBJ-1805). (4) Sent feedback and discussion on the Excel support versions for 18.0 issues with Audrey and Bob, to make the final updates for the 18.0 Excel version support, related bug is JMP-20021. (5) JMP 18.0 Citrix testing done - JMPTESTBJ-1701 .
- Kimi(Yu) Wang: (1) Bug Verification. (2) Python - NF: Python Samples in JMP's Sample Scripts (JMP-18914]) - Done for 18.0. Improved package installation support (JMP-19734) - Done for 18.0. Cannot install dt2pandas with pyproject.toml on windows (JMP-19922) - Done for 18.0. Python file association icons on macOS (JMPTESTBJ-2759) - Done. (3) JMP 18.0: Help Content Review- In progress: JSG for python part - Done. JSR for python part - Not Ready. (4) Try to reproduce the crash of Hunter found - crash after import pyarrow on Apple Silicon machine. (5) Debug failures for python tests which Hunter hits and fix the testing scripts. (6) Debug Cary UT failures: Python relevant failures are caused by jpip.py removal. - have emailed to Jim. FD failures are caused by copyright changed to 2024 - fix on 18.0 (win & mac intel & mac silicon)
- Da Zhang: (1) Bug verification. (2) Reorganized JMP Live stress test configurations. (3) OLE Automation failures investigation. (4) Q4 conversation with Nala.
- Nala: (1) Bug Verification. (2) Doc/Help testing for JMP 18 - Done. (2) JMP Clinical 18.0: Check All Reports for Nicardipine (JMPTESTBJ-2946) - Done. (3) Testing JMP Live NF: Space level record viewing and downloading (WEBJMP-6650). (4) Completed Q4 Conversations.
Data Discovery
- Dan S: Working on Visual Styling infrastructure for JMP 19. Fix for localization in Platform Presets. Fix crash calling <
- Parker: Improved speed performance for JMPColor::mixRGB() function.
- Dave B: Fixed a parallel plot reproducibility bug, worked on preview for save as pdf, investigated a pdf import issue sent in from a customer.
- Xan: Axis fixes and jitter work.
DOE
- Caleb: Continued JMP 19 development work and preparing for my talk at RAMS next week.
Host
- Paul N
- Prepared and recorded a video presentation on JMP 18’s Python Integration for JMP Discovery. Reviewing updates to JMP Scripting Guides on Python support.
- Looking at deprecations in the QuickLook preview code on macOS when updating minimum build to macOS 12.0. This is what provides the data table preview in the finder.
- Create updated OpenSSL certificates for 2 JMP Live AWS instances.
- Looking at a couple minor issues uncovered with previous Python integration that were discovered on reviewing the documentation. Intend to fix in 18.1.
- Python Send File( ‘path_to.py’); Does open the file in a Python Script editor window, but also pops an error alert, that ‘Python data type is invalid.’
- Kimi discovered an issue with the very first time you run a Python install package (jpip) on a clean machine from within JMP. JMP itself does not recognize that the packages have been installed until a restart of JMP. Likely because the site-packages folder has not yet been created. The jpip install checks for the directory’s existence and unpacks the site-packages.zip file before doing the package install. It appears that once Python is initialized it does not recognize that the directory now exists, where it didn’t before. One solution would be for the installer to lay down the unzipped site-package files into the correct %APPDIR%, but that only works if the installer will be the user. The other option is to utilize JMP ZiipArchive classes to unpack the site-packages.zip when needed, before initializing Python. Once the directory exists, subsequent installs from within JMP are recognized immediately after installation.
- John Schroedl: Investigated and fixed UI issues seen when running JMP on Citrix-based VMs. Updated confluence page of JMP policy settings. Discussions for visual styling project. Working with Jared on proposed project changes. Starting to update libxml2 for security fixes. Left off: Last minute icon updates for JMP 18.
- Daniel: The final fixes and features are in place for 18.0 and the focus is now on enhancing AWS as well as MyJMP.
Interactive HTML
- Participated a sprint planning meeting led by Praveena. Updated Jira Component ownership(JMPHTML-13475).
- Paul Spychala: This week’s development focused on getting over being sick. Other bug fixes included Graph title partially obscured by Y-axis box when zoom|move [JMPHTML-1562], and Treemaps ignoring Size and Color Label formats in tooltips [JMPHTML-1587].
- Michael Senoyuit: Fixed JMPHTML-1010: Pinned tip arrow is missing and JMPHTML-1671: Fixed tooltip does not locate correctly.
- Praveena:
- Met with Aurora Tiffany-Davis, Annie Dudley, and Michael Goff to discuss about Control Chart Warnings feature request.
- Fixed the following bugs in 19.0 and integrated the fixes to 18.1.
JMPHTML-660 S1514784: GB: Missing factors=Treat as Zero displays different chart
JMPHTML-666 S1521926: GB: Area: Line: Some peaks not filled when should be when chart has Overlay
JMPHTML-667 S1521927: GB: Area: Line: Get different chart w/nominal->X & Continuous->Overlay & Missing, Excluded data
JMPHTML-929 GB: Area: Range style showing % of Total w/missing categories yields unfilled areas
JMPHTML-1806 GB: Line: Points connected in HTML5 but not on desktop
JMPHTML-1811 GB: Area: Extra lines drawn in chart
JMPHTML-1953 GB: Line: Stacked chart w/overlay points unexpectedly connected w/hidden, missing data
JMPHTML-1996 GB: Area: Line segments connected when Color role assigned
JMPHTML-1997 GB: Area: Additional line segment drawn between markers
JMPHTML-2482 GB: Area: Chart w/3 Ys' line segment colors not persisted or drawn
JMP Live
- Aurora: 18.1: Improved performance of bulk deletion of posts. 19.0: Developing a plan for Control Chart Warning improvements. Miscellaneous: Preparing for on-demand (online) presentation for JMP Discovery Europe. Filled out third party software requests for various recommended major version upgrades.
Note from Shannon
Thanks to Melanie Drake for sharing the following story! I noticed in his obituary that Mike was one of the many people inspired by the life and legacy of Martin Luther King Jr. It seems especially fitting for his memorial service to be held on Monday as we observed MLK Day.
On Monday I went to Camden SC with a friend for the funeral of another friend’s father. He was a journalist and civil rights activist, and it was an inspiring and moving service. You can read more about the life of Edward “Mike” McClendon here.