In Experience Data Model (XDM), classes define the behavioral aspects of the data that a schema will contain (record or time-series). In addition to this, classes describe the smallest number of common properties that all schemas based on that class would need to include and provide a way for multiple compatible datasets to be merged.
Adobe provides several standard (“core”) XDM classes, including XDM Individual Profile and XDM ExperienceEvent. In addition to these core classes, you can also create your own custom classes to describe more specific use cases for your organization.
This document provides an overview of how to create, edit, and manage custom classes in the Adobe Experience Platform UI.
This guide requires a working understanding of XDM System. Refer to the XDM overview for an introduction to the role of XDM within the Experience Platform ecosystem, and the basics of schema composition to learn how classes contribute to XDM schemas.
While not required for this guide, it is recommended that you also follow the tutorial on composing a schema in the UI to familiarize yourself with the various capabilities of the Schema Editor.
In the Schemas workspace, select Create schema, then select Browse from the dropdown.
A dialog appears that allows you select from a list of available classes. At the top of the dialog, select Create new class. You can then give your new class a display name (a short, descriptive, unique, and user-friendly name for the class), a description, and a behavior for the data that the schema will define (“Record” or “Time-series”).
When finished, select Assign class.
The Schema Editor appears, showing a new schema in the canvas that is based on the custom class you just created. Since no fields have been added to the class yet, the schema only contains an
_id field, which represents the system-generated unique identifier that is automatically applied to all resources in the Schema Registry.
When building a schema that implements a class defined by your organization, remember that mixins are available for use only with compatible classes. Since the class you defined is new, there are no compatible mixins listed in the Add mixin dialog. Instead, you will need to create new mixins for use with that class. The next time you compose a schema that implements the new class, the mixins that you defined will be listed and available for use.
You can now start adding fields to the class, which will be shared by all schemas that employ the class.
Only custom classes defined by your organization can be fully edited and customized. For core classes defined by Adobe, only the display names for their fields can be edited within the context of individual schemas. See the section on editing display names for schema fields for details.
Once a custom class has been saved and used in data ingestion, only additive changes can be made to it thereafter. See the rules of schema evolution for more information.
To edit an existing class, select the Browse tab, and then select the name of a schema that employs the class you want to edit.
You can use the workspace’s search and filtering capabilities to help find the schema easier. See the guide on exploring XDM resources for more information.
The Schema Editor appears, with the schema’s structure shown in the canvas. You can now start adding fields to the class.
Once you have a schema that employs a custom class open in the Schema Editor, you can start adding fields to the class. To add a new field, select the plus (+) icon next to the schema’s name.
Keep in mind that any fields you add to a class will be used in all schemas that employ that class. You should therefore carefully consider which fields will be useful in all schema use cases. If you are thinking of adding a field that may only see use in some schemas under this class, you may want to consider adding it to those schemas by creating a mixin instead.
A New field appears in in the canvas, and the right rail updates to show controls to configure the field’s properties. See the guide on defining fields in the UI for specific steps on how to configure and add the field to the class.
Continue to add as many fields as required to the class. When finished, select Save to save both the schema and the class.
If you have previously created schemas that employ this class, the newly added fields will automatically appear in those schemas.
You can change the class of the schema at any point during the initial creation process before it has been saved. See the guide on creating and editing schemas for more information.
This document covered how to create and edit classes using the Platform UI. For more information on the capabilities of the Schemas workspace, see the Schemas workspace overview.
To learn how to manage classes using the Schema Registry API, see the classes endpoint guide.