class %IPM.ResourceProcessor.FileCopy
extends %IPM.ResourceProcessor.Abstract
parameter ATTRIBUTES = "Name,InstallDirectory,Overlay,CSPApplication,Defer";
Comma-separated list of resource attribute names that this processor uses
parameter DESCRIPTION = "Copies the specified directory or file (the resource name) to a specific target location (InstallDirectory) during the Activate phase.";
Description of resource processor class (shown in UI)
property CSPApplication
as %String(MAXLEN="");
Optional hint to source control class: which CSP application path do these files map to?
For use cases where the CSPApplication resource processor is too heavy-handed - e.g., /csp/xslt
Of course, this is only relevant for files that need to be copied to a CSP application.
Note that this may be a full CSP file path, not only the name of a CSP application.
property Defer
as %Boolean [ InitialExpression = 0 ];
If true, the files will be copied at the end of the Activate phase rather than at the beginning.
The default is to copy the files at the beginning of the Activate phase.
Use this for build artifacts.
property InstallDirectory
as %String(MAXLEN="") [ Required ];
Path to which the directory or file (a full filename, in that case) should be copied upon installation; may contain expressions.
property Name
as %String(MAXLEN="");
property Overlay
as %Boolean;
If true, the files should be added to the target location (rather than fully replacing it, causing other files there to be deleted)
Relevant for directories only.
method DoCopy(tSource, tTarget, pParams)
method GetSource()
Prefixes the path to the module root if it does not start with a $ variable
method NormalizeNames(ByRef pSource As %String, ByRef pTarget As %String, Output pTargetDir, Output pAsFile As %Boolean)
method OnAfterPhase(pPhase As %String, ByRef pParams)
as %Status
method OnBeforeArtifact(pExportDirectory As %String, pWorkingDirectory As %String, ByRef pParams)
as %Status
method OnBeforePhase(pPhase As %String, ByRef pParams)
as %Status
method OnExportItem(pFullExportPath As %String, pItemName As %String, ByRef pItemParams, ByRef pParams, Output pItemHandled As %Boolean = 0)
as %Status
method OnPhase(pPhase As %String, ByRef pParams, Output pResourceHandled As %Boolean = 0)
as %Status
Called as phase pPhase is executed for the resource. If pResourceHandled is set to true,
then the default behavior for that resource will be bypassed in the current phase.
Currently, this is only used in the Verify phase, because of different handling of intermediate error statuses.
TODO: Implement for standard database resources (.INC, .CLS, etc.)