ImpulseSync™ User Manual
HomePricingContact Us
  • Introduction
    • What is Impulse?
  • Crash Course of ImpulseSync
    • Overview Of ImpulseSync
    • Step 1: Endpoints
      • Endpoint Configuration
    • Step 2: Jobs
      • Job Configuration
      • Step 2a: Content manipulators
      • Step 2b: Content mapper
    • Step 3: Syncing
  • Getting Started
    • Core Concepts
    • Creating Endpoints
    • Creating Jobs
    • Starting a Transaction
    • Transaction Reports
    • Automating Jobs with Pipelines
    • Scripting Post Sync
    • Scheduling Jobs and Pipelines
    • Dashboard
    • Managing Jobs/Pipelines
    • Content Mapper
      • Aligning Mismatched Content
      • Connector Matrix
      • Locked Fields
      • Content Aligner
      • Aligning Content Challenges
  • Reports
    • Reports Screen
    • Debug Report
    • Messages
  • Connectors
    • Common Job Options
    • All Connectors List
    • Source Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • Drupal v7
      • Drupal v9
      • GitHub
      • GraphQL
      • MS Teams
      • SCP
      • Snapshot
      • Strapi v3
      • Strapi v4
    • Destination Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • SCP
      • Strapi v3
      • Strapi v4
  • Content Manipulators
    • Common Manipulator Options
    • Add Replace Field
    • AI(Artificial intelligence)
    • Change ID Manipulator
    • CSV Store Manipulator
    • Dynamic Job Store Manipulator
    • File to Text
    • Folder Manipulator
    • Get and Set Field
    • Language
    • Liquid Field
      • Liquid On the Quick
      • Basics
        • Impulse Values
        • Impulse Variables
        • Operators
        • Truthy and falsy
        • Types
        • Whitespace control
      • Tags
        • Control flow
        • Impulse Content Objects
        • Iteration
        • Utility
        • Variable
      • Filters
        • abs
        • append
        • capitalize
        • ceil
        • compact
        • concat
        • date
        • date_str
        • default
        • divided_by
        • downcase
        • escape
        • escape_once
        • first
        • floor
        • getStoredValue
        • htmlQuery
        • htmlReplace
        • idMap
        • join
        • jq
        • json
        • last
        • lstrip
        • map
        • minus
        • modulo
        • newline_to_br
        • plus
        • prepend
        • remove
        • remove_first
        • replace
        • replace_first
        • reverse
        • round
        • rstrip
        • section
        • sections
        • size
        • slice
        • sort
        • sort_natural
        • split
        • str_to_date
        • strip
        • strip_html
        • strip_newlines
        • times
        • truncate
        • truncatewords
        • type
        • uniq
        • upcase
        • utl_decode
        • url_encode
      • Liquid Playground
    • Markdown
    • Regex
    • Relationship
    • Store Field
    • Tidy
  • Time Machine
    • Snapshot
    • Viewing Snapshots
    • Delivery from Snapshots
  • Cookbook Recipes
    • Adding Fields
    • Aligning Content between Endpoints
    • Avoid overriding Fields
    • Avoid syncing Content Types
    • Combing Fields
    • Default Field Value
    • File (.doc) to Structured Content
    • File (.docx) to Structured Content - Expanded
    • HTML to Structured Content
    • Language (Locale) mismatch between endpoints
    • Paths/IDs Changed
    • Reference to Value
    • Single Content Type to Multiple
    • Splitting Content with Reference
    • Syncing Content with Languages
    • Text Select to Boolean
    • Text to Reference
    • Text to Reference - liquid
    • Two Sources to One Destination
    • Changing a folder path
    • Combining data between content types
    • Converting HTML Sections
    • JSON object to reference
    • Use CSV to convert values
    • Storing fields with Store field motator
  • Troubleshooting
    • What to do if I run into a Job Problem
    • Troubleshooting via UI
    • Submitting a ticket
  • Using Impulse Headlessly
    • Getting Started with cURL
      • Creating Endpoints
      • Creating Jobs
      • Starting a Transaction
      • Transaction Reports
      • Automating Jobs with Pipelines
      • Scheduling Jobs and Pipelines
      • Aligning Mismatched Content
      • Scripting Post Sync
  • Organization Tier Restrictions
  • Content Storage Options
Powered by GitBook
On this page
  • Configuration walkthrough
  • Specifics
  • Endpoint Config
  • Unsupported
  • Database support
  • Adapter Properties
  • Job Options
  • Sending specific contentlets:
  • Syncing File Assets to Destination
  • Using a folder to sync files under it
  • Using a content type to sync contentlets of the given Content Type type
  • Getting dependencies
  • Presentation Layer
  • Motation Object Support
  • Content Mapper
  • Troubleshooting
  1. Connectors
  2. Source Connectors

dotCMS

PreviousContentstackNextDrupal v7

Last updated 1 year ago

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.

Configuration walkthrough

Specifics

The source 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

Unsupported

ONLY Content and Files are currently implemented. No other types are implemented yet.

Permission will not sync.

Database support

Postgres and MS-SQL

Adapter Properties

Property
Purpose
Required

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

Job Options

Name
Data Type
Required
Default Value

path

Array

No

No Default Value

contentType

Array

No

No Default Value

dependenciesDepth

Integer

No

1

systemObjects

Boolean

No

false

contentDependencies

Boolean

No

false

Sending 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).

Syncing File Assets to Destination

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

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

Getting dependencies

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.

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.

Note: It is recommended to use the systemObjects option always together with the dependenciesDepth option as most of the time, Presentation Layer elements depend on other contents, for example, a Template related to a dotCMS Page (that is sent when the Presentation Layer is active) needs of the Theme files associated to that Template, and those theme files will be sent as part of the content Dependencies. It is the same for the Containers, Containers are sent when the Presentation Layer is active but when sending Containers related to a dotCMS Page you will also like to have the Contents associated to that page using that Container.

Motation Object Support

Object
Supported

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.

  • origin.uniqueId

    • Content type's velocity variable name

  • fields.origin.uniqueId

    • Field velocity variable name

Troubleshooting

postgres://source-dotcms-db:5432/dotcms
sqlserver://source-dotcms-db:1433/dotcms