Data Model Extension
The Data Model Extension section covers the configuration entities that let you extend the tSM data model with dynamic attributes and introduce entirely new record families:
| Entity | Purpose |
|---|---|
| Form | JSON Schema that defines the shape and validation rules of a data structure. |
| Characteristics | A named dynamic attribute backed by a Form — the unit of extension for any entity. |
| Entity Specification | A Configuration Profile that groups Characteristics into a coherent set applied to an entity subtype. |
| Custom Entities | New record families that behave like native tSM entities, built on top of EntityType + Entity Specification + Characteristics. |
The first three entities implement the TM Forum Characteristics Pattern — a standard approach for extending entities with dynamic attributes without modifying core tables. Custom Entities take this further by letting you define entirely new entity classes with their own API, UI, and supporting entities.
For the architectural overview, see Entities & Characteristics.
How the pieces fit together
Form ──defines schema for──▶ Characteristics ──grouped by──▶ Entity Specification
│
applies to
▼
Entity instance
(Customer, Ticket, Order …)
│
or a Custom Entity instance
(Cable, SLA Contract, Asset …)
- A Form is created in the Form Designer — it contains a JSON Schema, optional example value, and rendering hints.
- A Characteristics record wraps a Form, gives it a stable
attributeName, and adds metadata (privileges, ElasticSearch indexing, display order). - An Entity Specification (also called Configuration Profile in the UI) bundles one or more Characteristics together and is assigned to an EntityType subtype (e.g., Retail Customer, SDWAN Order).
- A Custom Entity registers a new EntityType with its own API routing, UI widgets, and type catalog — each type backed by an Entity Specification.
When an entity instance is created with a given Entity Specification, the platform renders and stores the dynamic attributes defined by the associated Characteristics.
Relation to other configuration entities
- ConfigType — all configuration entities carry a
configTypefield that groups them into a business package. - EntityType — Entity Specification links to an EntityType to declare which "class" of records it applies to.
- Form Designer — the visual tool for authoring the JSON Schema that underpins a Form entity.
- Supporting Entities — Custom Entities can own attachments, comments, worklogs, etc. via the standard ownership model.
📄️ Data Model Extension
The Data Model Extension section covers the configuration entities that let you extend the tSM data model with dynamic attributes and introduce entirely new record families:
📄️ Form
A Form is a JSON Schema–based definition that describes the structure, validation rules, and presentation of a data object in tSM. Forms are the foundation of every dynamic attribute in the platform — every Characteristics references exactly one Form.
📄️ Characteristics
A Characteristics is a named dynamic attribute that extends an entity beyond its core fields. Each Characteristics wraps a Form (JSON Schema) and adds metadata controlling how the attribute is stored, indexed, secured, and displayed.
📄️ Entity Specification
An Entity Specification (also called Configuration Profile in the tSM UI) defines a subtype of a business entity by grouping Characteristics into a coherent set. It is the primary mechanism for distinguishing between, for example, a Retail Customer and a Wholesale Customer — both are Customer entities, but each has a different Entity Specification with different dynamic attributes, forms, and rules.
📄️ Custom Entities
Overview