Home > Class Reference > %SYS namespace > %ZHSLIB.AbstractInstaller

%ZHSLIB.AbstractInstaller

abstract class %ZHSLIB.AbstractInstaller

Abstract base class that defines the interface for product-level Installer.Install classes.

Method Inventory

Parameters

parameter MaintenanceVersion;
parameter Version;

Methods

classmethod OnComponentMaintenanceVersion(Output pMinorVersion As %String) as %Status [ Language = objectscript ]
Callback to return the minor version of the component. This implementation uses the MaintenanceVersion, which must by implemented by the installer subclass (or else the subclass must override this method using some other approach). If not overridden, and the Version parameter is not populated, this method will throw an exception (not merely return an error status). pMinorVersion is generally set to the value of a product-level macro which defines the minor version, e.g. $$$HSLIBminorVersion for HealthShare Core.
classmethod OnComponentVersion(Output pMajorVersion As %Integer) as %Status [ Language = objectscript ]
Callback to return the major version of the component. This implementation uses the Version, which must by implemented by the installer subclass (or else the subclass must override this method using some other approach). If not overridden, and the Version parameter is not populated, this method will throw an exception (not merely return an error status). pMajorVersion is generally set to the value of a product-level macro which defines the major version, e.g. $$$HSLIBmajorVersion for HealthShare Core.
classmethod OnConfigureComponent(pNamespace As %String, pVerbose As %Boolean = 0, ByRef pVars) as %Status [ Language = objectscript ]

Callback that is invoked during namespace (re)activation. Subclasses SHOULD override this method.

pVars is an array of miscellaneous information, populated by the calling code in the installation/configuration framework (mainly HS.Util.Installer). Subscripts appearing in pVars include:

  • Production - set to (namespace)_"PKG.FoundationProduction"
  • LogFile - current log file for install operation
  • Upgrade - boolean, indicating whether the current operation is an upgrade
  • Type - hardcoded to "Foundation"
  • Component - current component name
classmethod OnInstallComponent(pDatabase As %String, pVerbose As %Boolean = 0, pDevMode As %Boolean = 0, pIsUpgrade As %Boolean = 0) as %Status [ Language = objectscript ]
Callback that is invoked during product installation to allow for system-level changes to be performed. Common examples of such changes include:
  • Definition of resources and roles
  • Definition/configuration of the product library database
  • Import of localized messages for the product
Subclasses SHOULD override this method.
classmethod OnUnInstallComponent(pDatabase As %String, pVerbose As %Boolean = 0) as %Status [ Language = objectscript ]
Callback that is invoked when removing a product.
classmethod OnUnconfigureComponent(pNamespace As %String, pVerbose As %Boolean = 0, pPurgeFiles As %Boolean = 0, ByRef pVars) as %Status [ Language = objectscript ]
Callback that is invoked when removing a product from a namespace. Subclasses SHOULD override this method.
classmethod OnUpgradeSteps(pPreviousVersion As %String) as %Status [ Language = objectscript ]
What to do system wide (not specific namespaces) during an upgrade. Not currently called by the framework, but present for future use.
FeedbackOpens in a new window