mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-05 19:59:37 -06:00
76 lines
1.9 KiB
Markdown
76 lines
1.9 KiB
Markdown
---
|
|
title: "Settings Bundles"
|
|
date: 2020-05-04T00:00:00+00:00
|
|
weight: 50
|
|
geekdocRepo: https://github.com/owncloud/ocis
|
|
geekdocEditPath: edit/master/docs/extensions/settings
|
|
geekdocFilePath: bundles.md
|
|
---
|
|
|
|
A **Settings Bundle** is a collection of settings, uniquely identified by the key of the
|
|
extension registering the bundle and the key of the bundle itself. It's purpose is to let
|
|
oCIS extensions define settings and make them available to users. They are dynamically
|
|
rendered into forms, available in the frontend.
|
|
|
|
As of now we support five different types of settings:
|
|
- boolean
|
|
- integer
|
|
- string
|
|
- single choice list of integers or strings
|
|
- multiple choice list of integers or strings
|
|
|
|
Each **Setting** is uniquely identified by a key within the bundle. Some attributes
|
|
depend on the chosen type of setting. Through the information provided with the
|
|
attributes of the setting, the settings frontend dynamically renders form elements,
|
|
allowing users to change their settings individually.
|
|
|
|
## Example
|
|
|
|
```json
|
|
{
|
|
"identifier": {
|
|
"extension": "ocis-accounts",
|
|
"bundleKey": "profile"
|
|
},
|
|
"displayName": "Profile",
|
|
"settings": [
|
|
{
|
|
"settingKey": "lastname",
|
|
"displayName": "Lastname",
|
|
"description": "Input for lastname",
|
|
"stringValue": {
|
|
"placeholder": "Set lastname"
|
|
}
|
|
},
|
|
{
|
|
"settingKey": "age",
|
|
"displayName": "Age",
|
|
"description": "Input for age",
|
|
"intValue": {
|
|
"min": "16",
|
|
"max": "200",
|
|
"step": "2",
|
|
"placeholder": "Set age"
|
|
}
|
|
},
|
|
{
|
|
"settingKey": "timezone",
|
|
"displayName": "Timezone",
|
|
"description": "User timezone",
|
|
"singleChoiceValue": {
|
|
"options": [
|
|
{
|
|
"stringValue": "Europe/Berlin",
|
|
"displayValue": "Europe/Berlin"
|
|
},
|
|
{
|
|
"stringValue": "Asia/Kathmandu",
|
|
"displayValue": "Asia/Kathmandu"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|