Overview of data model extensions

Entity extensions are additions to the entities in the base data model. Although you cannot modify the base data type declaration files directly, you can define an extension to one in a separate .etx file. You can also define new data model objects that extend the data model in an .eti file. This allows new PolicyCenter releases to modify the base definitions without affecting your extensions, thus preserving an upgrade path.

By extending the base data model, you can:

  • Add fields (columns) to an existing base entity through the use of the <column>, <typekey>, <foreignkey>, <array>, and similar elements. See Data entity subelements.
  • Create a new entity with custom fields using any of the entity types listed in XML root elements and related base PolicyCenter data object types.
  • Modify a small subset of the attributes of an existing base entity using overrides.
  • Remove (or hide) an extension to a base entity that exists in the extensions folder as an .etx declaration file.
  • Remove (or hide) a base entity that exists in the extensions folder as an .eti declaration file.

However, using extensions, you cannot:

  • Delete a base entity or any of its fields. If you do not use a particular base entity or one of its fields, then simply ignore it.
  • Change most of the attributes of a base entity or any of its fields.
  • Extend an entity that is in an .eti declaration file in the extensions > entity Studio folder.
  • Extend an extension.