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
$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.