The structure of an SCCPL transformation
A Sitecore Cargo Payload (SCCPL) package is the extension of a ZIP package with the following structure:
| Command | Description |
|---|---|
CopyToWebsite/* | Copies files to the Website folder in the target installation. You can use this to deploy new files or overwrite existing files, such as resource files, DLLs, and configuration files. |
CopyToRoot/* | Copies files to the root of the Web Deployment Package (WDP). You usually use this, for example, to inject .dacpac or .sql files to perform database changes. |
Xdts/* | XDT transformations for XML files are under the Website root. Use XDT transformations to tweak configuration files that the WDP deploys without adding new configuration files. The file name convention is: {original file name}.xdt.Note SCCPL transformations use the |
IOActions/*.ioxml | An XML file that describes the actions that are going to happen to the files in a WDP package. See the example in the following IO Actions section. |
The structure of a SCCPL package
The following example shows the structure of a SCCPL package.
| Package | Description |
|---|---|
CopyToWebsite\App_Config\Include\Component.config | Configuration file for a new component, integration into Sitecore. |
CopyToWebsite\bin\Component.dll | DLL file for the component. |
CopyToWebsite/sitecore/shell/client/Applications/Component/page.cshtml | Resource file - MVC page view. |
Xdts\App_Config\ConnectionStrings.config.xdt | XDT transformation: adding connection string for the new component. |
IOActions\Component.ioxml | Enable/disable configuration files. |
Basic SCCPL packages
You can fine-tune your Sitecore solution to match your needs by using SCCPL packages. There are two different approaches to doing this:
-
Adjust your current SCCPL.
NoteIf you choose this option, you must branch and merge on updates.
-
Create a new SCCPL based on your current SCCPL in the Cargo folder, (the Cargo folder includes SCCPLs). Then, include the relevant SKU file, (in
$SKU.packaging.config.json, you can learn how to process a SCCPL).The following table outlines the basic Sitecore SCCPL packages:
Package Description Sitecore.Cloud.Search.Azure.sccplTransforms the web.configfile using the Azure Cognitive Search provider. It is also a patch to add theConnectionStrings.configfile to the cloud.search connection string.Sitecore.Cloud.ApplicationInsights.sccplCopies the Application Insights configuration files to both the*/base and the App_Config/Sitecore/Azure/* folders, and the assemblies files to the*/bin* folder. The ConnectionStrings.configfile also transforms to add theappinsights.instrumentationkeyconnection and updates theweb.configfile with the Application Insights configuration.Sitecore.Cloud.DisableAnalytics.sccplApplies the current SCCPL for the XM WDPs. This disables the Analytics and XConnect connection strings in the ConnectionStrings.configfile and turns off theXdb.Enabledsetting in theSitecore.Xdb.configfile.Sitecore.Cloud.DisableExm.sccplApplies the current SCCPL for the XM WDPs. This disables the EXM connection strings in the ConnectionStrings.configfile and turns off theEXM.Enabledsetting in theSitecore.EmailExperience.Core.configfile.Sitecore.Cloud.Common.sccplA common SCCPL for all WDPs. The main actions of this package include: - Setting the data folder to
D:\home\site\wwwroot\App_Data - Preparing a placeholder for a Sitecore license
- Disabling the
Sitecore.Diagnostics.configfile - Changing the value of the
customErrorsmodesetting to "Off" (customErrors mode="Off")
Sitecore.Cloud.HttpsRedirection.sccplA common SCCPL for all WDPs. This package transforms the web.configfile to apply https redirection.Sitecore.Cloud.IPSecurity.sccplUpdates the web.configfile with an example of IP filtering to limit access to the CM, Processing, and DDS roles.Sitecore.Cloud.Redis_CD.sccplApplies the SCCPL for the CD WDP to the XM and XP topologies, and enables the Redis cache configuration and connection strings. Sitecore.Cloud.RoleSpecific_CD.sccplApplies the SCCPL for the CD WDP to the XM and XP topologies.
The main actions of this package include:- Setting the WDProle to
ContentDeliveryin theweb.configfile. - Setting the correct connection strings list for the CDrole in the
connectionstrings.configfile.
Sitecore.Cloud.RoleSpecific_CM.sccplApplies the SCCPL for the CM WDP to the XM and XP topologies.
The main actions of this package include:- Setting the WDProle to
ContentManagement in theweb.configfile. - Setting the correct connection strings list for the CMrole in the
connectionstrings.configfile
Sitecore.Cloud.RoleSpecific_DDS.sccplApplies the SCCPL for the DDS role to the XP topology.
The main action of this package is:- Setting the WDP role to ContentManagement, DedicatedDispatch in the web.config file.
Sitecore.Cloud.RoleSpecific_PRC.sccplSets the correct connection strings list for the DDS role and applies the PRC WDP for the XP and xDB topologies.
The main actions of this package include:- Setting the WDP role to Processingin the
web.configfile. - Setting the correct connection strings list for the PRCrole in the
connectionstrings.configfile.
Sitecore.Cloud.RoleSpecific_REP.sccplApplies the SCCPL for the CM WDP to the XP and xDB topologies.
The main actions of this package include:- Setting the WDP role to Reportingin the
web.configfile. - Setting the correct connection strings list for the REProle in the
connectionstrings.configfile.
Sitecore.Cloud.RoleSpecific_XDBSingle.sccplApplies the SCCPL for the Sitecore Single WDP to the xDB Single topology.
The main actions of this package include:- Setting the WDP role to Processing, Reporting in the
web.config file. - Setting the correct connection strings list for the Single (PRC+REP) role in the
connectionstrings.configfile.
Sitecore.Cloud.RoleSpecific_XMSingle.sccplApplies the SCCPL for the Sitecore Single WDP to the XM Single topology.
The main actions of this package include:- Setting the WDP role to ContentManagement, ContentDeliveryin the
web.configfile. - Setting the correct connection strings list for the Single (CM+CD) role in the
connectionstrings.configfile.
Sitecore.Cloud.RoleSpecific_XPSingle.sccplApplies the SCCPL for Sitecore Single WDP to the XP Single topology.
The main action of this package is:- Setting the correct connection strings list for the Single (CM+CD+PRC+REP) role in the
connectionstrings.configfile.
Sitecore.Cloud.Security.sccplCopies database accounts creation scripts to the website root and transforms the web.config filewith security rules.Sitecore.Cloud.Security_CD.sccplTransforms the web.configfile with security rules for the CD role.Sitecore.Cloud.SetCompatibilityLevel.sccplCopies the SQL server compatibility level scripts to the website root. Sitecore.Cloud.Thundercracker.sccplThe main actions of this package include: - Removing the UploadWatcherfolder functionality, (because it is not applicable for Azure).
- Changing the location of the Media.CacheFolder folder.
- Changing the
PageStateStoreandViewStateStoresettings to write to the DB.
- Setting the data folder to
IOActions
The IOActions are described in .ioxml files with path and action attributes; the enable, disable, and delete action values; and the following structure:
| Attributes | Description |
|---|---|
| path | The path to the file that you want to change, relative to the Websitefolder. The value must be the exact path to a single file, including the expected extension(s). Wildcards are not supported. |
| action | A file-level action (enable, disable, or delete) that is performed on the file. |
| IO actions | Description |
|---|---|
| enable | Enable a configuration file by renaming it from *.config.disabled, or *.config.example, to *.config. |
| disable | Disable a configuration file by renaming it from *.config to *.config.disabled. |
| delete | Delete the file from the package. |