Deployment Mappings
The following Deployment Handlers supports the deployment of resources from Cloud CMS to files or file system equivalents:
These Deployment Handlers all have the common function. They must work with content from Cloud CMS, consisting of Nodes,
Associations, binary attachments and a potentially complex content graph of relationships. They must take that content
and then map it down into a file system compatible representation consisting of files and folders.
Cloud CMS lets you use the f:deployment-config
feature to
precisely specify how your individual content instances and content of a given type will deploy through these handlers.
Using this feature, you can take advantage of templated file path calculations so that all of your content is handled
in the same way.
Default Behaviors
If the f:deployment-config
feature is not used, the aforementioned Deployment Handlers will deployment content
with a default strategy.
For nodes -
- All nodes will be written to
/{{_doc}}/node.json
- All node attachments will be written to
/{{_doc}}/{{attachmentId}}.{{extension}}
For associations -
- All associations will be written to
/{{_doc}}/association.json
- All association attachments will be written to
/{{_doc}}/{{attachmentId}}.{{extension}}
Custom Behaviors
You can specify custom file system mappings using the f:deployment-config
feature. These mappings are defined on the feature configuration itself.
Suppose you have a Node like this:
{
"title": "The Adventures of Willy Beamish",
"category": "software",
"sku": "12345"
}
And you set up the following f:deployment-config
feature on that node to look like this:
{
"default": {
"mappings": [{
"type": "object-to-file",
"config": {
"filepath": "/{{object.category}}/{{object.sku}}/game.json"
}
}, {
"type": "attachment-to-file",
"config": {
"attachmentId": "cover",
"filepath": "/{{object.category}}/{{object.sku}}/cover.jpg"
}
}]
}
}
When you deploy this content, the cover
attachment (say, the cover art) for the node will be written to disk as:
/software/12345/cover.jpg
For more information on configuring this feature, please see read our documentation on the
Deployment Configuration Feature.