Object types supported by continuous integration

Continuous integration supports the following types of Xperience objects:

General

Object type

CI folder name

Notes

Alternative forms

cms.alternativeform

Child object type with the following possible parent types: Custom tables, Page types, Module classes

User avatars

cms.avatar

Consents

cms.consent

Includes consent definitions, with all language versions of the consent texts. Continuous integration does not track consent agreements given by contacts or archived consents.

Countries

cms.country

Supported child objects:

  • States (cms.state)

Cultures

cms.culture

Custom tables

cms.customtable

Includes the definitions and settings of custom tables. The data records stored within the tables are represented by a separate object type for each table, named in format customtableitem.<table code name>.

Note: If you change the code name of a custom table with existing data records, the system attempts to re-serialize all data under the new object type. If any problems occur, you may need to manually serialize all objects in the Continuous integration application to bring your CIRepository folder into the correct state.

Supported child objects:

Custom table data

customtableitem.<table code name>

Represents the data records stored within custom tables. Each custom table has a separate object type for its data, named in format customtableitem.<table code name>. For example: customtableitem.customtable.sampletable

Note: The continuous integration solution does not track the data of custom tables without an ItemGUID field. The GUID values are used to identify custom table records and in the names of the corresponding XML files. You can add a GUID field and generate identifier values for all records by clicking Create GUID on the Fields tab of the custom table’s editing interface.

Email templates

cms.emailtemplate

Facebook apps

sm.facebookapplication

Supported child objects:

  • Facebook pages (sm.facebookaccount)

Facebook pages

sm.facebookaccount

Child object type of Facebook app objects.

The continuous integration data does not include individual Facebook posts or the statistical data (Insights) measured for Facebook pages.

Forms

cms.form
cms.formclass

Only includes form definitions and settings, not the data records stored by individual forms.

The system uses multiple object types to store the definitions and settings of forms. See the Forms section in Continuous integration repository structure for more information.

Form controls

cms.formusercontrol

Help topics for UI elements

cms.helptopic

Child object type of UI element objects.

Integration bus connectors

integration.connector

Includes the definitions of integration bus connectors. Outgoing and incoming integration tasks are dynamic data and are not tracked by continuous integration.

Libraries (DLLs) registered for custom modules

cms.resourcelibrary

Child object type of Module objects.

LinkedIn apps

sm.linkedinapplication

Supported child objects:

  • LinkedIn company profiles (sm.linkedinaccount)

LinkedIn company profiles

sm.linkedinaccount

Child object type of LinkedIn app objects.

The continuous integration data does not include individual company updates (posts) or the statistical data measured for LinkedIn company profiles.

Macro identities assigned to users

cms.usermacroidentity

Child object type of User objects.

Macro rules

cms.macrorule

Macro signature identities

cms.macroidentity

Media libraries

media.library

Supported child objects:

Media library files

media.file

Child object type of Media library objects.

Only includes media file definitions, not the binary data of individual media files. Binary data is stored in the location configured for the media library.

Memberships

cms.membership

Meta files

cms.metafile

Includes files related to other objects. For example thumbnail images of page types or email template attachments.

Modules

cms.resource

Supported child objects:

  • Module permissions (cms.permission)
  • Libraries (DLLs) registered for custom modules (cms.resourcelibrary)
  • UI elements (cms.uielement)

Module classes

cms.class

Includes the definitions and settings of module classes (object types).

If you wish to use continuous integration for the data stored by custom module classes, you need to enable continuous integration in the corresponding type information code. See: Enabling continuous integration for custom classes

Supported child objects:

Module classes - Customizable

cms.systemtable

Module classes that have the Can be customized property enabled are represented by the separate cms.systemtable object type.

Supported child objects:

Module permissions

cms.permission

Child object type of Module objects.

Page layouts (shared)

cms.layout

Page template categories

cms.pagetemplatecategory

Page templates

cms.pagetemplate

Page templates (MVC)

cms.pagetemplateconfiguration

Represents custom page templates created for MVC pages.

Page type scopes

cms.documenttypescope

Page types

cms.documenttype

Supported child objects:

Permissions of classes (Page types or Custom tables)

cms.classpermission

Child object type with the following possible parent types: Custom tables, Page types

Queries

cms.query

Child object type with the following possible parent types: Custom tablesPage types, Module classes

Report categories

reporting.reportcategory

Report graphs

reporting.reportgraph

Child object type of Report objects.

Report subscriptions

reporting.reportsubscription

Child object type of Report objects. Report subscriptions are always site-related objects.

Report tables

reporting.reporttable

Child object type of Report objects.

Report values

reporting.reportvalue

Child object type of Report objects.

Reports

reporting.report

Supported child objects:

  • Report graphs (reporting.reportgraph)
  • Report subscriptions (reporting.reportsubscription)
  • Report tables (reporting.reporttable)
  • Report values (reporting.reportvalue)
  • Reports - Saved views (reporting.savedreport)

Reports - Saved graph images

reporting.savedgraph

Child object type of Report - Saved view objects.

Reports - Saved views

reporting.savedreport

Child object type of Report objects.

Supported child objects:

  • Reports - Saved graph images (reporting.savedgraph)

Resource strings (localization)

cms.resourcestring

Includes the basic definitions of resource strings that are stored in the database. For strings stored within resx files, use your source control system to synchronize the files directly.

The text values (translations) of individual strings are stored separately under the cms.resourcetranslation binding object type.

Roles

cms.role

Scheduled tasks

cms.scheduledtask

Does not include System tasks (dynamically created temporary tasks that the system uses internally).

Search indexes

cms.searchindex

When restoring data from the CIRepository folder, you can configure the restore utility to automatically log rebuild tasks for any new or modified search indexes. The index rebuilds are processed when the application starts up after the restore operation.

See Restoring continuous integration files to the database for more information.

Setting categories and groups

cms.settingscategory

The cms.settingscategory object type includes both setting categories and setting groups.

Settings

cms.settingskey

Settings are supported by continuous integration, but excluded by default in the repository.config file. Settings may contain sensitive data – only remove the exclusion if you agree to make setting values available within the file system used by your application and any connected source control systems. You can configure the repository.config file to include settings in general, but exclude individual setting keys that you consider sensitive.

SharePoint connections

sharepoint.sharepointconnection

SharePoint libraries

sharepoint.sharepointlibrary

Continuous integration does not synchronize files stored in SharePoint libraries. After restoring a new SharePoint library from the CIRepository folder, the system automatically synchronizes the files from the related SharePoint server.

Sites

cms.site

The continuous integration data does not include the status of sites (running, stopped, etc.). When restoring data from the CIRepository folder, any new sites are stopped by default and need to be started manually in the Sites application.

Supported child objects:

Site domain aliases

cms.sitedomainalias

Child object of Site objects.

SMTP servers

cms.smtpserver

Includes the additional servers defined in the SMTP servers application.

States

cms.state

Child object type of Country objects.

Time zones

cms.timezone

Transformations

cms.transformation

Child object type of Page type objects.

Translation services

cms.translationservice

Twitter apps

sm.twitterapplication

Supported child objects:

  • Twitter channels (sm.twitteraccount)

Twitter channels

sm.twitteraccount

Child object type of Twitter app objects.

The continuous integration data does not include individual Tweets or the statistical data (Analytics) measured for Twitter channels.

UI elements

cms.uielement

Child object type of Module objects.

Supported child objects:

  • Help topics (cms.helptopic)

Users

cms.user
cms.usersettings

Users in Xperience are a composite object type. The basic properties are stored within cms.user objects, with additional settings within child cms.usersettings objects. See the Users section in Continuous integration repository structure for more information.

Supported child objects:

Web part categories

cms.webpartcategory

Web part layouts

cms.webpartlayout

Child object type of Web part objects.

Web parts

cms.webpart

Supported child objects:

Widget categories

cms.widgetcategory

Widget dashboard content

cms.dashboard

Child object type of User objects.

Widgets

cms.widget

Workflows

cms.workflow

Includes the definitions of workflows. Continuous integration does not track the workflow status of pages. Pages under workflow are fully stored in the repository only after they are published.

Supported child objects:

  • Workflow scopes (cms.workflowscope)
  • Workflow steps (cms.workflowstep)

Workflow actions

cms.workflowaction

Workflow scopes

cms.workflowscope

Child object type of Workflow objects.

Note: Unlike other workflow objects, scopes are always related to a specific site and are stored in the corresponding subfolder in CIRepository.

Workflow steps

cms.workflowstep

Child object type of Workflow objects.

Includes steps defined for both basic and advanced workflows.

Page content

Object type

CI folder name

Notes

ACL items

cms.aclitem

Child object type of Page-level permission (ACL) objects.

Attachment image variants

cms.attachmentvariant

Child object type of Attachment objects.

Attachments

cms.attachment

Child object type of Page objects.

Supported child objects:

  • Attachment image variants (cms.attachmentvariant)

Categories

cms.category

Includes global and site categories.

Page-level permissions (ACLs)

cms.acl

Supported child objects:

  • ACL items (cms.aclitem)

Pages

cms.document

When using the page workflow feature, the majority of workflow information is ignored. For more details, see Usage and relationship with other features.

The system uses multiple files to store page data. See the Pages section in Continuous integration repository structure for more information.

Supported child objects:

Page alternative URLs

cms.alternativeurl

Child object type of Page objects.

Page former URL paths

cms.pageformerurlpath

Child object type of Page objects.

Page URL paths

cms.pageurlpath

Child object type of Page objects.

Page relationship types

cms.relationshipname

Page tags and tag groups

cms.taggroup

Tag groups are represented as a separate object type (cms.taggroup). Tags are stored within the data of individual Page (cms.document) objects.

User personal categories

cms.usercategory

Includes the personal page categories created by individual users.

Child object type of User objects.

Unsupported page permission scenario

Continuous integration does not support scenarios where different page-level permissions (ACLs) are applied to the same page from different sources and then synchronized.

Developer A

  1. Sets permissions for a user or a role on a page.
  2. Pushes the changes to the source control system.

Developer B

  1. Sets different permissions for the same user or role on the same page.
  2. Downloads the latest version from the source control. No collisions occur, because the ACL items are represented by different files.
  3. Restores objects from the file system to the database. Both ACL item files are processed, but only one is kept in the database, depending on the order in which they are processed.

On-line marketing

Object type

CI folder name

Notes

A/B tests

om.abtest

The continuous integration data does not include the start/end dates and status of A/B tests (not started, running, finished, etc.). When restoring data from the CIRepository folder, any new A/B tests are always created with the Not started status.

Information about A/B testing variants is stored within the data of individual tested pages.

Account statuses

om.accountstatus

Activity types

om.activitytype

Automation actions

ma.automationaction

Automation processes

ma.automationprocess

Only includes the general definitions of marketing automation processes. Process states for individual contacts are dynamic live site data and are not tracked by continuous integration.

Supported child objects:

Automation process steps

ma.automationstep

Child object type of Automation process objects.

Automation process templates

ma.automationtemplate

Automation process triggers

cms.objectworkflowtrigger

Child object type of Automation process objects.

Note: When restoring data from the CIRepository folder, process triggers of the “Contact scored X or more” type are created only if the related score exists in the given database. To reliably use continuous integration for these types of triggers, you need to manually ensure that the required scores are present on all instances in the environment (Scores are currently not supported by continuous integration).

Campaigns

analytics.campaign

The continuous integration data does not include the status of campaigns (draft, running, etc.). When restoring data from the CIRepository folder, any new campaigns are always created with the Draft status.

Supported child objects:

  • Campaign assets (analytics.campaignasset)
  • Campaign conversions (analytics.campaignconversion)

Campaign assets

analytics.campaignasset

Child object type of Campaign objects. Represents pages or promotional emails assigned to a campaign’s content inventory.

Supported child objects:

  • Campaign asset URLs (analytics.campaignasseturl)

Campaign asset URLs

analytics.campaignasseturl

Child object type of Campaign asset objects. Represents page URLs assigned to a campaign’s content inventory.

Campaign conversions

analytics.campaignconversion

Child object type of Campaign objects.

The continuous integration data of campaign conversions does not include live site statistics (the number of logged conversion hits).

Contact groups

om.contactgroup

Only includes the definitions of contact groups, without information about the contacts or accounts assigned to the groups.

Additionally, the continuous integration data does not contain information about scheduled rebuilds for contact groups. After restoring a new condition-based contact group from the CIRepository folder, you need to manually rebuild the group in the Contact groups application.

Contact roles

om.contactrole

Contact statuses

om.contactstatus

Email feeds

newsletter.newsletter

Includes the definitions and configuration of both newsletters and email campaigns.

Supported child objects:

  • Emails (newsletter.issue)

Marketing email templates

newsletter.emailtemplate

Marketing email widgets

newsletter.emailwidget

Marketing emails

newsletter.issue

The continuous integration data does not include the send status of marketing emails or any live marketing data (the number of opened emails, clicked links, unsubscriptions, etc.). When restoring data from the CIRepository folder, any new emails are always created with the Draft status.

Supported child objects:

  • Email A/B tests (newsletter.abtest)
  • Email variants for A/B tests (newsletter.issuevariant)

Marketing email A/B tests

newsletter.abtest

Child object type of Email campaign email objects.

The continuous integration data of marketing email A/B tests does not include any data collected or specified after the emails are sent out (such as the selection of the test winner).

Marketing email variants for A/B tests

newsletter.issuevariant

Child object type of Email campaign email objects.

The continuous integration data does not include the send status of marketing email variants or any live marketing data (the number of opened emails, clicked links, etc.).

Personas

personas.persona

If you want to use continuous integration for personas that use custom activities in their rule definitions, you need to make sure each custom activity has its Activity item object type configured in Contact management -> Configuration -> Activity types -> Edit -> Scoring rule configuration section.

The continuous integration data for personas also includes data for persona scores and rules, represented by the om.personascore and om.personarule CI folders.

Search engines (web analytics)

cms.searchengine

E-commerce

Object type

CI folder name

Notes

Brands

ecommerce.brand

Buy X Get Y discounts

ecommerce.multibuydiscount

Supported child objects:

Buy X Get Y and Product coupon codes

ecommerce.multibuycouponcode

Child object type of Buy X Get Y discount or Product coupon objects.

The continuous integration data of individual coupon codes does not include the current number of redemptions (coupon code uses). New coupon codes restored from the CIRepository folder are always unused.

Carriers

ecommerce.carrier

Collections

ecommerce.collection

Currencies

ecommerce.currency

Departments

ecommerce.department

Discounts:

ecommerce.discount

Includes Catalog discounts, Order discounts and Free shipping offers. Volume discounts and Buy X Get Y discounts are stored as separate objects.

Supported child objects:

Discount coupon codes

ecommerce.couponcode

Child object type of Discount objects (Order discounts or Free shipping offers).

The continuous integration data of individual coupon codes does not include the current number of redemptions (coupon code uses). New coupon codes restored from the CIRepository folder are always unused.

Exchange tables

ecommerce.exchangetable

Gift cards

ecommerce.giftcard

Supported child objects:

Gift card coupon codes

ecommerce.giftcardcouponcode

Child object type of Gift card objects.

The continuous integration data of individual coupon codes does not include the current number of redemptions (coupon code uses). New coupon codes restored from the CIRepository folder are always unused.

Manufacturers

ecommerce.manufacturer

Order statuses

ecommerce.orderstatus

Payment methods

ecommerce.paymentoption

Product coupons

ecommerce.productcoupondiscount

Supported child objects:

Product internal statuses

ecommerce.internalstatus

Product option categories

ecommerce.optioncategory

Supported child objects:

  • Product options (ecommerce.skuoption)

Product options

ecommerce.skuoption

Child object type of Product option category objects.

Product public statuses

ecommerce.publicstatus

Product files

ecommerce.skufile

Child object type of Product objects.

Product variants

ecommerce.skuvariant

Child object type of Product objects.

Products

ecommerce.sku

Supported child objects:

  • Product files (ecommerce.skufile)
  • Product variants (ecommerce.skuvariant)

Shipping costs

ecommerce.shippingcost

Child object type of Shipping option objects.

Shipping options

ecommerce.shippingoption

Supported child objects:

  • Shipping costs (ecommerce.shippingcost)

Suppliers

ecommerce.supplier

Tax classes

ecommerce.taxclass

Volume discounts

ecommerce.volumediscount

Child object type of Product objects.

Binding object types

In addition to the standard object types, continuous integration also supports most related bindings (i.e. objects representing relationships between the supported objects and other objects). For example, the binding objects that store how page templates or page types are assigned to sites.

Binding

CI folder name

Main object type (parent)

Related object type

Allowed child page types

cms.allowedchildclass

Page type

Page type

Applications assigned to the default dashboard of roles

cms.roleapplication

Role

UI element

Brands of Buy X Get Y and Product coupon discounts

ecommerce.multibuydiscountbrand

Buy X Get Y discount
- OR -
Product coupon

Brand

Categories assigned to pages

cms.documentcategory

Page

Category

Collections of Buy X Get Y and Product coupon discounts

ecommerce.multibuydiscountcollection

Buy X Get Y discount
- OR -
Product coupon

Collection

Connections between steps in advanced workflows and automation processes

cms.workflowtransition

Workflow step (source)
- OR -
Automation process step (source)

Workflow step (target)
Workflow
- OR -
Automation process step (target)
Automation process

Countries of tax classes

ecommerce.taxclasscountry

Tax class

Country

Cultures allowed for editing by users

cms.userculture

User

Culture
Site

Cultures assigned to sites

cms.culturesite

Culture

Site

Cultures of page search indexes

cms.searchindexculture

Search index

Culture

Departments of Buy X Get Y and Product coupon discounts

ecommerce.multibuydiscountdepartment

Buy X Get Y discount
- OR -
Product coupon

Department

Exchange rates

ecommerce.exchangerate

Exchange table

Currency

Page relationships

cms.relationship

Page

Page
Page relationship type

Pages with fields containing other pages
(see Reusing existing page content)

cms.adhocrelationship

Page

Page
Page relationship type

Permissions assigned to roles

cms.rolepermission

Role

Permission
(module or class)

Product bundles

ecommerce.bundle

Product

Product

Product options allowed for products

ecommerce.skuallowedoption

Product

Product option

Product options of product variants

ecommerce.variantoption

Product variant

Product option

Product option categories of products

ecommerce.skuoptioncategory

Product

Product option category

Product sections of Buy X Get Y and Product coupon discounts

ecommerce.multibuydiscounttree

Buy X Get Y discount
- OR -
Product coupon

Page

Products of Buy X Get Y and Product coupon discounts

ecommerce.multibuydiscountsku

Buy X Get Y discount
- OR -
Product coupon

Product

Resource string translations

cms.resourcetranslation

Resource string

Culture

Role permissions assigned to media libraries

media.libraryrolepermission

Media library

Role
Permission

Roles assigned to forms

cms.formrole

Form

Role

Roles assigned to widgets

cms.widgetrole

Role

Widget
Permission

Roles assigned to workflow steps and automation process steps

cms.workflowsteprole

Workflow step
- OR -
Automation process step

Role

Roles in memberships

cms.membershiprole

Membership

Role

Scopes assigned to page types

cms.documenttypescopeclass

Page type scope

Page type

Sites of data classes

cms.classsite

Page type
Custom table

Site

Sites of modules

cms.resourcesite

Module

Site

Sites of page templates

cms.pagetemplatesite

Page template

Site

Sites of page relationship types

cms.relationshipnamesite

Page relationship type

Site

Sites of search indexes

cms.searchindexsite

Search index

Site

Sites of SMTP servers

cms.smtpserversite

SMTP server

Site

Sites of users

cms.usersite

User

Site

States of tax classes

ecommerce.taxclassstate

Tax class

State

Templates assigned to email campaigns

newsletter.emailtemplatenewsletter

Email campaign

Email campaign template

UI elements allowed for roles (UI personalization)

cms.roleuielement

Role

UI element

Users assigned to workflow steps and automation process steps

cms.workflowstepuser

Workflow step
- OR -
Automation process step

User

Users in roles

cms.userrole

Role

User

Users in memberships

cms.membershipuser

Membership

User

Users who receive email notifications for workflows

cms.workflowuser

Workflow

User