Skip to main content

Data model

In TicTAP you can create a data model that fits your needs. The data model is composed of entities and definitions that are fully dynamic.

Entities​

TicTAP works with entities. Each entity, that can be an asset or just a taxonomy used to categorize assets and has a set of fields that can be filled with data.

For instance: an entity can be a Pump ( asset ) with informed fields such as the serial number, the model, the manufacturer, etc. Or an entity could be a Model with filled fields such as the name, the manufacturer, etc. and it is related to a pump entity and that contains all the shared information between all the pumps of that model.

Entities always have a name and a description that are treated as "own" and are always present in every entity. Besides, entities can optionally have a state that is used to hold a state of the entity across time. For instance: if a dynamic entity was a Task the state could be "In progress", or "Doing", or "Done.

Definitions​

All the fields that an entity can have are described in the definition. The definition describes the type of each field, the name of the field, and other properties. Besides, a definition also defines the child structure: which child entities can be added to the entity.

Fields​

When editing fields in a definition, you can define the following properties: Each field has a name property that identifies the field, a slug property that is a unique identifier for the field, and a type property that identifies the type of the field. The type can be one of the following:

  • text: a text field
  • email: an email field
  • date: a date field
  • choice: a choice field, with a predefined set of Options
  • media: a media field, that allows storing Media, that can be restricted with a file_type to only allow certain types of files, such as image to restrict to images only or file for any other type of file.
  • media_collection: a media collection field, that allows storing a collection of Media.
  • address: an address field, that allows storing an address as text, and a latitude and longitude.
  • manifest_icon: it is the same as a Media field but it is used to store the manifest icon of the App.
  • dynamic_entity: this special field allows creating unidirectional many to one relation from the current definition to another definition. For example: if our definition "Asset" has a dynamic entity field to the definition "Model" means that many assets can be related to one model. This field is special because it is not a field that can be filled with data, but it is a field that allows creating a relation between two entities.