Welcome to the JMP Development Update for June 28, 2024!
It was great to see so many of you at the Rush Hour Go Karting event on Tuesday! R&D team members raced, threw axes, played games and chatted with colleagues from 3-5 pm. Thanks to organizer Julian Parris for helping make this R&D event happen – she excelled on the track too!
QA teams in Cary and Beijing have now signed off on JMP 19 EA1. The EA page in My JMP is going through the copy-edit process, the EA videos are ready, and Mia is cleaning up the campaign to remove unauthorized customers. We expect installers to be released to customers on 7/3.
Meanwhile, 18.1 Approval Mode for source code changes is drawing to a close at the end of the day today, June 28. We will not be doing a batch defer of remaining 18.1 items at Code Freeze so please triage any remaining issues you have with a Planned Version of 18.1 to determine if they are 18.2 or 19.0 candidates. If not, please remove the Planned Version value. Thanks!
Our security freeze date for JMP 18.1 has been moved to 8/9/24. Until that date, security champions will continue to monitor Analysis builds and code scans and fix high and critical vulnerabilities as they are identified. We are aiming to deliver security fixes to customers every two months so we want to have as many fixes as possible included in 18.1.
Thanks to several members of the JMP Live and Interactive HTML teams for presenting JMP 19 work on Control Chart triage at the dev meeting on Thursday! If you missed the meeting, you can find the recording here. Aurora Tiffany Davis also shared this Confluence article with more details about the topic. If you’d like to present at a future dev meeting, please add your topic to the JMP Dev Meeting Volunteer Schedule in Confluence.
Thanks to Shannon Leslie for sharing the details of June product changes for Jira/Confluence! On June 11, Atlassian rolled out numerous changes to our Jira and Confluence Cloud sites. A list of relevant changes along with some highlighted details can be found here. Please contact Shannon L or any of the other JMP Atlassian admins with questions.
Finally, there will be no Friday update next week (7/5/24). I’ll be off, as many will, for a long weekend including the 4th of July holiday.
General Announcements
Important Upcoming Dates
- JMP 18.1 Code Freeze – 6/28/24 ß TODAY
- JMP 18.1 Security Freeze – 8/9/24
- Please visit Confluence for a full list of JMP 18 and JMP 19 dates.
JMP Development Updates
Core
- Xan: I investigated those Intro Stats survey results John Sall shared a graph of few weeks ago. Turns out the paper miscalculated the multiple response summary data (confirmed by the authors), and Excel is not so dominant, especially for 4-year institutions. Here’s a remake of their chart of tool usage by kind of tool.
- Dan S: Fixed issue with < 30000 pixesl tall, meetings with Core R&D dev team for planning
- Dave B: Mostly just meetings with the group.
DOE and Reliability
- Congratulations to Peng Liu, Mark Bailey, Caleb King, Ryan Lekivetz, Joseph Morgan and Jacob Rhyne! The U.S. Patent and Trademark Office has issued their patent developed with Bradley Jones entitled Systems, Methods, and Graphical User Interfaces for Configuring Design of Experiments on 2024-05-07 as U.S. Patent No. 11,977,820. A copy of the patent has been uploaded to the Sharepoint site: Issued Patents.
- Caleb: Started work on enhancements to CSALT, mainly focusing on allowing some settings to persist across tabs rather than always have it reset. Had a lot of fun at the Go Kart event on Tuesday!
- Irene Ji: Learning to use some development tools such as Xcode, Perforce, Jenkins, Jira, etc., and exploring the code base of DOE platform. For research, I attended some project meetings this week and currently working on some simulations.
Hosting and Interfaces
- Michael H:
- Resolved the long-standing flipped sticky title bug on Mac. To recap, this bug was mostly fixed except when capturing an image of a window, either for Dashboard thumbnails or the JSL ‘Save Capture()’ command. You might think that capturing a window’s image would not change the window. And it shouldn’t, but that’s what we observed.
- Last Friday, with the help of an Apple Engineer during a WWDC Lab Session (via WebEx), I determined how this was happening. And this week, I pushed a fix! Turns out, the image capture is done by redrawing the window in a different context. This redraw was being done with a different transformation matrix than what we expected, and we re-created the sticky layer for the window as a result. This new and wrongly transformed sticky layer “stuck around” after the window capture was done, causing the window’s own appearance to change as well.
- Paul N:
- JMP-21925 – jmp.open() needs visibility parameter ( ‘Invisible’ | ‘Private’) With this fix also fixed issue that Will discovered that jmp.open() didn’t handle a .json file because that code depended on an eval context being passed to jmpOpen(). Fixed by passing in current Python script’s eval context.
- JMP-21924 – Python equivalent of Python Get() / Python Send() to be able to get and push JSL variables and values from the Python script. Research and some prototyping. Currently able to retrieve values from the TopSymbolTable from Python.
- Reviewed Evan Carr’s work on supporting Row States from Python JMP-21921. Evan has started working on a jmp.Image obect so that we can accept a jmpOpen() image value. Using img = jmp.open( ‘img_file.png’, type=’png’). Focus for the moment is so that we can then set images into an expression column. Plan for expression column work to follow the jmp.Image support. Future support will expand the capabilities of the jmp.Image support.
- Will Morgan: S3 Data connector testing is well underway. A configuration can be made to connect to AWS and list the compatible files to import into JMP. The table can be opened in JMP from within the data connectors menu. Going forward I will be working with Neal Siekierski on expanding query builder support for python data sources and testing current query builder support, fixing a few bugs there.
- John Schroedl: Working on alternatives to std::min_element, std::max_element and std::minmax_element which allow for missing values to avoid undefined behavior (JMP-21905). Picking up evaluation of whether we can use the telemetry/crash server for sending in usability study results. Go-karting etc.
Interactive HTML
- Mike Stickles: Completed work on implementation of JMP Word Clouds in HTML (JMPHTML-13665) and submitted for code review.
- Sam Blashill: Continuing to work on interactive pie charts for JMP Live. I have gotten a lot of the basic features done like grouping and interactivity with local data filters. I will push the changes on Monday so people will be able to interact with them on the newest JMP build.
JMP Live
- Aurora: 19.0: Control chart warning improvements (talking, planning, bug fixing, JMP Dev Demo). A few third-party package updates.
Statistics
- Laura C-S: Finally closed the Jira for the new estimator in SEM (MIIV-2SLS) for v19! I pushed several changes to implement MIIV-2SLS with summarized data, to omit the Sargan test when not available, to fix a bug with equality constraints, to provide warnings for improper specifications, to hide unused columns in the report, to disable RTM options and model shortcuts that aren’t applicable to this estimator, and to add means for exogenous manifest variables. Met with Chris G to discuss details of the new estimator. Met with James and Haley to discuss testing details. Reviewed a draft of the 18.1 SEM doc. Provided feedback on a draft of the DEI survey.
- John Sall: Categorical fixes and features (JMP-21918, JMP-21711, JMP-21495, JMP-21914, JMP-21422, JMP-21743, JMP-21938, JMP-21945, JMP-21941, JMP-21915).
Stat Documentation
- Michael C: Reviewed updates to the SEM doc for Hamid; reviewed Scripting Index updates for Colleen; attended some of the Core R&D midyear discussions; finalized doc updates prior to 18.1 doc freeze next week.
- Karen: Reviewing material for the stats writing team as we approach doc freeze for 18.1.
Stat Testing
- Haley: Working on remaining onboarding tasks, meeting with James to begin testing training, and meeting with Laura Castro-Schilo to learn about the new SEM features for 19.0 that I will soon be responsible for testing.
- Jacob: Testing Categorical, verifying Jira tickets for recent work and adding unit tests. Test DOE, adding unit tests and verifying tickets approved for 18.1. Investigating a BLAS crash in 19.
Life Sciences Updates
- Thanks to John Sall for sharing a link to a featured article from JMP Clinical developer Richard Zink in AmStat News focused on his volunteer work with the Biopharmaceutical Section.
- Tom: Met with Qiana to discuss how to make the look and feel of the JMP Clinical Help system more consistent with the JMP Help system. Continued updating JMP Clinical doc for 18.1 while clearing out multiple JIRA issues.
- Anisa: Tested Acute Kidney Injury report for final fixes in 18.1. Verified additional bugs that required code approval.
Product Management and Product Marketing
- Mia: The Product Management team was in Cary this week for mid-year team meetings to review PM goals and dashboards as well as the top items on product roadmaps. They also met with dev groups and planned for the second half of the year. Thanks to Bryan Boone for updating the team on data connectors and SAS Py in JMP 19, and Shannon Conners and Melanie Drake for sharing info and answering questions related to Dev Ops!
- Bryan F:
- Participated in both PM and Core Mid Year Summit events. In the core team session, I gathered feasibility scores for the goals we had established regarding data import and manipulation in JMP. I assessed viability and desirability separately, with ratings provided by distinct groups. The combined scores determined the priority of the solution goals. Also, I participated in an ideation session centered on a high-priority goal.
- For the PM team, I conducted live demonstrations of the Visual Styling Framework and gathered feedback. Collaborating with Sarah Sylvestre, I shared insights on the research resource needs. Additionally, the PM team developed a set of metrics that could help us evaluate the effectiveness of our development projects. Currently, I am working to resolve conflicting metrics so that we can determine ones will be used to create baselines.
Technical Support and Engagement
Technical Support Case Volume by week:
Engagement Support Case Volume by week:
Case Topics for Engagement queue, total:
Case Topics for Engagement queue, last week:
Development Operations
- Melanie: Worked with Shannon L on EA Sprint Planning in Jira. Worked with Myron, Shannon L, and Shannon C on migrating Stringbot to AWS. (Almost ready for the first wave of testing.)
- Created and updated various Jira filters and dashboards. General investigation, testing, troubleshooting for a variety of DevOps processes.
- Drove a Go Cart for the first time! It made me a little dizzy, but I still had fun. My times improved steadily and were much better in my second heat. (FYI: Melanie got her times off her heat sheet – if anyone else is interested in sharing their data or if you managed to get some downloaded from the event, let her know as this could be cool sample data. :smiling_face_with_smiling_eyes:Big Class racing, anyone???)
- Shannon L: Rolled out Jira Automation rules to populate EA sprints in the JMP Jira project; met with DevOps teams to review build improvements and StringBot migration progress; met with JMP devs and JMP information security to review options for securely storing certs; met with Procurement to review Atlassian license renewals; assist with investigating JMP crash reports; curated Atlassian June release list affecting our Jira and Confluence sites.
- Nick R:
- Server Upgrades: JMP-Phoenix Jenkins Server, and all Plug-ins, the Swarm server, and a few internal development machines jmpci-dev-ctl and jmpci-integration-reports, were all updated to latest OS and software versions. Also removed all deprecated Jenkins plug-ins. There were several that nobody was using and stopped getting security updates.
- Wrote up our Jenkins JAVA 17 migration Jira and started work updating Jenkins agents to the new version of JAVA. As of writing this we have 34/77 nodes already updated!
- Set up space for JMPRunner in AWS. Currently running 2Tb of space on a small EC2 instance running samba. This appears to have sped up JMPRunner builds in Dave's testing, but further testing will be needed to see if this is a viable solution going forward.
- Opened Jira ticket to track AD Connector setup to use SAS.com AD in our AWS instance.
- Updates to DailyUT projects to help with launching the Jenkins agent better after creating EC2 instance. We had a few Windows 10 and 11 machines that were not auto connecting reliably to Jenkins after creation of their build machine. Did some work this week to improve that process, and we have much better automated results now.
- Work in Terraform to launch DailyUT builds via Terraform scripts instead of straight from the AWS CLI.
- Added JMP 18.1.0 Windows CI machines, and the Integration Reports AWS machines to our AWS_Watcher project that auto starts and stops EC2 instances on demand. These machines now are only using resources when needed, and now all of our JMP Desktop CI processes automatically manage their resources and start and stop on Jenkins queue demand.
- Shannon C: Attended some sessions of the Core group meetings (telemetry, styling) and met with PM team. Attended various devops group meetings. Investigated crashes.
Localization
- Allison: Validated localized 18.0 UG and BA books and signaled QA for testing; finalized and validated the GPO documentation and template files; sent out JMP Marketplace UI strings to vendors for localization and responded to queries related to the strings; looked at the converted DJ and FLM chapter for Oxygen in memoQ to see how the strings are captured and the potential issues from the conversion.
- Trish: Returned from vacay - weeding through emails and project status discussions. Project work for JMP Live Help and Group Policy Objects. Planning for 18.1 doc add-in creation and delivery of PDFs to marketing. Finished up SAS training courses.
- Sohail: Successfully migrated backend for TM Search Interface (http://jmptrans.dev.jmp.com:5001/) into a SQL Express database to improve search response times. Reimplemented all existing functionalities using dynamically built SQL queries.
- Krzysztof: Upgraded our memoQ server and memoQweb to the latest release (11.0). Worked on the memoQ filter for Oxygen Dita files. Reported problems with the converted dita files to the Doc team. Processing returns of Books for version18.0.
- Sandy: Reviewed updates to the SEM doc for Hamid; reviewed Scripting Index updates for Colleen; attended some of the Core R&D midyear discussions; finalized doc updates prior to 18.1 doc freeze next week.
Documentation
- Susan C: Worked on review feedback on the JMP Live 18.1 help (thanks to everyone who reviewed the user/admin and install help!), generated the different versions of the help, fixed a few issues, and published it. Mike M now has tested it so we’re on track to handoff to Trish early next week. Also reviewed some of the DJ book content that was migrated over to Oxygen and provided feedback.
- ChrisB: Pushed help for 18.1 and 19.0. Finished the helpmap tools (for real this time). Examined some of our FrameMaker markers in light of moving to XML. Some housecleaning of /drafts and archiving what's at PROD.
- Khawar: Tested the DJ oxygen files and recorded the issues. Participated in SAS Data Story Challenge. Working on creating a list of Sample Index to conduct an audit later.
- Qiana: Tested a few chapters in the DJ that were converted to Oxygen. Worked on JMP-20323 and did project planning and coordination for JMP 18.1.
System/Host Testing-Cary
- Mandy: Worked last week and got the EA1 video completed for 4 new features to the Data table – hoping for feedback there! Worked on another workflow builder loop issue with 2 SEs who are working on a Discovery paper – reported 3 new JIRAs with their cases. Still working on JIRAs and adding test cases where needed. Completed JMP 19 EA1 installer testing. Attended a number of meetings with the Core R&D development team this week.
- Adnane:
- Bug verifications: I have verified several bugs that have been opened since JMP 17 against JMP 17, 18, and 19, ensuring that they are properly documented and addressed.
- Testing Presets: I tested presets on more platforms and their messages.
- ESPN Data Project: I began working on the ESPN Data Project to assist Nick Holmes. I will be using JSL to wrap an ESPN API to streamline data retrieval and analysis. The end goal is to get insights on fantasy league that helps us get an edge. This project might also be featured in a JMP Discovery presentation.
- Data Story Challenge: I participated in the data story challenge and learned a little bit about SAS Viya. I met brilliant people, made valuable connections, and collaborated on creating a compelling, data-driven story.
- Hunter: Completed JMP 19 EA 1 testing, JIRA verifications, and opened a project component JIRA for a minor display issue within the log pane. Applied the latest Sequoia 15.0 Dev. Beta 2 on the host testing system Macbeta1x86 in the lab and ran some tests. And a “Thank you” to Jim Borek for helping resolve a network problem following the update to Sequoia Dev. Beta 2 on Macbeta1x86.
- Lisa G: Updated the QA Jenkins machines to Java 17. Audrey and I investigated an issue with the telemetry dashboard not running completely through so I am going to break up the project in hopes that will help. Also attended a couple of Core R&D summit discussions.
Web Testing – Cary
- Josh: JMP 19 EA 1, Working with Chris on supporting JMP Live install questions, refracting regression JSL to work with 19. Assisted Hunter with a Jira verification since he was blocked by beyond trust on his machines. Discussing changes to automation to make it more robust.
- Anna: Testing Parker’s map improvements. Testing Marketplace Add-ins.
Verifying HTML5 and JMP Live fixes.
|
Web Test Team Beijing / Cary Jira Status
|
|
Testing
|
3
|
|
Test Ready
|
42
|
|
Created Last 7 Days
|
10
|
|
Closed Last 7 Days
|
46
|
System/Host Testing-Beijing
Note from Shannon
Hope you all have a great weekend and 4th of July break! Although my pup Penny is not looking forward to the fireworks! Sigh…