Domain Model Overview

   MaestroPreviously known as Transact Maestro.  |    Form Builder Platform Developer |  18.05 This feature was introduced in 18.05.

Maestro comes with the Domain Model framework that allows you to define the conceptual structure of the information domain independently of how they are used in any visual user interface. The Domain Model is made up of entities that represent real-world concepts. You can share the Domain Model so it is available across multiple forms. A shared domain model can be used in global forms – for example, with collaboration jobs – and thus it can re-use existing elements including those created by other developers.

Having domain models provide a number of benefits for you to design and develop forms, including:

When you create a new form in Maestro, a single domain model is created and populated with entities. New entities are added as you work on the form. A domain model file is added as a form resource, for example, model-schema-json, which is stored in the Resources folder of a form version. You can check the file in the Maestro Dashboard.

Maestro also allows you to create domain models manually. Once the model is established and configured, you can share it across multiple forms. Domain models can also be imported from other sources and shared using a library. You can manage domain models in the Model pane.

The domain model is based on a JSON schema, which is stored in a separate JSON file, so each domain model has its own JSON file. Maestro uses a limited denormalized JSON schema subset to create a domain model, so you will not be able to use all the features available from JSON schema; in particular, the ability to create a type $ref, for example, an applicant address type.

Note

Prior to Maestro 18.05, models were stored as part of a Maestro form.

Note

If a Maestro 17.10 form, with entities configured, is imported into a Maestro 18.05 environment, all entities will be extracted and automatically moved to a domain model file.

Next, learn how to create a domain model.