Configuration

Template Menus

In Anjana Data, menus are top-level blocks within the dynamic forms of metadata templates. Their main function is to group and classify the information of an object (entity or relationship) into different sections, allowing metadata to be organized in a clear and navigable way.

Each menu contains at least one section, which represents the second level of classification and in which the specific attributes of the object are defined.

In this way, menus and sections structure metadata into two hierarchical levels:

  • Level 1 – Menu: Main categories that appear in the object's form (example: DETALLE, CALIDAD DE DATOS, GOBIERNO EXTENDIDO).

  • Level 2 – Section: Subsections within each menu that group related attributes (example: within the DETALLE menu, sections such as FUNCIONAL, GOBIERNO, SEGURIDAD Y PROTECCIÓN DE DATOS and TÉCNICO).

Thanks to this hierarchical organization, users can easily navigate the Data Portal forms, locate relevant information, and maintain consistency in asset documentation.

image-20250911-104153.png
Example of a Menu along with its description in the DATASET template

Menus are configured in the Menus table of the Configuration Panel. Defining menus is the first step in creating the metadata templates for the entities and relationships of the metamodel.

image-20250902-165929.png
Menus table for creating new menus in the template of an entity or relationship

Structure of the Menus table

Each menu is characterized by the following fields:

  • Id: unique identifier of the menu.

    • It is automatically assigned from the Configuration Panel.

  • Name: visible name of the menu within the template.

    • If configuring multiple languages, the value of Name itself must be used as the translation key in the translations table, creating one record per language.

  • Description: description of the menu. This description (or its translated value) is visible in the metadata template and makes it easier to understand the content of the menu.

    • It can also be internationalized using the value of Description as the config_key in translations.

  • order: display order of the menu within the template of the same subType (1, 2, 3, …).

  • subType: object subtype to which the menu belongs.

    • Corresponds to a value from the Object Sub-types table resulting from the concatenation of the Id and the name (e.g.: 1-DATASET, 2-DATASET_FIELD, 3-DSA).

Notes

  • If the text of Name/Description has no translation in translations, the text specified in these fields will be displayed.

  • The order is only compared among menus of the same subType.

  • The same subType must have at least one menu and can have unlimited menus (e.g., DETALLE, GOBIERNO, CALIDAD, SEGURIDAD).

Important:

The ADHERENCE relationship requires a menu since it contains metadata corresponding to users' adherences to DSAs.

Creating a Menu in the Menus table

Creating a new menu involves adding a new record to the Menus table.

image-20250902-171600.png
Example of creating a new menu in the DATASET template

To add the record and create a new menu:

  1. Click the New button in the top right corner. This will open a wizard with the fields defined in the Structure of the Menus table section.

  2. Complete the role's fields according to the structure described in the previous section.

    • Name: With the name or its translation key (e.g.: DETALLE)

    • Description: With the description or its translation key (e.g.: DETALLE OF DATASET)

    • order: With the position that the menu being created will occupy relative to the rest of the menus to be configured for that entity or relationship (e.g.: 1)

    • subType: Select the entity or relationship subtype for which the menu is defined (select the subtype, e.g.: 1-DATASET)

  3. Click Save to save or Cancel to discard.

Note: After creating menus, it is necessary to run the Clear cache action from the Configuration Panel (Home > Reset operations > Clear cache) so that the changes take effect in the Data Portal.

Modifying a Menu in the Menus table

Modifying a record in the Menus table must be done with caution, since it can have different levels of impact depending on the affected field.

  • Modifying the Name or Description fields must be done with caution:

    • If internationalization has not been configured, the texts can be modified without impact.

    • If internationalization has been configured, modifying these texts impacts the corresponding records in translations (same config_key as Name/Description). In this case, assess whether it is enough to modify the translation value (value) or whether the key (config_key) also needs to be modified.

  • Modifying the order field can be done with no greater impact than repositioning it within the object's template.

  • Modifying the subType can have a high impact, since it directly affects the entire object's template.

    • If no governed assets exist in the Data Portal, the modification is possible but implies the following:

      • All the configuration hanging from the menu (sections and attributes of each section) is transferred to the newly selected subType.

      • Before the modification, the validations on the attributes that belonged to the subtype's template must be deleted (table templateAttributeValidations).

      • Before the modification, the versioning rules on the attributes that belonged to the subtype's template must be deleted (table Edition Configuration).

      • Before the modification, the relationships between attributes on the attributes that belonged to the subtype's template must be deleted (table Attribute Relationship).

    • If governed assets exist in the Data Portal, the modification cannot be performed.

Note: After modifying menus, it is necessary to run the Clear cache action from the Configuration Panel (Home > Reset operations > Clear cache) so that the changes take effect in the Data Portal.


Configuring Menus via direct database access (Developer View)

The database (DB) table that contains the parameterization of the menus of the metadata templates is anjana.menu and has the following structure.

Column

Data type

Constraints / Notes

id_menu

int4 (INTEGER)

PRIMARY KEY. Unique identifier of the menu. Managed via sequences.

description

varchar(255)

Optional. Description of the menu. Can be used as a translation key in translations.

name

varchar(255)

Name of the menu. Must be unique within the same id_object_subtype (UNIQUE constraint). Can be used as a translation key in translations.

order_menu

int4 (INTEGER)

Display order of menus within the same object subtype. UNIQUE constraint combined with id_object_subtype.

id_object_subtype

int4 (INTEGER)

Foreign key to anjana.object_subtype(id_object_subtype). Defines which entity or relationship the menu belongs to.

Below is an example script for configuring the DETALLE menu of DATASET:

SQL
INSERT INTO anjana.sections
(id_section, description, id_menu, "name", order_section)
VALUES(1, 'FUNCIONAL INFORMATION OF DATASET', 1, 'FUNCIONAL', 1);

Important:

  • Once the insert has been executed, run the sequence update for the table. (From the new Configuration Panel under Home > Reset operations > Reset database sequences, the sequences of all tables, including this one, can be updated).

  • The entire configuration logic burden falls on the developer who executes the SQL queries directly on the tables. It is recommended to carefully review the Table Structure section.