Object types supported by continuous integration

Continuous integration supports the following types of Xperience objects:

Object typeCI folder nameNotes
Alternative formscms.alternativeform

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

User avatarscms.avatar
Consentscms.consentIncludes 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)
Culturescms.culture

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 datacustomtableitem.<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 templatescms.emailtemplate
Facebook appssm.facebookapplication

Supported child objects:

  • Facebook pages (sm.facebookaccount)
Facebook pagessm.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 elementscms.helptopicChild object type of UI element objects.
Integration bus connectorsintegration.connectorIncludes 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 modulescms.resourcelibraryChild object type of Module objects.
LinkedIn appssm.linkedinapplication

Supported child objects:

  • LinkedIn company profiles (sm.linkedinaccount)
LinkedIn company profilessm.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 userscms.usermacroidentityChild object type of User objects.
Macro rulescms.macrorule
Macro signature identitiescms.macroidentity
Media librariesmedia.library

Supported child objects:

Media library filesmedia.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.

Membershipscms.membership
Meta filescms.metafile

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

Modulescms.resource

Supported child objects:

  • Module permissions (cms.permission)
  • Libraries (DLLs) registered for custom modules (cms.resourcelibrary)
  • UI elements (cms.uielement)
Module classescms.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 - Customizablecms.systemtable

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

Supported child objects:

Module permissionscms.permissionChild object type of Module objects.
Page layouts (shared)cms.layout
Page template categoriescms.pagetemplatecategory
Page templates

cms.pagetemplate


Page templates (MVC)cms.pagetemplateconfiguration

Represents custom page templates created for MVC pages.

Page type scopescms.documenttypescope
Page types

cms.documenttype

Supported child objects:

Permissions of classes (Page types or Custom tables)cms.classpermissionChild object type with the following possible parent types: Custom tables, Page types
Queriescms.queryChild object type with the following possible parent types: Custom tablesPage types, Module classes
Report categoriesreporting.reportcategory
Report graphsreporting.reportgraphChild object type of Report objects.
Report subscriptionsreporting.reportsubscription

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

Report tablesreporting.reporttableChild object type of Report objects.
Report valuesreporting.reportvalueChild object type of Report objects.
Reportsreporting.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 imagesreporting.savedgraphChild 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.

Rolescms.role
Scheduled taskscms.scheduledtask

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

Search indexescms.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 groupscms.settingscategoryThe cms.settingscategory object type includes both setting categories and setting groups.
Settingscms.settingskeySettings 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 connectionssharepoint.sharepointconnection
SharePoint librariessharepoint.sharepointlibraryContinuous 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.
Sitescms.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 aliasescms.sitedomainaliasChild object of Site objects.
SMTP serverscms.smtpserverIncludes the additional servers defined in the SMTP servers application.
Statescms.stateChild object type of Country objects.
Time zonescms.timezone
Transformationscms.transformationChild object type of Page type objects.
Translation servicescms.translationservice
Twitter appssm.twitterapplication

Supported child objects:

  • Twitter channels (sm.twitteraccount)
Twitter channelssm.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 elementscms.uielement

Child object type of Module objects.

Supported child objects:

  • Help topics (cms.helptopic)
Userscms.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 categoriescms.webpartcategory
Web part layoutscms.webpartlayoutChild object type of Web part objects.

Web parts

cms.webpart

Supported child objects:

Widget categories

cms.widgetcategory
Widget dashboard contentcms.dashboardChild object type of User objects.

Widgets______

cms.widget
Workflowscms.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 actionscms.workflowaction
Workflow scopescms.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 stepscms.workflowstep

Child object type of Workflow objects.

Includes steps defined for both basic and advanced workflows.

Page content

Object typeCI folder nameNotes
ACL items

cms.aclitem

Child object type of Page-level permission (ACL) objects.
Attachment image variantscms.attachmentvariantChild object type of Attachment objects.
Attachmentscms.attachment

Child object type of Page objects.

Supported child objects:

  • Attachment image variants (cms.attachmentvariant)
Categoriescms.categoryIncludes 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 URLscms.alternativeurlChild object type of Page objects.
Page former URL pathscms.pageformerurlpathChild object type of Page objects.
Page URL pathscms.pageurlpathChild object type of Page objects.
Page relationship typescms.relationshipname

Page tags and tag groups

__________________________
cms.taggroupTag groups are represented as a separate object type (cms.taggroup). Tags are stored within the data of individual Page (cms.document) objects.
User personal categoriescms.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 typeCI folder nameNotes
A/B testsom.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 statusesom.accountstatus

Activity types

om.activitytype

Automation actions

ma.automationaction


Automation processesma.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 stepsma.automationstepChild object type of Automation process objects.
Automation process templatesma.automationtemplate
Automation process triggerscms.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).

Campaignsanalytics.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 assetsanalytics.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 URLsanalytics.campaignasseturlChild object type of Campaign asset objects. Represents page URLs assigned to a campaign's content inventory.
Campaign conversionsanalytics.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 groupsom.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 rolesom.contactrole
Contact statusesom.contactstatus
Email feedsnewsletter.newsletter

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

Supported child objects:

  • Emails (newsletter.issue)
Marketing email templatesnewsletter.emailtemplate
Marketing email widgetsnewsletter.emailwidget
Marketing emailsnewsletter.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 testsnewsletter.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 testsnewsletter.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 typeCI folder nameNotes
Brandsecommerce.brand
Buy X Get Y discountsecommerce.multibuydiscount

Supported child objects:

Buy X Get Y and Product coupon codesecommerce.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
Collectionsecommerce.collection
Currenciesecommerce.currency
Departmentsecommerce.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 codesecommerce.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 tablesecommerce.exchangetable
Gift cardsecommerce.giftcard

Supported child objects:

Gift card coupon codesecommerce.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.

Manufacturersecommerce.manufacturer
Order statusesecommerce.orderstatus
Payment methodsecommerce.paymentoption
Product couponsecommerce.productcoupondiscount

Supported child objects:

Product internal statusesecommerce.internalstatus

Product option categories

ecommerce.optioncategory

Supported child objects:

  • Product options (ecommerce.skuoption)
Product optionsecommerce.skuoptionChild object type of Product option category objects.
Product public statusesecommerce.publicstatus
Product filesecommerce.skufileChild object type of Product objects.
Product variantsecommerce.skuvariantChild object type of Product objects.

Products

ecommerce.sku

Supported child objects:

  • Product files (ecommerce.skufile)
  • Product variants (ecommerce.skuvariant)
Shipping costsecommerce.shippingcostChild 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 discountsecommerce.volumediscountChild 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.

BindingCI folder nameMain object type (parent)Related object type
Allowed child page typescms.allowedchildclassPage typePage type
Applications assigned to the default dashboard of rolescms.roleapplicationRoleUI element
Brands of Buy X Get Y and Product coupon discountsecommerce.multibuydiscountbrand

Buy X Get Y discount
- OR -
Product coupon

Brand
Categories assigned to pagescms.documentcategoryPageCategory
Collections of Buy X Get Y and Product coupon discountsecommerce.multibuydiscountcollection

Buy X Get Y discount
- OR -
Product coupon

Collection
Connections between steps in advanced workflows and automation processescms.workflowtransition

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

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

Countries of tax classesecommerce.taxclasscountryTax classCountry
Cultures allowed for editing by userscms.usercultureUserCulture
Site
Cultures assigned to sitescms.culturesiteCultureSite
Cultures of page search indexescms.searchindexcultureSearch indexCulture
Departments of Buy X Get Y and Product coupon discountsecommerce.multibuydiscountdepartmentBuy X Get Y discount
- OR -
Product coupon
Department
Exchange ratesecommerce.exchangerateExchange tableCurrency
Page relationshipscms.relationshipPagePage
Page relationship type
Pages with fields containing other pages
(see Reusing existing page content)
cms.adhocrelationshipPagePage
Page relationship type
Permissions assigned to rolescms.rolepermissionRolePermission
(module or class)
Product bundlesecommerce.bundleProductProduct
Product options allowed for productsecommerce.skuallowedoptionProductProduct option
Product options of product variantsecommerce.variantoptionProduct variantProduct option
Product option categories of productsecommerce.skuoptioncategoryProductProduct option category
Product sections of Buy X Get Y and Product coupon discountsecommerce.multibuydiscounttree

Buy X Get Y discount
- OR -
Product coupon

Page
Products of Buy X Get Y and Product coupon discountsecommerce.multibuydiscountskuBuy X Get Y discount
- OR -
Product coupon
Product
Resource string translationscms.resourcetranslationResource stringCulture

Role permissions assigned to media libraries

media.libraryrolepermissionMedia library

Role
Permission

Roles assigned to formscms.formroleFormRole
Roles assigned to widgetscms.widgetroleRoleWidget
Permission
Roles assigned to workflow steps and automation process stepscms.workflowsteprole

Workflow step
- OR -
Automation process step

Role
Roles in membershipscms.membershiproleMembershipRole
Scopes assigned to page typescms.documenttypescopeclassPage type scopePage type
Sites of data classescms.classsite

Page type
Custom table

Site
Sites of modulescms.resourcesiteModuleSite
Sites of page templatescms.pagetemplatesitePage templateSite
Sites of page relationship typescms.relationshipnamesitePage relationship typeSite
Sites of search indexescms.searchindexsiteSearch indexSite
Sites of SMTP serverscms.smtpserversiteSMTP serverSite
Sites of userscms.usersiteUserSite
States of tax classesecommerce.taxclassstateTax classState
Templates assigned to email campaignsnewsletter.emailtemplatenewsletterEmail campaignEmail campaign template
UI elements allowed for roles (UI personalization)cms.roleuielementRoleUI element
Users assigned to workflow steps and automation process stepscms.workflowstepuser

Workflow step
- OR -
Automation process step

User
Users in rolescms.userroleRoleUser
Users in membershipscms.membershipuserMembershipUser
Users who receive email notifications for workflowscms.workflowuserWorkflowUser