Announcement
· Oct 22

Production Decomposition - CCR Now Allows Source Controlling Individual Production Items

Production Decomposition

Production Decomposition is a new configuration option added to the CCR Client Tools that instead of source controlling the Production class as a single item, considers it a composition of configuration items. This allows different users to edit these distinct items within a Production at the same time. Historically, this has been a pain point with source controlling Productions as any work involving the Production class required a check out that prevented other users from making edits. Now check outs happen on a per-item basis within a Production where an item is considered a Business Host or the Production Settings. If a user tries to edit an item another user has checked out, edits are only blocked for that particular item.

How to Enable

This option is added to CCR client configuration in the latest CCR Client Tools. If wanting to use Production Decomposition, users should update their tools via the button on their CCR System Details page. Once the Client Tools Update has progressed through LIVE, only then should users edit their CCR Configuration for Production Decomposition. Open a terminal session in the BASE Environment for your CCR System and run 'do Configure^%buildccr'. There will be a new prompt:


Answering yes will turn on Production Decomposition. There are then follow-up prompts to allow a 'Baselining' of Production classes:

 You should run this if there are existing Productions in source control that you intend to decompose. This will delete the class export from disk and export decomposed Production items. Once succeeding, these changes will need to be Bundled and Uploaded to a CCR. When loading the resulting ItemSet into subsequent Environments, Production Decomposition will be set automatically by detecting a delete of the Production class paired with add of the decomposed items. Alternatively, if no Productions yet exist, Production Decomposition should manually be set through 'do Configure^%buildccr' in all Environments and new Productions will be treated as decomposed when they are created.

Known Limitations

  • Currently using Production Decomposition requires all edits to the Production Configuration to be made from the Interoperability Portal. Edits to the Production class from an IDE are not source controlled. There is, however, an enhancement in progress to allow direct editing of the Production Definition XData block if no other users are currently editing items for that Production.
  • Decomposition also disallows source controlling custom code (methods, properties, parameters, etc.) in a Production class. A suggested workaround is to edit the Production class to extend a super class to contain custom code. If custom code relies on inheritance from Ens.Production, allow non-source-controlled editing temporarily by setting ^SYS("SourceControl", "Production", "EnableIDE") = 1. Then edit the Production class to extend the super class. Following this the override global should be set to 0.

So, if you would like to take advantage of Production Decomposition in CCR, update your client tools! Give it a try and let us know what you think. If you have any comments, problems, or suggestions, leave a comment or reach out through typical CCR support channels as we are always aiming to delight our users.

If you are not a CCR user but are interested in using Production Decomposition with Git, see the announcement about Production Decomposition using git-source-control here.

Discussion (1)3
Log in or sign up to continue