Object types supported by continuous integration
Continuous integration supports the following types of Xperience objects:
Related pages
General
Object type | CI folder name | Notes |
cms.alternativeform | Child object type with the following possible parent types: Custom tables, Page types, Module classes | |
cms.avatar | ||
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. | |
cms.country | Supported child objects:
| |
cms.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:
| |
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. | |
cms.emailtemplate | ||
sm.facebookapplication | Supported child objects:
| |
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. | |
cms.form | 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. | |
cms.formusercontrol | ||
Help topics for UI elements | cms.helptopic | Child object type of UI element objects. |
integration.connector | Includes the definitions of integration bus connectors. Outgoing and incoming integration tasks are dynamic data and are not tracked by continuous integration. | |
cms.resourcelibrary | Child object type of Module objects. | |
sm.linkedinapplication | Supported child objects:
| |
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. | |
cms.usermacroidentity | Child object type of User objects. | |
cms.macrorule | ||
cms.macroidentity | ||
media.library | Supported child objects:
| |
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. | |
cms.membership | ||
Meta files | cms.metafile | Includes files related to other objects. For example thumbnail images of page types or email template attachments. |
cms.resource | Supported child objects:
| |
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. |
cms.layout | ||
Page template categories | cms.pagetemplatecategory | |
cms.pagetemplate | ||
cms.pagetemplateconfiguration | Represents custom page templates created for MVC pages. | |
cms.documenttypescope | ||
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 tables, Page types, Module classes |
reporting.reportcategory | ||
Report graphs | reporting.reportgraph | Child object type of Report objects. |
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. |
reporting.report | Supported child objects:
| |
Reports - Saved graph images | reporting.savedgraph | Child object type of Report - Saved view objects. |
reporting.savedreport | Child object type of Report objects. Supported child objects:
| |
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. | |
cms.role | ||
cms.scheduledtask | Does not include System tasks (dynamically created temporary tasks that the system uses internally). | |
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. | |
cms.settingscategory | The cms.settingscategory object type includes both setting categories and setting groups. | |
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.sharepointconnection | ||
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. | |
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:
| |
cms.sitedomainalias | Child object of Site objects. | |
cms.smtpserver | Includes the additional servers defined in the SMTP servers application. | |
States | cms.state | Child object type of Country objects. |
cms.timezone | ||
cms.transformation | Child object type of Page type objects. | |
cms.translationservice | ||
sm.twitterapplication | Supported child objects:
| |
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. | |
cms.uielement | Child object type of Module objects. Supported child objects:
| |
cms.user | 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 | |
cms.webpartlayout | Child object type of Web part objects. | |
cms.webpart | Supported child objects:
| |
Widget categories | cms.widgetcategory | |
cms.dashboard | Child object type of User objects. | |
cms.widget | ||
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:
| |
cms.workflowaction | ||
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. |
cms.attachmentvariant | Child object type of Attachment objects. | |
cms.attachment | Child object type of Page objects. Supported child objects:
| |
cms.category | Includes global and site categories. | |
Page-level permissions (ACLs) | cms.acl | Supported child objects:
|
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:
| |
cms.alternativeurl | Child object type of Page objects. | |
cms.pageformerurlpath | Child object type of Page objects. | |
cms.pageurlpath | Child object type of Page objects. | |
cms.relationshipname | ||
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. | |
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
- Sets permissions for a user or a role on a page.
- Pushes the changes to the source control system.
Developer B
- Sets different permissions for the same user or role on the same page.
- Downloads the latest version from the source control. No collisions occur, because the ACL items are represented by different files.
- 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 |
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. | |
om.accountstatus | ||
om.activitytype | ||
ma.automationaction | ||
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:
| |
ma.automationstep | Child object type of Automation process objects. | |
ma.automationtemplate | ||
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). | |
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 | 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 | 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). |
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. | |
om.contactrole | ||
om.contactstatus | ||
newsletter.newsletter | Includes the definitions and configuration of both newsletters and email campaigns. Supported child objects:
| |
newsletter.emailtemplate | ||
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:
|
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). | |
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.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. | |
cms.searchengine |
E-commerce
Object type | CI folder name | Notes |
ecommerce.brand | ||
ecommerce.multibuydiscount | Supported child objects:
| |
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. | |
ecommerce.carrier | ||
ecommerce.collection | ||
ecommerce.currency | ||
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:
|
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. | |
ecommerce.exchangetable | ||
ecommerce.giftcard | Supported child objects:
| |
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. | |
ecommerce.manufacturer | ||
ecommerce.orderstatus | ||
ecommerce.paymentoption | ||
ecommerce.productcoupondiscount | Supported child objects:
| |
ecommerce.internalstatus | ||
ecommerce.optioncategory | Supported child objects:
| |
ecommerce.skuoption | Child object type of Product option category objects. | |
ecommerce.publicstatus | ||
Product files | ecommerce.skufile | Child object type of Product objects. |
ecommerce.skuvariant | Child object type of Product objects. | |
ecommerce.sku | Supported child objects:
| |
Shipping costs | ecommerce.shippingcost | Child object type of Shipping option objects. |
ecommerce.shippingoption | Supported child objects:
| |
ecommerce.supplier | ||
ecommerce.taxclass | ||
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 | 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 | Collection |
Connections between steps in advanced workflows and automation processes | cms.workflowtransition | Workflow step (source) | Workflow step (target) |
Countries of tax classes | ecommerce.taxclasscountry | Tax class | Country |
Cultures allowed for editing by users | cms.userculture | User | Culture |
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 | Department |
Exchange rates | ecommerce.exchangerate | Exchange table | Currency |
Page relationships | cms.relationship | Page | Page |
Pages with fields containing other pages | cms.adhocrelationship | Page | Page |
Permissions assigned to roles | cms.rolepermission | Role | Permission |
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 | Page |
Products of Buy X Get Y and Product coupon discounts | ecommerce.multibuydiscountsku | Buy X Get Y discount | Product |
Resource string translations | cms.resourcetranslation | Resource string | Culture |
Role permissions assigned to media libraries | media.libraryrolepermission | Media library | Role |
Roles assigned to forms | cms.formrole | Form | Role |
Roles assigned to widgets | cms.widgetrole | Role | Widget |
Roles assigned to workflow steps and automation process steps | cms.workflowsteprole | Workflow 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 | 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 | 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 |