Skip to content

Commit

Permalink
doc: add system metadata plugins release info
Browse files Browse the repository at this point in the history
  • Loading branch information
arddor authored and marcbachmann committed Jan 6, 2025
1 parent f7bd32c commit ace941a
Show file tree
Hide file tree
Showing 9 changed files with 298 additions and 3 deletions.
12 changes: 12 additions & 0 deletions content/operations/releases/release-2025-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,18 @@ To enable the import of metadata directly from PEIQ, we provide an extraction ma
{{< feature-info "Metadata" "server" >}}
### System metadata plugins :gift:

System Metadata Plugins are designed for internal use to support workflows, planning, and internal communication. They manage metadata that does not impact the document’s version history, meaning changes made through these plugins will not trigger an “unpublished change”. These plugins are strictly for internal purposes and are not relevant for content delivery, therefore they are not served through the Public API.

Therefore we are adding the following equivalents of metadata plugins to system metadata plugins:
- li-system-boolean
- li-system-date
- li-system-datetime
- li-system-integer
- li-system-enum
- li-system-target-length

Additionally the `li-kordiam-schedule` metadata plugin was changed to be a system metadata plugin. This plugin facilitates internal communication between Kordiam and Livingdocs. It allows users to customize their experience by selecting the platforms and categories that they want to view in the Kordiam schedule side panel. This should not have an impact on the document's version history.
## Vulnerability Patches
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ support:
tableDashboard: false
displayFilter: false
searchIndexing: false
systemMetadata: false
systemMetadata: true
planningSystem: false
description: |
{{< info >}}
Expand Down
43 changes: 43 additions & 0 deletions content/reference/document/metadata/plugins/li-system-boolean.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: li-system-boolean
type: metadata-plugins
menus:
reference:
parent: Metadata Plugins List
summary: A simple Boolean value store as system metadata, represented in the UI with a checkbox which you can toggle on/off.
support:
document: true
media: false
include: false
creationFlow: false
pushMessage: false
tableDashboard: true
displayFilter: false
searchIndexing: true
systemMetadata: true
planningSystem: false
webhookConditions: true
description: |
A simple Boolean value store, almost identical to `li-boolean`, but as system metadata (does not indicate a draft content change).
{{< added-in "release-2025-01" >}}.
Represented in the UI with a checkbox which you can toggle on/off.
If you want to have the value set to `true` during document creation, you can do that via [defaultMetadata]({{< ref "/reference/project-config/content-types#default-metadata" >}}) in your project config.
defaultUI: Checkbox
storageFormat: <Boolean>
contentTypeConfig: |2
handle: 'myHandle'
type: 'li-system-boolean',
config: {
// common
hideFromForm: false, // optional, default: false
index: true // optional, default: false
}
ui: {
label: 'foo', // optional, default: start case of handle
config: {
readOnly: true // optional, default: false
}
}
---
39 changes: 39 additions & 0 deletions content/reference/document/metadata/plugins/li-system-date.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: li-system-date
type: metadata-plugins
menus:
reference:
parent: Metadata Plugins List
summary:
support:
document: true
media: false
include: false
creationFlow: false
pushMessage: false
tableDashboard: false
displayFilter: false
searchIndexing: true
systemMetadata: true
planningSystem: false
webhookConditions: true
defaultUI: Date input field as system metadata
storageFormat: <ISO8601 String>
contentTypeConfig: |2
handle: 'myHandle',
type: 'li-system-date',
config: {
// common
hideFromForm: false, // optional, default: false
required: true, // optional, default: false
requiredErrorMessage: 'Provide a value', // optional
translatable: false, // optional, default: false
index: true // optional, default: false
},
ui: {
label: 'foo', // optional, takes camelized name otherwise
config: {
readOnly: true // optional, default: false
}
}
---
38 changes: 38 additions & 0 deletions content/reference/document/metadata/plugins/li-system-datetime.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: li-system-datetime
type: metadata-plugins
menus:
reference:
parent: Metadata Plugins List
summary:
support:
document: true
media: true
include: true
creationFlow: true
pushMessage: true
tableDashboard: false
displayFilter: false
searchIndexing: true
systemMetadata: true
planningSystem: false
webhookConditions: true
defaultUI: A datetime input as system metadata
storageFormat: <ISO8601 String>
contentTypeConfig: |2
handle: 'myHandle'
type: 'li-system-datetime',
config: {
// common
hideFromForm: false, // optional, default: false
required: true, // optional, default: false
requiredErrorMessage: 'Provide a value', // optional
index: true // optional, default: false
},
ui: {
label: 'foo', // optional, takes camelized name otherwise
config: {
readOnly: true // optional, default: false
}
}
---
55 changes: 55 additions & 0 deletions content/reference/document/metadata/plugins/li-system-enum.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: li-system-enum
type: metadata-plugins
menus:
reference:
parent: Metadata Plugins List
summary: A select form based on a statically defined list.
support:
document: true
media: false
include: false
creationFlow: false
pushMessage: false
tableDashboard: false
displayFilter: true
searchIndexing: true
systemMetadata: true
planningSystem: false
webhookConditions: true
description: |
A `li-system-enum` metadata field shows a select form based on a statically defined list. On publish the selected value gets validated against the defined static list. With that you can assure that only specific values gets published.
[Display Filters]({{< ref "/customising/advanced/editor-configuration/display-filter#metadata-filters" >}}) support {{< added-in "release-2023-09" >}}
defaultUI: |
Select input
![image](https://user-images.githubusercontent.com/172394/157249103-fd951f85-edf8-48ff-acc5-1b1a04831589.png)
storageFormat: <String>
contentTypeConfig: |2
handle: 'myHandle'
type: 'li-system-enum',
config: {
// common
hideFromForm: false, // optional, default: false
required: true, // optional, default: false
requiredErrorMessage: 'Provide a value', // optional
index: true, // optional, default: false
// specific
dataProvider: { // required
type: 'labelValuePair', // required
items: [
{label: 'Tag A', value: 'a'},
{label: 'Tag B', value: 'b', isDefault: true}, // isDefault sets the value if document opened the first time
{label: 'Tag C', value: 'c'}
]
}
},
ui: {
label: 'foo', // optional, takes camelized name otherwise
config: {
readOnly: true, // optional, default: false
placeholder: 'foo' // optional, takes camelized name otherwise
}
}
---
56 changes: 56 additions & 0 deletions content/reference/document/metadata/plugins/li-system-integer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: li-system-integer
type: metadata-plugins
menus:
reference:
parent: Metadata Plugins List
support:
document: true
media: true
include: true
creationFlow: true
pushMessage: true
tableDashboard: true
displayFilter: true
searchIndexing: true
systemMetadata: true
planningSystem: false
webhookConditions: true
defaultUI: |
* Renders a number input.
* No UI is rendered if the `handle` is `lastProofreadRevision`.
* {{< added-in "release-2023-03" >}}: Renders a select element if a `dataProvider` is configured
storageFormat: <Integer>
contentTypeConfig: |2
handle: 'myHandle'
type: 'li-system-integer',
config: {
// common
hideFromForm: false, // optional, default: false
required: true, // optional, default: false
requiredErrorMessage: 'Provide a value', // optional
index: true, // optional, default: false
// specific
minValue: 1, // optional
maxValue: 50, // optional
translatable: true, // optional, default: false, translations are only supported for data-record and mediaLibrary
dataProvider: { // optional. {{< added-in "release-2023-03" >}}
// Option 1 - list of items
type: 'labelValuePair',
items: [
{label: 'A', value: 1},
{label: 'B', value: 2, isDefault: true}, // isDefault sets the value if document opened the first time
{label: 'C', value: 3}
]
// Option 2 - DataSource
dataSource: 'labelValuePairDataSource'
}
},
ui: {
label: 'foo', // optional, takes camelized name otherwise
config: {
placeholder: 'bar', // optional, takes camelized name otherwise
readOnly: true // optional, default: false
}
}
---
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: li-system-target-length
type: metadata-plugins
menus:
reference:
parent: Metadata Plugins List
summary: Provide a suggested total character count for the text in the document.
support:
document: true
media: false
include: false
creationFlow: false
pushMessage: false
tableDashboard: false
displayFilter: false
searchIndexing: false
systemMetadata: true
planningSystem: false
description: |
This plugin is used to provide a suggested total character count for the text in the document.
defaultUI: |
**Input**: Number input, or slider if `steps` are defined.
**Editor**: Difference, Total Characters, Target Range, Characters in Focussed Component
{{< img src="../images/li-target-length.png" alt="Target Length Indicator" >}}
storageFormat: |
{
characters: <Integer>
}
contentTypeConfig: |2
handle: 'myHandle'
type: 'li-system-target-length',
ui: {
config: {
acceptedCharacterDifference: 20, // Range above and below `value` considered accepted
// optional, allows picking a step instead of entering an exact number
steps: [
{
label: 'S', // use a short one, e.g. "S" "M" "L"
value: 100 // number of characters
},
{
label: 'M',
value: 200
}
],
// optional, allows the input of an exact number besides picking a step
allowAnyNumber: true
}
}
---
4 changes: 2 additions & 2 deletions content/reference/document/metadata/plugins/li-system-text.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ support:
planningSystem: false
webhookConditions: true
description: |
A simple text value store, almost identical to `li-text`, but as system metadata (does not increase document version).
A simple text value store, almost identical to `li-text`, but as system metadata (does not indicate a draft content change).
{{< added-in "release-2024-09" >}}.
It can be used in cases where a simple text value should be stored in the metadata, but the document version should not
be increased when the metadata value changes. Or in other words, it will not show up as unpublished change.
Key differences to `li-text`:
- Does not increase document version (system metadata)
- Does not indicate a draft content change (system metadata)
- Restricted to document metadata
- Not translatable
- No validation hooks
Expand Down

0 comments on commit ace941a

Please sign in to comment.