dotCMS
Last updated
Last updated
The source dotCMS connector allows content to be picked up from dotcms versions 5.2.7 to 5.3.3 to be picked up and transformed into motation.
The source dotCMS connector is able to sync both content and files.
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
ONLY Content and Files are currently implemented. No other types are implemented yet.
Permission will not sync.
Postgres and MS-SQL
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.
false
defaultCountryCode
The default country code to use when no country code is found.
false
defaultHostStructure
The default host structure to use when no host is found.
false
path
Array
No
No Default Value
contentType
Array
No
No Default Value
dependenciesDepth
Integer
No
1
systemObjects
Boolean
No
false
contentDependencies
Boolean
No
false
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).
Currently syncing file assets will sync to your destination but the set up can be different if your syncing just file assets from a folder to your destination for example, If no file assets are attached to a content type or you want to sync a file asset alone to your destination you can specify the path for impulse to pick it up and sync over, what is different is where you change the destination job properites. If you are syncing to Strapi Connector its simply the path to the media assets in strapi, this is the case for each connector. Please refer to each connector page for additonal info to set the correct config for the destination file assets sync
Example1: Specifying the host name
Example2: Without a host name
Note: only one content type is supported for syncing per job.
Example: webPageContent
Dependencies in dotCMS are:
Host related to the contents to sync
Contents related by relationship fields
When content is a dotCMS page: Contents related to the page
When content is a dotCMS page and if the page templates uses Containers as files: The Container files
When content is a dotCMS page: Theme files associated to the template of the page
Images related to the contents to sync by Image fields
Files related to the contents to sync by binary files
To sync the data of these contents and/or fields you will need to set the dependency depth to the appropriate level.
Example: get dependencies 1 level deep
This will get any related contents for a content to sync that is directly related to the content. Any content that has a relationship to the related content will not be picked up.
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.
Category
Yes
Definition
Yes
Domain
Yes
Folder
Yes
Language
Yes
Relationship
Yes
Tag
Yes
Below are details on how to find the appropriate values to use in the content mapper.
origin.uniqueId
Content type's velocity variable name
fields.origin.uniqueId
Field velocity variable name