This is the string used for naming the default proxy CSPApplication that is referenced for exporting/importing files
parameter MANAGEDEXTENT = 0;
The MANAGEDEXTENT parameter can be set to 0 (zero) to cause the Extent Manager
to ignore this class. If set to 1 then the Extent Manager will register globals used by
the class and detect collisions. Unmanaged extents (MANAGEDEXTENT = 0) are not checked.
Currently, only classes using default storage (%Storage.Persistent) can be managed.
This is required since each Namespace will have it's own Change extent
This Parameter should be updated when synced from Perforce
parameter Version = 140;
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.
property ClientResponses as array of %Integer (XMLPROJECTION = "NONE");
Tracks the deployment of the ItemSet to Primary and Secondary Environments by EID using same values as Deployed (0,1,2,3)
Does not need abandoned or stale since these are specific to the whole ItemSet
a value of 0 means that it has not been deployed
a value of 1 means that it has been downloaded but not yet deployed
a value of 2 means that it has been deployed successfully
a value of 3 means that there has been an attempt to deploy but there was an error
private method %OnAddToSaveSet(depth As %Integer = 3, insert As %Integer = 0, callcount As %Integer = 0) as %Status [ Language = objectscript ]
This callback method is invoked when the current object is added to the SaveSet,
either because %Save() was invoked on this object or on an object that references this object.
%OnAddToSaveSet can modify the current object. It can also add other objects to the current
SaveSet by invoking %AddToSaveSet or remove objects by calling %RemoveFromSaveSet.
If this method returns an error status then %Save() will fail and the transaction
will be rolled back.
classmethod Bundle(pInteractive As %Boolean = 1, pIncludeAllUncommitted As %Boolean = 0, pCCR="", pCreatedBy, pPerformUpload=1, pEmailRecipient="") as %Status [ Language = objectscript ]
Wrapper method for bundling pending changes, and added them to an ItemSet which can be uploaded to CCR for check-in
Can be either interactive or scripted
classmethod ChangeWritableState(pList="", pReadOnly As %Boolean = 0, ByRef pLog As %Stream.Object = "") as %Status [ Language = objectscript ]
method takes a file name, or an array of filenames, and changes the pReadonly state to the pReadOnly value
classmethod CheckWritableState(pList="", ByRef pReadOnly, ByRef pReadWrite, ByRef pAbsent, ByRef pLog As %Stream.Object = "") as %Status [ Language = objectscript ]
Given a list of files on the OS, returns a list of those that are Readonly, and a list of those that are writable
method Create(pItems="", pJob="", pCreatedBy="", pLabel="", pTarget="Server", pCCR="", pEnv="") as %Status [ Language = objectscript ]
Method to create a ItemSet and Payload file which can be passed to another system for import
pItems is an array subscripted by the item name (full file name on file system), with a value of add/edit/delete
classmethod DisplayLog(pID) as %Status [ Language = objectscript ]
Displays the LogHistory of an ItemSet
classmethod Download(pLoad As %Boolean = 1) [ Language = objectscript ]
Wrapper method for interactively downloading list of ItemSets from server via Web Service, and then selecting and saving one to disk
classmethod Export(pID="", ByRef pItemSetFile) as %Status [ Language = objectscript ]
Export the ItemSet to the file system
method ExportToFile(ByRef pItemSetFile) as %Status [ Language = objectscript ]
Export the ItemSet to the file system
classmethod FindReplaceInFile(pFind, pReplace, pFile, pExtensionRename="", pLog As %Stream.Object = "") as %Status [ Language = objectscript ]
as cspapplication paths must be unique, if multiple namespaces on this instance need to send/receive
ItemSets, then we may be using a secondary cspApp naming convention which is '/..#CSPAppLink/'
When this is the case, this method exchanges the values in an XML file on disk to or from the standard (/..#CSPAppLink/)
or local csp application name.
classmethod GetPathTranslation(ByRef pRoot, ByRef pPath) as %Status [ Language = objectscript ]
the Utility CSPApplication, called '/itemsetsourcelink*' acts as a mechanism to 'tar' and 'untar' ItemSets for transport to/from Server/Client
this makes sure that the CSP Application is defined for this namespace, and finds where it points on the file system
classmethod IRISLIBReadOnly(mode="") as %Boolean [ Language = objectscript ]
Utility method to change mount setting for IRISLIB; passing no mode argument will return the current status
classmethod InstanceVersion() as %Numeric [ Language = objectscript ]
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 IsValidOSProcessName(ByRef pCurrentProcess, ByRef pSServer) as %Boolean [ Language = objectscript ]
Utility method to check the OS username of the current process make sure for UNIX it matches the username that the Super Server is running as
classmethod Load(pInteractive As %Boolean = 1, pItemSetFile="", pLoadToOS As %Boolean = "", pOverwrite As %Boolean = 0, pLoadToNS As %Boolean = "", pCompile As %Boolean = "", pQspec={$get(^SYS("SourceControl", "Misc", "ImportFlags"), "kvfbryu")}, pP4user, pP4pass, ByRef pNewID As %String, pServerISID="", pToken="") as %Status [ Language = objectscript ]
Wrapper method for importing, loading to file system (OS), loading to namespace and compiling ItemSet into this namespace
Can be either interactive or scripted
classmethod LoadPayload(pPayloadFile, pQspec="", ByRef pErrorlog, ByRef pLoadedlist, pListOnly=0, ByRef pToLoad="") as %Status [ Language = objectscript ]
Method to load an unpacked itemset. This handles IRIS to Cache conversion
method LoadToNS(pQspec As %String = {$get(^SYS("SourceControl", "Misc", "ImportFlags"), "kvfbryu")}, pLoadedlist, pListonly As %Boolean = 0, pCompileProject As %Boolean = 0, ByRef pIncPercent As %String, ByRef pProjectName As %String) as %Status [ Language = objectscript ]
Loads the files from the file system into the namespace; creates a project and (optionally) compiles the project
When pCompileProject=1, the project will be compiled after load is complete
When pCompileProject=2, the project will only be compiled after load if the ItemSet does not contain this class in it's payload (i.e. pIncPercent'=2)
method LoadToOS(pQspec As %String = {$get(^SYS("SourceControl", "Misc", "ImportFlags"), "kvfbryu")}, ByRef pErrorlog As %String, ByRef pLoadedlist As %String, ByRef pReadWrite As %String, pListonly As %Boolean = 0, pOverwrite As %Boolean = 0, pP4user="", pP4pass="") as %Status [ Language = objectscript ]
Load the items in this ItemSet into the local file system
If the file already exists and is ReadOnly, then it will be changed to ReadWrite, loaded to the OS, and then marked as ReadOnly again
If the file exists and is ReadWrite, it will not be overwritten by the ItemSet load, unless pOverwrite is set to true
classmethod LogTags() as %String [ Language = objectscript ]
holder method for output redirect tags; returns the name of the compiled routine where these tags exist
[Previously private]
method LogToggle(ByRef pIO="") [ Language = objectscript ]
Logging instance method for this object; redirects IO to ..Log, and then saves it to ..LogHistory and saves the object when logging is turned off
classmethod LogToggleCore(ByRef pIO="", ByRef pLog As %Stream.Object) [ Language = objectscript ]
Logging class method; redirects IO to either a %Stream.GlobalCharacter or a %Stream.FileCharacter
classmethod NameCVT(ByRef pNameList="", pValidate As %Boolean = 0, pDropLeadingSlash As %Boolean = 0) as %Status [ Language = objectscript ]
takes an item name (or an array of names), and converts it from the file system representation to the csp application representation, or vice versa
if pName includes a Perforce version identifier (e.g. <file>#<ver> ignore the version when validating the file's existence
When pValidate is '1', the method will confirm that the file exists.
method P4Revert(SCs="", changelist="", perforceBranch="", pP4user, pP4pass) as %Status [ Language = objectscript ]
method P4SubmitItemSet(pQspec As %String = "kvfbryu", ByRef pErrorlog As %String, ByRef pLoadedlist As %String, pP4user As %String = "", pP4pass As %String = "") as %Status [ Language = objectscript ]
Logic used on the server to submit contents of a ChangeList to Perforce
classmethod ServerItemSetCount(pCCR) as %Integer [ Language = objectscript ]
Returns the count of ItemSets destined for the Server
method ServerItemSetIDGet() as %String [ Language = objectscript ]
method ServerItemSetIDSet(val) as %Status [ Language = objectscript ]
method SessionTokenGet() as %String [ Language = objectscript ]
method SessionTokenSet(val) as %Status [ Language = objectscript ]
classmethod SetUpProxyUnauth(ByRef ws As %SOAP.WebClient) [ Language = objectscript ]
Proxy configuration for un-authenticated proxy connection
classmethod Upload(pInteractive As %Boolean = 1, pCCR, pToken, pItemSetFile, pEmailRecipient="") as %Status [ Language = objectscript ]
Wrapper method for Uploading uncommitted changes to CCR for check-in
Can be either interactive or scripted
classmethod VersionPostfix() as %String [ Language = objectscript ]
Version string used to append to environment name when transmitting data to the CCR Server web services. Uses '@' as postfix piece separator and avoids
use of ":" which can be used to indicate a secondary postfix of EnvID
classmethod WSCanUpload(pCCR As %String, pOrg As %String, pSystem As %String, ByRef pReasonString As %String = "") as %Status [ Language = objectscript ]
classmethod WSDownload(pJob As %String = "", pEnv As %String = "", pToken As %String = "", pDir As %String = "", pISID As %String = "", ByRef pFilename As %String) as %Status [ Language = objectscript ]
Wrapper that calls Download WebService to download an ItemSet XML for a given ID to the local filesystem
Wrapper that calls List WebService to get a result-set listing ItemSets for a given pJob and pEnv
classmethod WSUpload(pItemSetFile As %String = "", pCCR As %String = "", pToken As %String = "", pEmailRecipient As %String = "") as %Status [ Language = objectscript ]
Wrapper that calls Upload WebService to upload an ItemSet XML for a given ID to the ItemSet Server
SQL Query: SELECT COUNT(ID) As Num FROM ItemSet WHERE CCR = :pRID AND Target='Server'
query ServerItemSetsByRID(pRID As %String, pCommitted As %String = "")
SQL Query: SELECT ID, Name, CreateTimestamp, CommittedTimestamp, ImportTimestamp
FROM ItemSet WHERE CCR = :pRID AND Target='Server' AND ''=:pCommitted UNION
SELECT ID, Name, CreateTimestamp, CommittedTimestamp, ImportTimestamp
FROM ItemSet WHERE CCR = :pRID AND Target='Server' AND Committed=:pCommitted
ORDER BY CommittedTimestamp DESC, CreateTimestamp DESC, ImportTimestamp DESC
index (CommittedMap on Committed) [Type = bitmap];
index (DeployedMap on Deployed) [Type = bitmap];
index (IDKEY on %PL97361) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()
index (ItemMap on ItemList(KEYS));
Enables Fast lookup of all ItemSets containing a given Item
index (ItemSetMap on %PL97361,ItemList(KEYS));
Index to match items in the itemlist
This is called item map because it maps items to the individual itemset
When PL97361 is resolved for all supported client versions, the first subscript should be changed from %PL97361 to %%ID