The structure of an SCCPL transformation

Current version: 2.0

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 XDT syntax to transform XML files, not the Sitecore configuration patch syntax.

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.

    Note

    If 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.sccpl

    Transforms the web.config file using the Azure Cognitive Search provider. It is also a patch to add the ConnectionStrings.config file to the cloud.search connection string.

    Sitecore.Cloud.ApplicationInsights.sccpl

    Copies 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.config file also transforms to add the appinsights.instrumentationkey connection and updates the web.config file with the Application Insights configuration.

    Sitecore.Cloud.DisableAnalytics.sccpl

    Applies the current SCCPL for the XM WDPs. This disables the Analytics and XConnect connection strings in the ConnectionStrings.config file and turns off the Xdb.Enabled setting in the Sitecore.Xdb.config file.

    Sitecore.Cloud.DisableExm.sccpl

    Applies the current SCCPL for the XM WDPs. This disables the EXM connection strings in the ConnectionStrings.config file and turns off the EXM.Enabled setting in the Sitecore.EmailExperience.Core.config file.

    Sitecore.Cloud.Common.sccpl

    A 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.config file

    • Changing the value of the customErrors modesetting to "Off" (customErrors mode="Off")

    Sitecore.Cloud.HttpsRedirection.sccpl

    A common SCCPL for all WDPs. This package transforms the web.config file to apply https redirection.

    Sitecore.Cloud.IPSecurity.sccpl

    Updates the web.config file with an example of IP filtering to limit access to the CM, Processing, and DDS roles.

    Sitecore.Cloud.Redis_CD.sccpl

    Applies 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.sccpl

    Applies the SCCPL for the CD WDP to the XM and XP topologies.

    The main actions of this package include:

    • Setting the WDP role to ContentDelivery in the web.config file.

    • Setting the correct connection strings list for the CD role in the connectionstrings.config file.

    Sitecore.Cloud.RoleSpecific_CM.sccpl

    Applies the SCCPL for the CM WDP to the XM and XP topologies.

    The main actions of this package include:

    • Setting the WDP role to ContentManagement in the web.config file.

    • Setting the correct connection strings list for the CM role in the connectionstrings.config file

    Sitecore.Cloud.RoleSpecific_DDS.sccpl

    Applies 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.sccpl

    Sets 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 Processing in the web.config file.

    • Setting the correct connection strings list for the PRC role in the connectionstrings.config file.

    Sitecore.Cloud.RoleSpecific_REP.sccpl

    Applies the SCCPL for the CM WDP to the XP and xDB topologies.

    The main actions of this package include:

    • Setting the WDP role to Reporting in the web.config file.

    • Setting the correct connection strings list for the REP role in the connectionstrings.config file.

    Sitecore.Cloud.RoleSpecific_XDBSingle.sccpl

    Applies 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.config file.

    Sitecore.Cloud.RoleSpecific_XMSingle.sccpl

    Applies the SCCPL for the Sitecore Single WDP to the XM Single topology.

    The main actions of this package include:

    • Setting the WDP role to ContentManagementContentDelivery in the web.config file.

    • Setting the correct connection strings list for the Single (CM+CD) role in the connectionstrings.config file.

    Sitecore.Cloud.RoleSpecific_XPSingle.sccpl

    Applies 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.config file.

    Sitecore.Cloud.Security.sccpl

    Copies database accounts creation scripts to the website root and transforms the web.config file with security rules.

    Sitecore.Cloud.Security_CD.sccpl

    Transforms the web.config file with security rules for the CD role.

    Sitecore.Cloud.SetCompatibilityLevel.sccpl

    Copies the SQL server compatibility level scripts to the website root.

    Sitecore.Cloud.Thundercracker.sccpl

    The main actions of this package include:

    • Removing the UploadWatcher folder functionality, (because it is not applicable for Azure).

    • Changing the location of the Media.CacheFolder folder.

    • Changing the PageStateStore and ViewStateStore settings to write to the DB.

IOActions

The IOActions are described in .ioxml files with path and action attributes; the enable, disable, and delete action values; and the following structure:

RequestResponse
<IOActions><IOAction path="App_Config\Include\001.Sitecore.Speak.Important.config" action="disable" /></IOActions>

Attributes

Description

path

The path to the file that you want to change, relative to the Website folder.

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.

Do you have some feedback for us?

If you have suggestions for improving this article,