Table of Contents

Deployment

Our built-in tool for deploying configurations to staging and production

The Deployment node contains our built-in tool for moving settings and some types of data from development to staging to production environments, removing some of the time consuming manual work usually required.

To use the tool:

  • Select a destination and connect to it
  • Select a data group and some data item types
  • Compare and deploy

Depending on the solution, you may have some preconfigured data groups available. If you don't, it's easy to create new ones - see data groups.

Warning

It is important to realize that the Deployment tool is a dumb tool, it does not have any kind of internal logic for calculating dependencies. This means you need to put a bit of thought into deploying things in the right order.

The generally recommended order of operations is:

  1. Deploy Design-files before transferring any content using the templates
  2. Deploy Item types BEFORE content using them (websites, pages, gridrows, paragraphs, items)
  3. Deploy Content in the following order:
    • Areas
    • Pages
    • GridRows
    • Paragraphs
  4. If deploying commerce and product settings/object you must:
    • Deploy EcomLanguages before anything else
    • Deploy the rest of the internationalization settings (Currencies, Countries, VAT groups)
    • Deploy remaining data while keeping in mind to e.g. deploy custom field types before deploying fields relying on them, etc.

Destinations

A Destination is another DynamicWeb solution you want to be able to deploy to.

To create a destination:

  1. Open the Destinations-node and click New Destination
  2. Provide a Name
  3. Provide a publicly accessible URL
  4. Provide Administrator-level credentials to the destination solution - you can use the action-menu to verify the connection

Please note that both source and destination are recommended to run the same version of DynamicWeb, as any differences may lead to errors or unexpected results. However, if you feel confident that you know what you're doing you can override this in the global settings:

<Globalsettings>
  <Settings>
    <Deployment>
      <SkipCompatibilityCheck>True</SkipCompatibilityCheck>
    </Deployment>
  </Settings>
</Globalsettings>

Data groups

At the technical level, the Deployment tool uses a series of DataItemProviders to move data – files, records in the database, configuration setting, content, etc. – from the source to the destination. It is fairly trivial to use these providers to extend a data configuration – or create one from scratch.

Typically you will use the:

  • ContentDataItemProvider to deploy CMS-content like pages, gridrows, and paragraphs
  • FilesDataItemProvider to deploy files, e.g. media files and design files
  • SqlDataItemProvider to transfer various database records

Here is a full list of DataItemProviders:

Provider Function Parameters Comments
ContentDataItemProvider Transfers content – areas, pages, and paragraphs None Includes the Area, Page, Paragraph, and Gridrow providers
AreaDataItemProvider Transfers websites (areas) None Language layers are deployed as regular websites
PageDataItemProvider Transfers pages Can be limited to a specific area (website)
ParagraphDataItemProvider Transfers paragraphs Can be limited to a specific area (website)
GridRowDataItemProvider Transfers gridrows Can be limited to a specific area (website)
FormsForEditorsDataItemProvider Transfers Forms for Editors forms with fields & options None Includes the Form, Field, and Option providers
FormDataItemProvider Transfers Forms for Editors forms None
FieldDataItemProvider Transfers Forms for Editors fields None
OptionDataItemProvider Transfers Forms for Editors field options None
SchemaDataItemProvider Transfers schema changes (table columns) Table – select a table
SettingsDataItemProvider Transfers configuration settings Key pattern– enter a comma-separated list of paths to configuration setting files
SqlDataItemProvider Transfers database records Table – select a table
Name column – select a name column
Compare columns – specify which columns to compare
FilesDataItemProvider Transfers files IncludeHiddenFiles – true/false
RecursiveSearch – true/false
TargetPath – specify a path containing the files to transfers. Defaults to /Files
Skip timestamp comparison - don't compare timestamps on files
SearchPattern - specify GetFiles search pattern support for which files to include in comparison, e.g. ?.pdf
Exlude extensions - specify an extension filter of files not to look at, e.g. '.exe,.pdf' or 'translation.xml,.pdf'. Uses endswith
Exclude segment - specify a segments filter of the file path to not look at, e.g. ('\files\templates'). Uses contains.
Typically used to transfer e.g. Design files and Images.
To top