XM Cloud terminology
Glossary
This topic explains general concepts and terms used within XM Cloud.
- Organization
-
An organization represents a business unit, such as a company or brand. Within Sitecore, it's a collection of your related team members and Sitecore products to which you are subscribed. An organization can have one or more Sitecore products, with multiple instances of each product.
An enterprise company or a solution partner might have access to multiple organizations, while a smaller company might have one organization. Each organization uses a set of rules to determine who can access each product and what work they can do. Organization management is handled in the Cloud Portal.
- Project
-
A project is a logical grouping of XM Cloud environments. Each project can include several environments, such as a development, testing, and production environment. In XM Cloud, you can create a project using the Deploy app, the CLI, or REST APIs.
When you create a project using the Deploy app, one environment is automatically created, and you can choose whether it’s a production environment (that gets faster support than the non-production environments). The number of projects you can create depends on your subscription.
- Environment
-
An environment is an entity that holds a set of configurations, code, and implementations. Each environment includes the following:
-
A single content management (CM) instance
-
Databases
-
Indexes
-
Automation clients
-
Environment variables
-
Rendering hosts
-
An app tenant that connects the CM instance with functionality such as Pages and Components
Each environment is isolated and unique. This allows you to have unique customizations, deployments, and configurations on your environment, based on implementation needs.
-
- Content Management instance
-
At the heart of your XM Cloud environment is a Content Management (CM) instance. The CM instance is where you create, store, and edit site content; and manage publishing, content modelling, versioning, workflows, translations, rules, and permissions. A content management instance includes your page layouts, components, data source configurations, localization, and personalization settings. You deliver the data from the CM instance to Experience Edge, using GraphQL.
- Site
-
A site is a collection of one or more pages, and a page can have several components. Within XM Cloud, a site is always a headless site, meaning the front-end app, including a rendering host, is separate from the content modelling and business logic.
- Site collection
-
A site collection is a parent item that groups related sites to organize them according to business unit, brand, or similar, and to share content between the sites, for example: data templates and digital assets.
- XM Cloud starter kit
-
The starter kit is a code base that’s intended to be the basis of most XM Cloud implementations. To use it, you select the XM Cloud template option when creating a new project. It is open source, and available on GitHub. Using the starter kit ensures you get the most stable and up-to-date version of the assets, references, assemblies, and artifacts we recommend using when you start building a solution with XM Cloud. It includes:
-
Local development workstation resources that support debugging and testing.
-
JSS and headless libraries.
-
Headless SXA reference components, written in Next.js.
-
Personalization and analytics middleware.
-
- Sitecore Cloud Portal
-
The Sitecore Cloud Portal is the central hub to access all Sitecore digital experience platform (DXP) products. You manage your organization and users in the portal, and manage access to apps such as XM Cloud, Content Hub ONE, and the XM Cloud Deploy app. Access the Cloud Portal at https://portal.sitecorecloud.io.
- Deploy app
-
The XM Cloud Deploy app is a user interface for managing environments and deploying XM Cloud projects. It includes a walkthrough for creating a project, a detailed log of every step of the deployment process, a status page, and a centralized location to manage your projects and environments. After you successfully complete the project creation flow, the app runs the following processes to complete the project creation:
-
Provision
-
Build
-
Deploy
-
- Rendering host
- Experience Edge
-
Experience Edge is a GraphQL API-based service endpoint that allows you to retrieve layout and content, distributed through a CDN. Experience Edge is the XM Cloud publishing target, hosted by Sitecore.
- Environment variables
-
Environment variables are key-value pairs that control core parts of your XM Cloud environment setup. Because they are saved outside your XM Cloud environment source code, configuration changes are simplified. For example, in a Next.js application, they are stored in an
.env
file; while in a local development scenario you store them inenv.local
. XM Cloud includes three types of environment variables: system, user-controlled, and custom. - System environment variables
-
System environment variables are settings and configurations that control core parts of your XM Cloud environment. You can change these settings for a local dev environment and when using an external rendering host, but in a production XMC environment, these can’t be changed.
- User-controlled environment variables
-
XM Cloud environments come with some predefined environment variables whose values you can control.
- Custom environment variables
-
In addition to the predefined environment variables, you can create your own custom key-value pairs and store them in XM Cloud. For example, you can use them for connecting to third-party systems.
- Item
-
In Sitecore, items are the building blocks of your digital experience. Almost everything in Sitecore is an item: for example, a page is an item, the page template used to build that page is an item, and the page design and partial designs used to build that page template are items.
Conceptually, an item is an object made of fields, although some items can also have no field at all. Items are identified by:
-
A globally unique identifier (GUID, or ID).
-
A path to the item's location within the Sitecore project.
-
An item name, and a display name of your choosing.
-
- Field
-
A field is a property of an item that stores data about the item. They can be simple (for example, string, text, number) or more complex (for example, Rich Text, General Link, Multilist) The template that an item is based on determines which fields are included in an item.
The following image from XM Cloud Explorer shows a Title component (also known as a rendering) and default variant. On the right are the various fields that this item is made of.
- Template
-
Templates, also called data templates, define the structure of content items. Each template contains fields that are organized into sections. The template defines the field names and the sections the fields belong to. It also defines the type of each field, meaning, the input that the field can accept.
For example, a Product data template contains 2 sections: General information, and Manufacturing details. The General information section contains these fields:
-
Name – string
-
Catalog ID – string
-
Price – integer
The Manufacturing details section contains:
-
Manufacturer – string
-
Manufacturing country – list
Templates inherit definitions from a base template, which is simply a template that other templates inherit fields and sections from.
-
- Standard template
-
The default base template shared by most other templates, either explicitly through inheritance, or implicitly if not specifically excluded from inheritance. By default, all templates inherit from the standard template. If a base template is defined for a template’s inheritance, that might override the standard template definitions.
- Rendering
-
A configuration item used to store information about a single component in the head application. A site page is made up of multiple renderings. The term rendering is often used interchangeably with component, even though the rendering is only part of the component definition. Renderings are defined in Content Editor, in
/sitecore/layout/Renderings/Feature
. - Rendering variant
-
A variation of a rendering that is usually used to display the same data in a different layout. SXA components that support rendering variants must have one variant defined as the default one.
- Rendering parameter
-
Rendering parameters are used to pass additional information to a component, apart from data from a data source. You can use them to control the presentation of a component by assigning different CSS styles, height, or width to the component variants.
- Rendering definition
-
The item used to represent the rendering. It references the rendering parameter template item. Rendering definitions are found in the
/sitecore/layout/Renderings
path in the content tree in Content Editor. - Data source
-
A data source contains content that's managed outside of a specific component. Components can call the data source to add that content at runtime. For example, a component can have its own content, such as a title, text, and a button, and an image that is added from a data source when a page is rendered.
We differentiate between internal and external data sources. An internal data source is created and handled within XM Cloud, for example: text, images, media, a site page. The can be stored on a page level (available to all the components on that page) or the site level (available to all the site components). In addition, you can set the data source of a page to be the page itself. This is useful for utilizing the page's metadata. For example, the title of the page as it appears in the browser tab can be tied to the page name.
External data sources are created and saved outside of XM Cloud. A component can fetch the data from an external source using one of the following methods: by including some JSON that calls the data source, sending an HTTP request and handling the response, or using the result of a GraphQL query.
- Responsive component
-
A component that adjusts its presentation according to the width of the screen on which it is rendered.
- Dynamic component
-
A component that adapts its presentation or behavior based on user interactions or data. For example, a collapsible menu, a carousel, or a live chat widget that change according to user interactions; or sliders, testimonials, or product listings that pull in data from a data source.