dotCMS
The destination dotCMS connector allows content to transformed from motation and be synced to dotCMS versions 5.2.7 to 5.3.3
Specifics
The destination dotCMS connector is able to sync both content and files.
Endpoint Config
When saving an endpoint for a dotCMS repository via REST instead of the UI you must use the following key:value pairs in the payload.
contentRepo:dotcms
contentRepoVersion:5.2.7
Additional Plugins
Cache Buster
With the way that the dotCMS cache and reindexer works, occasionally when updating a piece of content, the reindexer is unable to complete its job because the cache is not up to date. The solution is to clear the appropriate caches so that the reindexer is able to index the content. The cache buster plugin works in tandem with the destination dotCMS connector to clear the identifier and contentlet caches.
The destination dotCMS connector creates files in the dotCMS assets folder at the paths
The cache buster scans for those files along those paths and removes the content from the appropriate cache. This allows the reindex process to finish and reindex the updated content.
Unsupported
ONLY Content and Files are currently implemented. No other types are implemented yet.
Permission will not sync.
If a structure is being synced and saved to a host that does not exist prior to the sync transaction the structure will not be synced. This can be solved by manually creating the site/host record in the identifier with the problematic ID. In addition setting the defaultHostStructure
property should help avoid this situation.
Database support
Postgres and MS-SQL
Adapter Properties
dbUser
The username used to connect to the dotCMS database
true
dbPassword
The password used to connect to the dotCMS database.
true
dbConnectionURL
The URL to connect to the dotCMS database. The URL must complain the following format: Postgres example:
MS-SQL example:
true
assetsPath
The full assets path to the assets folder in dotCMS.
true
defaultLanguageCode
The default language code to use when no language code is found.
true
defaultCountryCode
The default country code to use when no country code is found.
true
defaultHostStructure
The id of the default host content type to sync content to when the host does not exist.
true
Job Options
path
Array
No
No Default Value
contentType
Array
No
No Default Value
location.site
Overwrite the site to save files to.
Text
No
No Default Value
location.path
Overwrite the path to save files to.
Text
No
No Default Value
path and contentType Job Options
The path and contentType Job Options are used to search for contents that match the options criteria, the returned contents are used to compare against the source endpoint contents to define what needs to be synced to this destination connector.
Requesting specific contentlets:
Example1: Specifying the host name
Example2: Without a host name
Where content.ef67af58-c36b-4127-afb6-03928ad41673
is the asset name of the contentlet to sync in the identifier table and it lives in the root folder (parent path == /)
If no hostname is provided the adapter will use the default host.
The provided hostname needs to exist otherwise the adapter will fail (we need to fix this).
Using a folder to sync files under it
Example1: Specifying the host name
Example2: Without a host name
Using a content type to sync contentlets of the given Content Type type
Note: only one content type is supported for syncing per job.
Example: webPageContent
Locations:
The Adapter Write supports the concept of locations, locations allow you to override the location of the synced content and support two properties: location.site and location.path, both properties are optional.
Examples:
"endpoints": [ { "id": "2e96da36-60a6-4937-9457-7b682aa546dc", "type": "destination", "detail": "location.site:demo.dotcms.com,location.path:/new/path/" } ]
Presentation Layer
The Presentation Layer objects are specific to the dotCMS system. They represent elements that are unique to the dotCMS system and cannot be synced to a different type of system. For example, it will work from dotCMS to dotCMS, does not make sense to try to sync Presentation Layer objects from dotCMS to Strapi as those elements are unique in dotCMS.
Elements deliver when the Presentation Layer is active in dotCMS are:
Languages
Containers
Templates
To sync the data of these type of elements you will need to enable the systemObjects job option from a source dotCMS endpoint.
Motation Object Support
Category
Yes
Definition
Yes
Domain
Yes
Folder
Yes
Language
Yes
Relationship
Yes
Tag
Yes
Content Mapper
Below are details on how to find the appropriate values to use in the content mapper.
mapping.uniqueId
Content type's velocity variable name
fields.mapping.uniqueId
Field velocity variable name
Troubleshooting
Last updated