Saltar al contenido principal

Modelo de datos

En TicTAP puedes crear un modelo de datos que se adapte a tus necesidades. El modelo de datos se compone de entities y definitions, que son totalmente dinámicos.

Entidades

TicTAP trabaja con entities. Cada entidad puede ser un activo o una taxonomía usada para categorizar activos, y dispone de un conjunto de campos que pueden rellenarse con datos.

Por ejemplo: una entidad puede ser una Pump (activo) con campos informados como el número de serie, el modelo, el fabricante, etc. O una entidad puede ser un Model con campos rellenados como el nombre, el fabricante, etc., y estar relacionada con una entidad bomba que contenga toda la información compartida entre todas las bombas de ese modelo.

Las entidades siempre tienen un name y una description que se consideran propios y están siempre presentes en cada entidad. Además, las entidades pueden tener opcionalmente un state para mantener su estado a lo largo del tiempo. Por ejemplo: si una entidad dinámica fuera una Task, el state podría ser "In progress", "Doing" o "Done".

Definiciones

Todos los campos que puede tener una entidad se describen en la definition. La definición describe el tipo de cada campo, el nombre del campo y otras propiedades. Además, una definición también define la estructura hija: qué entidades hijas pueden añadirse a la entidad.

Campos

Al editar campos en una definición, puedes definir las siguientes propiedades: Cada campo tiene una propiedad name que identifica el campo, una propiedad slug que es un identificador único para el campo y una propiedad type que identifica el tipo del campo. El tipo puede ser uno de los siguientes:

  • text: a text field
  • email: an email field
  • date: a date field
  • choice: un campo de elección con un conjunto predefinido de opciones
  • media: un campo multimedia que permite almacenar medios y que puede restringirse con file_type para permitir solo ciertos tipos de archivo, como image para restringir a imágenes o file para cualquier otro tipo de archivo.
  • media_collection: un campo de colección multimedia que permite almacenar una colección de medios.
  • address: un campo de dirección que permite almacenar una dirección como texto, además de latitud y longitud.
  • manifest_icon: es igual que un campo Media, pero se usa para almacenar el icono del manifiesto de la app.
  • dynamic_entity: este campo especial permite crear una relación unidireccional de muchos a uno desde la definición actual a otra definición. Por ejemplo: si nuestra definición "Asset" tiene un campo de entidad dinámica hacia la definición "Model", significa que muchos activos pueden relacionarse con un único modelo. Este campo es especial porque no es un campo que se rellene con datos, sino que permite crear una relación entre dos entidades.