Versions Compared

Key

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

...

Dynamic catalogs are introduced into the Web-API gateway with version 2021 Summer at the latest. Beginning with 2021 Summer Alpha2, the Web-API Gateway offers the endpoints for maintaining such catalogs.

Notes:

  • We use the term catalog from a technical perspective and the term list from the user's perspective.
  • The catalog values (corresponding to list elements) can't cannot be localized.
  • The list elements can't be manipulated by client form scripting.

...

In the following code block, an example schema definition of the example string property contract is displayed. The property is classified by line 6 to be a a dynamic catalog that is displayed as a pick - list with the technical name tenMytenant:contracts in your client. Initially, the list of values offered to users will be empty. Since there is no readonly parameter within the value of the classification attribute, the pick-list will be editable in the client.

...

If the example schema is uploaded as a tenant schema via the endpoint POST /api/admin/schema by a user of the example tenant Mytenant mytenant, the property contract will be available only in the specific tenant Mytenant mytenant. After restarting your client, the users will get an empty pick - list for the field called tenMytenant:contracts.

...

The following code block shows an example property definition cut from an example app schema. If the example schema is uploaded as an app schema via the endpoint POST /api/system/apps/{app}/schema for the example app Myapplicationmyapplication, the property contract will be available only for the specific app Myapplicationmyapplication, but to all tenants using this app. After restarting your client, the users will get an empty pick - list for the field called appMyapplication:contracts.

Code Block
languagexml
titleSchema excerpt example of a field of type string of classification dynamic catalog
	<propertyStringDefinition>
		<id>contract</id>
		<propertyType>string</propertyType>
		<cardinality>single</cardinality>
		<required>false</required>
        <classification>dynamic:catalog[appMyapplication:contracts,readonly]</classification>
	</propertyStringDefinition>

...


The following code block shows an example property definition cut from an example system schema. If the example schema is uploaded as system schema via the endpoint POST /api/system/schema, the property contract will be available in all tenants and for all applications. After restarting your client, the users will get an empty pick - list for the field called contracts.

...

Users with the role YUUVIS_MANAGE_SETTINGS can maintain pick - lists that are based on a property classified as dynamic catalog without the readonly parameter.

The edit dialog can be opened by clicking the pencil symbol at the field. The screenshot below shows the edit dialog for the example pick - list contracts where the four values Employment contract, Rental agreement, User contract and Purchase contract were already added.

...

  • For the catalog contracts in the system schema: https://<domain>/api-web/system/catalogs/contracts
  • For the catalog contracts in the app schema businesspartnermyapplication: https://<domain>/api-web/system/catalogs/appMyapplicationappMyapllication: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.

...

The client uses the Web-API Gateway dms-controller endpoints that require the role YUUVIS_MANAGE_SETTINGS in case of POST and PATCH requests

  • 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.

...