IPM
Module Class Reference

Static Public Member Functions

_.Library.Status BeginCaptureOutput (_.Library.String pCookie)
 This method enables I/O redirection (see EndCaptureOutput for retrieval). More...
 
 ConstructInvertedDependencyGraph (pDependencyGraph, pInvertedDependencyGraph)
 Construct an inverted dependency graph from the dependency graph of a module. More...
 
 CopyItems (itemspec, source, target, qspec)
 This method exports items (classes, routines, etc.) and reloads it into a different namespace. More...
 
 CopyItemsInPackage (_.Library.String pPackage, _.Library.String pFromNamespace, _.Library.String pToNamespace)
 Copy a package from one namespace to another. More...
 
_.Library.String CreateAndGetSSLConfig (pProperties)
 Returns the name of the default SSL config after creating if it it does not already exist.
 
 CreateOrUpdateIncludeFile (_.Library.String pName, _.Library.String pLineArray)
 Creates (or updates) an include file with name pName and contents in an indexed. More...
 
_.Library.Status EndCaptureOutput (_.Library.String pCookie, pText)
 This method captures the output from a program and delivers it as an array of lines.
 
_.Library.Status GetDependentsAsTree (pTree, pErrorList, _.Library.String pModuleName, _.Library.String pModuleVersion, _.Library.List pRepoNames)
 Returns a tree of dependents, with dependent modules at the root, for a given module name (and optional version)
More...
 
_.Library.Status GetDependentsList (_.Library.ListOfObjects pList, pErrorList, _.Library.String pModuleName, _.Library.String pModuleVersion, _.Library.List pRepoNames)
 Returns a flat list of dependents for a given module name (and optional version)
More...
 
_.Library.ListOfObjects GetFlatDependencyListFromInvertedDependencyGraph (pInvertedDependencyGraph)
 Given an inverted dependency graph, construct an ordered dependency list. More...
 
_.Library.Status GetInstalledModuleListSQL (_.Library.String pSQL, _.Library.Boolean pSnapshots)
 If pSnapshots is empty, lists all modules. More...
 
_.IPM.Storage.Module GetModuleObjectFromPath (_.Library.String pPath, _.Library.Boolean pFound)
 Given a path to a module.xml file (directory), tries to correlate it to an instance of <class>IPM.Storage.Module</class>. More...
 
_.IPM.Storage.Module GetModuleObjectFromStream (_.Stream.Object pStream, _.Library.Boolean pFound)
 Given a stream, tries to correlate it to an instance of <class>IPM.Storage.Module</class>. More...
 
_.Library.Status GetRequiredVersionExpression (_.Library.String pModuleName, _.Library.List pExcludeModules, _.IPM.General.SemanticVersionExpression pExpression, _.Library.List pSourceList)
 Returns a semantic version expression capturing all version requirements for a given module name in the current namespace. More...
 
_.Library.Status LoadCompleted (_.Library.String pServerName, _.Library.String pModuleName, _.Library.String pVersion, _.Library.String pDeployed, _.Library.String pPlatformVersion, pParams, pDependencyGraph)
 Intended to be invoked only as a work queue callback (so status and workqueue will be defined) More...
 
 LoadDependencies (pDependencyGraph, pParams, _.SYSTEM.WorkMgr pWorkQueue)
 Format of pDependencyGraph: More...
 
_.Library.Status LockWithCurrentDependencies (_.Library.String pModuleName)
 Short-term approach to lock a module's dependencies within the module manifest (rather than using a separate file).
 
_.Library.Boolean NamespaceHasModule (_.Library.String pNamespace, _.Library.String pModuleName)
 Helper method to see if pNamespace has pModule (a module name) installed. More...
 
_.Library.Status ResolveItems (itemlist, itemspec, namespace)
 This method resolves itemspec used by Name sttribute in <Resource> and <Mapping>
 
_.Library.Status RunCommand (_.Library.String pCwd, _.Library.List pCmd, _.Stream.Object pLogOutput, _.Stream.Object pErrOutput, _.Library.String pRetCode)
 Run command with $ZF(-100)
More...
 
_.Library.Status RunCommandViaZF (_.Library.String pCmd, pLogOutput, pErrOutput, _.Library.Integer pTimeout, _.Library.String pRetCode, _.Library.String pArgs)
 Copied from Net.Remote.Utility:RunCommandViaCPIPE and modified slightly to fit these purposes: More...
 
 SyncLoadDependencies (_.IPM.Storage.Module pModule, pParams)
 Temporary workaround to synchronously load dependencies. More...
 
_.Library.Status UninstallAll (_.Library.Boolean pForce, pParams)
 Uninstalls all modules from the current namespace.
 

Member Function Documentation

◆ BeginCaptureOutput()

_.Library.Status BeginCaptureOutput ( _.Library.String  pCookie)
static

This method enables I/O redirection (see EndCaptureOutput for retrieval).

pCookie has the previous I/O redirection info.

◆ ConstructInvertedDependencyGraph()

ConstructInvertedDependencyGraph (   pDependencyGraph,
  pInvertedDependencyGraph 
)
static

Construct an inverted dependency graph from the dependency graph of a module.


@Argument pDependencyGraph Dependency graph constructed.
@Argument pInvertedDependencyGraph Inverted dependency graph constructed.

◆ CopyItems()

CopyItems (   itemspec,
  source,
  target,
  qspec 
)
static

This method exports items (classes, routines, etc.) and reloads it into a different namespace.

The syntax for itemspec is the Name attribute in <Resource> tag and <Mapping> tag

◆ CopyItemsInPackage()

CopyItemsInPackage ( _.Library.String  pPackage,
_.Library.String  pFromNamespace,
_.Library.String  pToNamespace 
)
static

Copy a package from one namespace to another.

This works whether or not the contents of

the package are deployed.
This copies classes and include files in the package.

◆ CreateOrUpdateIncludeFile()

CreateOrUpdateIncludeFile ( _.Library.String  pName,
_.Library.String  pLineArray 
)
static

Creates (or updates) an include file with name pName and contents in an indexed.

subscripted array pLineArray.
@Argument pName Name of include file.
@Argument pLineArray Subscripted array whose keys are indices and values correspond to lines in the include file. The top level node should have the number of lines.

◆ GetDependentsAsTree()

_.Library.Status GetDependentsAsTree (   pTree,
  pErrorList,
_.Library.String  pModuleName,
_.Library.String  pModuleVersion,
_.Library.List  pRepoNames 
)
static

Returns a tree of dependents, with dependent modules at the root, for a given module name (and optional version)

pRepoNames is a $ListBuild list of repositories in which to search for dependents; if blank, only currently-installed modules (and any missing dependencies) are considered.
Tree subscripts are $lb(Name,VersionString,ServerName).
@API.Method @Modifier Availability InterSystems

◆ GetDependentsList()

_.Library.Status GetDependentsList ( _.Library.ListOfObjects  pList,
  pErrorList,
_.Library.String  pModuleName,
_.Library.String  pModuleVersion,
_.Library.List  pRepoNames 
)
static

Returns a flat list of dependents for a given module name (and optional version)

pRepoNames is a $ListBuild list of repositories in which to search for dependents; if blank, only currently-installed modules (and any missing dependencies) are considered.
@API.Method @Modifier Availability InterSystems

◆ GetFlatDependencyListFromInvertedDependencyGraph()

_.Library.ListOfObjects GetFlatDependencyListFromInvertedDependencyGraph (   pInvertedDependencyGraph)
static

Given an inverted dependency graph, construct an ordered dependency list.

The ordering is from least dependent module to most dependent. It is essentially a flattened dependency graph.
@Argument pInvertedDependencyGraph Inverted dependency graph.

◆ GetInstalledModuleListSQL()

_.Library.Status GetInstalledModuleListSQL ( _.Library.String  pSQL,
_.Library.Boolean  pSnapshots 
)
static

If pSnapshots is empty, lists all modules.

If 1, only snapshots; if 0, only non-snapshots.

◆ GetModuleObjectFromPath()

_.IPM.Storage.Module GetModuleObjectFromPath ( _.Library.String  pPath,
_.Library.Boolean  pFound 
)
static

Given a path to a module.xml file (directory), tries to correlate it to an instance of <class>IPM.Storage.Module</class>.

Throws errors.

◆ GetModuleObjectFromStream()

_.IPM.Storage.Module GetModuleObjectFromStream ( _.Stream.Object  pStream,
_.Library.Boolean  pFound 
)
static

Given a stream, tries to correlate it to an instance of <class>IPM.Storage.Module</class>.

Throws errors.

◆ GetRequiredVersionExpression()

_.Library.Status GetRequiredVersionExpression ( _.Library.String  pModuleName,
_.Library.List  pExcludeModules,
_.IPM.General.SemanticVersionExpression  pExpression,
_.Library.List  pSourceList 
)
static

Returns a semantic version expression capturing all version requirements for a given module name in the current namespace.

A list of modules to exclude may be provided (for example, if these modules would be updated at the same time).

◆ LoadCompleted()

_.Library.Status LoadCompleted ( _.Library.String  pServerName,
_.Library.String  pModuleName,
_.Library.String  pVersion,
_.Library.String  pDeployed,
_.Library.String  pPlatformVersion,
  pParams,
  pDependencyGraph 
)
static

Intended to be invoked only as a work queue callback (so status and workqueue will be defined)

Signature must match <method>LoadModuleReference</method> per work queue manager conventions.

◆ LoadDependencies()

LoadDependencies (   pDependencyGraph,
  pParams,
_.SYSTEM.WorkMgr  pWorkQueue 
)
static

Format of pDependencyGraph:

pDependencyGraph("module name") = $ListBuild(<depth>,<server name>,<version>) pDependencyGraph("module name","<dependent module> <dependent module version>") = <irrelevant>

◆ NamespaceHasModule()

_.Library.Boolean NamespaceHasModule ( _.Library.String  pNamespace,
_.Library.String  pModuleName 
)
static

Helper method to see if pNamespace has pModule (a module name) installed.

Returns false if the module is not installed (which may be because the namespace does not exist).

◆ RunCommand()

_.Library.Status RunCommand ( _.Library.String  pCwd,
_.Library.List  pCmd,
_.Stream.Object  pLogOutput,
_.Stream.Object  pErrOutput,
_.Library.String  pRetCode 
)
static

Run command with $ZF(-100)

pCwd - Working folder<br/ > pCmd - $ListBuild for command with arguments<br/ > pLogOutput - Pass filename or stream object, to get all output, empty string to ignore and have output from command in default output<br/ > <vr>pErrOutput - if not specified, gets the value from pLogOutput<br/ > <vr>pRetCode - Code returned by OS<br/ >

◆ RunCommandViaZF()

_.Library.Status RunCommandViaZF ( _.Library.String  pCmd,
  pLogOutput,
  pErrOutput,
_.Library.Integer  pTimeout,
_.Library.String  pRetCode,
_.Library.String  pArgs 
)
static

Copied from Net.Remote.Utility:RunCommandViaCPIPE and modified slightly to fit these purposes:

Run a command using $ZF(-1) and an external temporary file to store the command output.
If pDeleteTempFile is 0 (false), the temporary file is not deleted; in this case, it is up to the caller to delete it when done with it.

◆ SyncLoadDependencies()

SyncLoadDependencies ( _.IPM.Storage.Module  pModule,
  pParams 
)
static

Temporary workaround to synchronously load dependencies.

Can be removed once

HSIEO-4450 is complete.