%SYS.Ensemble
Class %SYS.Ensemble [ Abstract, Final, System = 4 ]
Methods
StartProduction
ClassMethod StartProduction(pProductionName As %String) As %Status
Secure wrapper for the StartProduction API in Ens.Director.
UpdateProduction
ClassMethod UpdateProduction(pTimeout As %Numeric = 10, pForce As %Boolean = 0, pCalledByScheduleHandler As %Boolean = 0) As %Status
Secure wrapper for the UpdateProduction API in Ens.Director.
StopProduction
ClassMethod StopProduction(pTimeout As %Numeric = 10, pForce As %Boolean = 0) As %Status
Secure wrapper for the StopProduction API in Ens.Director.
GetStatusAll
ClassMethod GetStatusAll(Output nsStatus) As %Status [ Internal ]
Method to get the status of productions in all known production-enabled namespaces on this system.
Note that data is NOT retrieved from remote databases.
This list will not include namespaces if the default global database for the namespace is not mounted.
The output status array is subscripted by namespace and with a value for each namespace that is a $List with 5 components:
- Production Name of last used Production if any
- Localized Status text
- 1 if the Production is Running, Stopped or Suspended, 0 otherwise, indicating 'not known to be OK'
- 'HS' if the namespace is HealthShare enabled, otherwise empty
- The numeric state value representing the production's status
GetEnsMetrics
ClassMethod GetEnsMetrics(pID As %String, pCount As %Integer, Output pValues, Output pStatus, Output pMsg, pInterval As %Numeric = 10) As %Status
Wrapper around the SYS.EnsMetrics::GetMainMetrics() API to ensure that all users with USE permissions on %Ens_Dashboard can get this information even if they aren't permitted to directly run code in the system database.
CreateDocumentation
ClassMethod CreateDocumentation(pProduction As %String = "", pIntro As %Boolean = 1, pFormat As %String, Output LogFileName As %String, Output URL As %String, Output BookName As %String, PDFFileName As %String, PDFRenderer As %String, ByRef Params As %String, pAllSettings As %Boolean = 0) As %Status
Wrapper around the Ens.Util.Documentation::CreateDoc() API to ensure that users have sufficient privileges to add the resulting material to the documentation.
The parameter PDFRenderer is deprecated and is ignored.
The parameter pAllSettings defaults to 0 but if set to 1 all settings including default values for a host item will be included.
GlobalInMirroredDB
ClassMethod GlobalInMirroredDB(pGlobal As %String = "", Output pMirrored As %Boolean) As %Status
BasicChecks
ClassMethod BasicChecks(pResources As %String = "", pCheckLicense As %Boolean = 1, pCheckNamespace As %Boolean = 1) As %Status [ Internal, Private ]
Common method to ensure that the public methods of this class are correctly invoked.
EnsembleUsername
ClassMethod EnsembleUsername() As %String
Correctly determine the expanded Interoperability manager username (used internallly and not for login) if the system is using multiple domains. If multiple domains are in use, then the Interoperability manager username should be present in the default domain.
ListAlertingUsers
ClassMethod ListAlertingUsers(Output pUsers As %String, pLimitToNamespace As %String = "") As %Status
This method is used by the portal page EnsPortal.ManagedAlertViewer
It returns a list of users who are members of the %EnsRole_AlertManager, %EnsRole_AlertOperator or %EnsRole_Alert roles.
If the role %EnsRole_Administrator has USE privilege on the %Ens_AlertAdministration resource then users of the role %EnsRole_Administrator will also be listed.
Users with %All role will not be listed unless they are explicitly members of one of the roles previously mentioned.
The default is to list all the users in the instance. Pass the namespace in the second parameter to limit the list to the user with write access to the Ens.Alerting.ManagedAlert data in a specific namespace.
A user must be permitted to edit alerts to call this API.
findAlertMembers
ClassMethod findAlertMembers(Output pUsers, pLimitToNamespace As %String = "") As %Status [ Internal, Private ]
findUserMembers
ClassMethod findUserMembers(ByRef pRoles, Output pUsers) As %Status [ Internal, Private ]
Internal private method to find all users in ROLE hierarchy for array of roles given by pRoles
findMembers
ClassMethod findMembers(pRole As %String, ByRef pUsers, ByRef pRolesAleadyExamined, ByRef pNewRolesToExamine) As %Status [ Internal, Private ]
Find User and Role members for role pRole. Called by findUserMembers
filterUsersOnGlobalAccess
ClassMethod filterUsersOnGlobalAccess(ByRef pUsers As %String, pNamespace As %String = {$NAMESPACE}, pGlobal As %String = "", pSubscript As %String = "", pAccessMode As %String = "READ") As %Boolean [ Internal, Private ]
Internal helper method to identify if user has access to the global Error handling to be trapped by caller.
SecondaryGet
ClassMethod SecondaryGet(pKey As %String = "", pProperty As %String = "", ByRef pSC As %Status) As %String [ Internal ]
Wrapper for getting secondary data. User needs Read access to the DB for 'Password'. Only support Password.
SecondarySet
ClassMethod SecondarySet(pValue As %String = "", pKey As %String = "", pProperty As %String = "") As %Status [ Internal ]
Secure wrapper for writing secondary data. Only support Password.
SecondaryDelete
ClassMethod SecondaryDelete(pKey As %String = "", pProperty As %String = "") As %Status [ Internal ]
Secure wrapper for deleting secondary data. Only support Password.
BounceExternalLanguageServer
ClassMethod BounceExternalLanguageServer(pServer As %String = "") As %Status
Method used by PEX Components Registration to bounce the server if necessary for ensuring the correct file is used User might not have %Admin_Manage and %DB_IRISSYS privileges Instead require WRITE priv on the %Ens_Code resource in order to gain elevated privileges.
doELSBounce
ClassMethod doELSBounce(pServer As %String = "") As %Status [ Internal, Private ]
GetExternalLanguageServers
ClassMethod GetExternalLanguageServers(ByRef pServers) As %Status
Method used by Context Search to get list of External Language Servers User might not have SQL privs on the Config.Gateways::ListShort query Instead require WRITE priv on the %Ens_ProductionConfig resource in order to gain elevated privileges.
findExternalLanguageServers
ClassMethod findExternalLanguageServers(ByRef pServers) As %Status [ Internal, Private ]
GetMapParent
ClassMethod GetMapParent(pInputClass As %String, pIsBatch As %Boolean = 0, Output pSC As %Status = {$$$OK}) As %Status
Method used by DTL Test page that requires de-serialization of the test input data User might not have SQL privs on the %Dictionary.ParameterDefinition table If the User does not have SQL Select privs on %Dictionary.ParameterDefinition table then user requires USE priv on the %Ens_DTLTest resource in order to gain elevated privileges.
findMapParent
ClassMethod findMapParent(pInputClass As %String, pIsBatch As %Boolean = 0, pEscalate As %Boolean = 0, Output pSC As %Status = {$$$OK}) As %Status [ Internal, Private ]
GetFirstDeviceIfTCP
ClassMethod GetFirstDeviceIfTCP(pSC As %Status = {$$$OK}) As %String [ Internal ]
Method used by Ens.Director::CreateBusinessService to aid checking if process originated with a TCP connection so that INTERRUPTs and DISCONNECT detects can be disabled. Checks the current process devices and returns the first one if it is a TCP device. Otherwise it returns empty string.
SetSAMSensorsForInteropInterfaces
ClassMethod SetSAMSensorsForInteropInterfaces(pSAMSensors As SYS.Monitor.SAM.Sensors, pStart As %TimeStamp = "", pEnd As %TimeStamp = "", pNamespace As %String = "") As %Status [ Internal ]
Internal method to set SAM Sensors for Interoperability Interface metrics
SetSAMSensorsForInteropCurrentDatabaseImpact
ClassMethod SetSAMSensorsForInteropCurrentDatabaseImpact(pSAMSensors As SYS.Monitor.SAM.Sensors, pStart As %TimeStamp = "", pEnd As %TimeStamp = "", pDatabase As %String = "") As %Status [ Internal ]
Internal method to set SAM Sensors for Interoperability Database Impact metrics
SetSAMSensorsForInteropHistoricalDatabaseImpact
ClassMethod SetSAMSensorsForInteropHistoricalDatabaseImpact(pSAMSensors As SYS.Monitor.SAM.Sensors, pStartMonth As %String = "", pEndMonth As %String = "", pDatabase As %String = "") As %Status [ Internal ]
Internal method to set SAM Sensors for Interoperability Database Impact metrics
SetSAMSensorsForInteropHistoricalInterfaces
ClassMethod SetSAMSensorsForInteropHistoricalInterfaces(pSAMSensors As SYS.Monitor.SAM.Sensors, pStartMonth As %String = "", pEndMonth As %String = "", pNamespace As %String = "") As %Status [ Internal ]
Internal method to set SAM Sensors for Interoperability Interfaces metrics
SetSAMSensorsForInteropCurrentVolume
ClassMethod SetSAMSensorsForInteropCurrentVolume(pSAMSensors As SYS.Monitor.SAM.Sensors, pStart As %TimeStamp = "", pEnd As %TimeStamp = "", pNamespace As %String = "") As %Status [ Internal ]
Internal method to set SAM Sensors for Interoperability Volume metrics
SetSAMSensorsForInteropHistoricalVolume
ClassMethod SetSAMSensorsForInteropHistoricalVolume(pSAMSensors As SYS.Monitor.SAM.Sensors, pStartMonth As %String = "", pEndMonth As %String = "", pNamespace As %String = "") As %Status [ Internal ]
Internal method to set SAM Sensors for Interoperability Volume metrics
SetSAMSensorsForInteropCurrentRange
ClassMethod SetSAMSensorsForInteropCurrentRange(pSAMSensors As SYS.Monitor.SAM.Sensors) As %Status [ Internal ]
Internal method to set SAM Sensors for Interoperability Range metrics
SetSAMSensorsForInteropHistoricalRange
ClassMethod SetSAMSensorsForInteropHistoricalRange(pSAMSensors As SYS.Monitor.SAM.Sensors) As %Status [ Internal ]
Internal method to set SAM Sensors for Interoperability Range metrics
CreateXMLSchemaGlobal
ClassMethod CreateXMLSchemaGlobal() As %Status [ Internal ]
Internal method to create XML Schema global for user with appropriate permission