InterSystems READY 2025: Source Controlling Interoperability

Source Controlling Interoperability

Pravin Barton, InterSystems Principal Application Developer, presented a demo on production decomposition, a new method that utilizes individual PTD files for each production item to improve source control and collaboration by avoiding bottlenecks associated with a single large class representation. The demonstration covered switching to the decomposed format via embedded git and concurrently editing different items. Key discussion points included the current support in CCR and embedded git, compatibility with all Iris versions, syncing with enterprise GitHub, and recommendations for managing custom methods in production classes.


 

Production Decomposition Introduction: Barton from the application services team at Intersystems presented a demo on source controlling interoperability productions, focusing on production composition. He explained that historically, the single large class representation of production configurations caused bottlenecks and merge conflicts in shared development environments. To address this challenge, production decomposition was introduced, where each item in a production is represented as a separate file. This new file format, PTD, allows for concurrent editing of different items within the same production without requiring changes to the underlying data platform.

Technical Challenges and Current State: Barton discussed the challenges of determining external and internal names for production items, as well as ensuring proper editing detection in the interoperability portal and IDEs. He announced that production decomposition is currently supported in both CCR and embedded Git and is being used by IRIS for Health and TrakCare customers, as well as internally by their team.

Demonstration of Production Decomposition: Barton provided a live demonstration, showing how a production could be switched to the new decomposed format using the embedded Git source control menu. This process involves re-exporting the production, which deletes the single class file and exports each item as an individual PTD file in a separate subdirectory. The demo illustrated how different developers could concurrently edit different items in the same production, while the system prevents simultaneous modification of the same item.

Questions and Answers: In response to audience questions, Barton clarified that embedded Git, as a source control extension, supports all IRIS versions and can be synced with enterprise GitHub. Regarding extending production classes, he recommended moving custom methods to a superclass, as source controlling these directly is not currently supported. He also noted that system default settings are source-controlled separately, and production decomposition only affects the specific production class being decomposed.

J2 Interactive

J2 Interactive is an award-winning software development and IT consulting firm that specializes in customized solutions for healthcare and life sciences.