Documentation Center

Working with deployment files

You can use ISHDeploy cmdlets to customize Content Manager by copying new files, replacing existing files or deploying custom ones.

Customization options

The ISHDeploy module offers two options for files customization:

  • Copying files from a folder with a structure that fully complies with the structure of the install CD
  • Recursively copy all files from the specified source folder to the specified target deployment folder

During copying, the module replaces parameters in the files with values taken from the input parameters file.

Let's take a look at each option in more detail.

Set the deploymentName variable

First set the deploymentName variable, such as in the following example:
$deploymentName="InfoShare"

Copying files

Copy files from a folder with a CD-similar structure
Copy-ISHFile -ISHDeployment $deploymentName -ishCD "c:\customfiles\"

where

  • -ishCD - Takes the path to the root folder with the same structure as the install CD. This means that the cmdlet will process and make a copy of only those files that are located in "Applications", "Database", "DocTypes", "Websites" or "CustomerSpecificFiles" subfolders. All other files and folders of the root folder from -ishCD parameter will be ignored.
  • -Force - An optional parameter that determines whether a file can be overwritten or not, if such a file already exists. It is "False" by default.
Copy files from source folder to destination
Copy-ISHFile -ISHDeployment $deploymentName -SourceFolderPath "c:\customfiles\Plugins" -DestinationFolderPath "C:\InfoShare\App\Plugins"

where:

  • -SourceFolderPath - The path to the folder with the source files.
  • -DestinationFolderPath - A path to the deployment folder where to copy. This can be one of the root folders or subfolders of a root folder of the deployment.
  • -Force - Optional parameter that determines whether a file can be overwritten or not, if such a file already exists. It is "False" by default.

Before copying files

Before using the Copy-ISHFile cmdlet, you need to know that some changes of deployment files requires that the deployment's process is stopped. Therefore you need to execute the following cmdlet before starting the copy:

Stop-ISHDeployment -ISHDeployment $deploymentName

Do not forget to run all processes again with the next cmdlet after finishing copying:

Start-ISHDeployment -ISHDeployment $deploymentName

Undo-ISHFile cmdlet

To help engineers write and debug scripts a cmdlet Undo-ISHFile is provided.

All cmdlets in this module track and keep a backup of all vanilla files being modified. This allows the module to undo all file system changes without the requirement to uninstall and then re-install.

Undo-ISHFile -ISHDeployment $deploymentName

The ability to rollback and backup

The Copy-ISHFile cmdlet makes backup copies of deployment's vanilla files only, and tracks files that were not present in the deployment at the moment of installation. So in case you run the Undo-ISHFile cmdlet, the backed up files will be copied back to the deployment, and the files that were not installed during deployment will be deleted.

It is not possible to roll back the results of the Copy-ISHFile cmdlet only. This means that before running this cmdlet, it is recommended to make a full copy of all deployment's folders. This way, in case of failure, you will have the opportunity to roll back to the previous state of the deployment's file system.