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:
- Deploy Design-files before transferring any content using the templates
- Deploy Item types BEFORE content using them (websites, pages, gridrows, paragraphs, items)
- Deploy Content in the following order:
- Areas
- Pages
- GridRows
- Paragraphs
- 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:
- Open the Destinations-node and click New Destination
- Provide a Name
- Provide a publicly accessible URL
- 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. |