Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The first parameter is the technical name that will be the displayed expression in the your client per default. It can be localized in order to replace the displayed expression. We recommend naming conventions described below that makes it easy to distinguish between tenant-specific and global catalogs.
  • As second parameterreadonly can be added. Thus, the catalog values will can not be editable modified via the admin- and dms-controller endpoints of the Web-API gateway. Since the client uses the dms-controller endpoints, the corresponding pick-list elements in the client will also be not editable. Changes can be applied only via the system-controller endpoints in case of global catalogs and via the admin-controller endpoints in case of tenant-specific catalogs.

The catalog values are saved in a JSON file in the config server beside the corresponding schema configuration.

...

If only one specific tenant will use a dynamic catalog, it is recommended to configure this catalog as a tenant-specific property. Its technical name should follow the naming convention ten<tenantname>:<catalogname>. A user with the role YUUVIS_TENANT_ADMIN is required.

The catalog values are saved in the config server beside the tenant schema configuration.

...

For catalogs in an app schema we recommend the naming convention app<app name>app<appname>:<catalogname>For catalogs in an app schema we recommend to use no extra prefix but only the catalog name <catalogname>.

...

Users with the role YUUVIS_TENANT_ADMIN are offered the maintenance actions also in read-only catalogs via the Web-API Gateway GET , POST and PATCH endpoints: and POST endpoints https://<domain>/api-web/admin/catalogs/tenMytenant:contracts of the admin-controller.

...

Code Block
languagejs
titleExample for a tenant-specific dynamic catalog
{
  "tenant": "Mytenant",
  "entries": [
    {
      "name": "Employment contract",
      "disabled": false
    },
    {
      "name": "Rental agreement",
      "disabled": false
    },
    {
      "name": "User contract",
      "disabled": false
    },
    {
      "name": "Purchase contract",
      "disabled": false
    }
  ]
}

system-controller

In case of global catalogs, the Web-API Gateway system-controller endpoints GET and POST are used. The role YUUVIS_SYSTEM_INTEGRATOR is required.

  • For the catalog contracts in the system schema: https://<domain>/api-web/system/catalogs/contracts
  • For the catalog contracts in the app schema businesspartner: https://<domain>/api-web/system/catalogs/appMyapplication:contracts?appschemaname=appMyapplication

Global catalogs without an appschemaname are saved in the config-service beside the system schema configuration. Otherwise, the catalogs are saved besides the app schema configurations.

dms-controller

The client uses the Web-API Gateway dms-controller endpoints that require the role YUUVIS_MANAGE_SETTINGS: 

  • The values for the catalog are read with the GET endpoint https://<domain>/api-web/dms/catalogs/tenMytenant:contracts.
  • If the catalog does not exist, it is created with the POST endpoint https://<domain>/api-web/dms/catalogs/tenMytenant:contracts.
  • If the catalog already exists, changes of its values are saved with the PATCH endpoint https://<domain>/api-web/dms/catalogs/tenMytenant:contracts.

system-controller

...

  • .
  • For the catalog contracts in the system schema: https://<domain>/api-web/system/catalogs/contracts
  • For the catalog contracts in the app schema businesspartner: https://<domain>/api-web/system/catalogs/appMyapplication:contracts?appschemaname=appMyapplication

Global catalogs without an appschemaname are saved in the config-service beside the system schema configuration. Otherwise, the catalogs are saved besides the app schema configurations.

Swagger-UI

There is a Swagger-UI that supports you in using the mentioned endpoints: https://<domain>/api-web/swagger-ui.html. The screenshot below displays a part of the Web-API Gateway Swagger-UI showing the first endpoints of the admin-controller.

Summary

In order to display a pick lists of pre-defined elements in metadata forms of your client, the corresponding property definitions have to be classified as dynamic catalogs. They can be global or tenant-specific. The dynamic catalogs can be configured to be editable or not editable for client users.