Skip to main content

%Studio.SourceControl.Production

This class is used internally by InterSystems. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.

Included is handling for exporting Productions as individual pieces of settings and importing individual item settings.

Method Inventory

Parameters

parameter SrcVer = $Id: //iris/2025.1.0/databases/sys/cls/Studio/SourceControl/Production.xml#1 $;
This Parameter should be updated when synced from Perforce
parameter Version = 9;
Revision number of this class when compiled as part of the //custom_ccrs/_common/config/... branch. This version will not be updated (by design) when the class is integrated to other branches. This allows the user to tell what version of the Studio client tools are in use.

Methods

classmethod CreateInternalName(productionName="", itemName="", itemClassName="", isProductionSettings As %Boolean = 0) as %String
Calculates the internal name for a decomposed production item
classmethod CreateProduction(productionName As %String, superClasses="") as %Status
Given internal name for a Production Settings PTD, creates the corresponding Production Class if it does not already exist in this namespace
classmethod DeleteProductionDefinitionShards(productionClass As %String, deleteMethod As %String, nameMethod As %String) as %Status
Removes settings for a given Production and each Config Item from source control. This marks each of them for delete and is triggered by deleting a decomposed Production.
classmethod ExecDirectNoPriv(sql, args...) as %SQL.StatementResult
Executes a SQL query without privilege checking if possible on this IRIS version
classmethod ExportConfigItemSettings(productionClass As %String, item As %RegisteredObject, nameMethod As %String, Output internalName As %String) as %Status
Export a single Production Config Item. For a given Ens.Config.Item, the exports the PTD for this item to the file system under the directory specified
classmethod ExportPTD(internalName As %String, nameMethod) as %Status
Creates and exports a PTD item for a given internal name, either a single config item or the production settings.
classmethod ExportProductionDefinitionShards(productionClass As %String, nameMethod As %String, Output internalNames) as %Status
Exports settings for a given Production and each Config Item from the ProductionDefinition as separate XMLs. These are exported to the appropriate file based on nameMethod of the source control class
classmethod ExportProductionSettings(productionClass As %String, nameMethod As %String, Output internalName As %String) as %Status
Exports the Production settings from ProductionDefinition given the Production class name
classmethod ExportProjectForPTD(productionClass, ptdName, exportPath) as %Status
Exports a Studio project including both the provided PTD and export notes for the PTD
classmethod GetAddOrDeletedItems(productionName As %String, ByRef modifiedItems)
Get added or deleted Config Items by checking Ens_Config.Item table against cache from OnBeforeSave
classmethod GetModifiedItemsAfterSave(internalName, Output modifiedItems)
classmethod GetModifiedItemsBeforeSave(internalName, Location, Output modifiedItems)
classmethod GetUserProductionChanges(productionName As %String, ByRef items)
Given an internal name of a Production and an IRIS user, populate an array with the filenames for each of their current uncommitted changes associated with the given Production
classmethod ImportPTD(externalName As %String, productionName As %String) as %Status
Imports a PTD into a produciton given an external name and produciton name
classmethod ImportPTDsDir(directory As %String, isDecompMethod As %String = "") as %Status
Imports all PTDs within a given directory. Also recursively imports from all subdirectories
classmethod InstanceVersion() as %Numeric
Returns value the Major.Minor version for this instance, so it can be used in comparison code which makes sure certain features are used in appropriate versions
classmethod IsEnsPortal() as %Boolean
Check if current CSP session is EnsPortal page
classmethod IsProductionClass(className As %String, nameMethod As %String) as %Boolean
Perform check if Production Decomposition logic should be used for given item
classmethod ParseExternalName(externalName, Output internalName="", Output productionName="") as %Status
Given a file name for a PTD item, returns a suggested internal name. This method assumes that the file exists on disk.
classmethod ParseInternalName(internalName, noFolders As %Boolean = 0, Output fileName, Output itemName, Output itemClassName, Output productionName, Output isProdSettings As %Boolean)
Given an internal name for a PTD item, returns a suggested filename for export, as well as: - itemName: name of the configuration item - productionName: name of the associated production - isProdSettings: if true, this item is a production settings; if false, this item is a configuration item settings
classmethod RemoveItem(internalName, noFolders As %Boolean = 0) as %Status
Given an internal name for a PTD item, removes that item from the production.
classmethod RemoveItemByExternalName(externalName, nameMethod) as %Status
Given an external name for a PTD item, removes that item from the production.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab