List Providers
Opencast supports fully configurable key-value lists. To add a new list, simply create a file with the extension
.properties in etc/listproviders. The list will be loaded or updated automatically.
The Java properties file format is used with the following special keys to configure the list:
| Key | Type | Description | Mandatory | Default |
|---|---|---|---|---|
| list.name | String | The list's unique identifier within a tenant | yes | n/a |
| list.default | String | The name of the default key | no | n/a |
| list.translatable | Boolean | Whether the values are supposed to be translatable | no | false |
| list.org | String | The organization ID | no | "*" |
Note that it is up to the client to handle the keys list.default and list.translatable.
Multi-Tenancy
The key list.org can be used to configure lists for specific tenants in multi-tenant setups. It defaults to * which
means that the list is available for all tenants.
The following logic is used to locate a list with a given list name LISTNAME:
- Return the list LISTNAME specific to the current tenant
- If not found, return the list LISTNAME available for all tenants
- If not found, return no list
While the filename of the list does not affect the list itself, we recommend to include the organization identifier in the filename.
Example
/etc/listproviders/mylist-org-a.properties
list.name=MYLIST
key=value
/etc/listproviders/mylist-org-b.properties
list.name=MYLIST
list.org=org-b
key-org-b=value-org-b
On org-b, the key-value pair for the list MYLIST is ["key-org-b", "value-org-b"] due to the tenant specific configuration. On org-a, the key-value pair for the list MYLIST is ["key", "value"]. Since there is no tenant specific configuration for org-a, the defaults are used.