diff --git a/content/operations/releases/release-2025-01.md b/content/operations/releases/release-2025-01.md index a0e9d706a..3e7aaefe4 100644 --- a/content/operations/releases/release-2025-01.md +++ b/content/operations/releases/release-2025-01.md @@ -522,6 +522,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. + {{< feature-info "Configuration" "server" >}} ### Product Usage Analytics :gift: diff --git a/content/reference/document/metadata/plugins/li-kordiam-schedule.md b/content/reference/document/metadata/plugins/li-kordiam-schedule.md index 2f3bad523..7a5b826c3 100644 --- a/content/reference/document/metadata/plugins/li-kordiam-schedule.md +++ b/content/reference/document/metadata/plugins/li-kordiam-schedule.md @@ -14,7 +14,7 @@ support: tableDashboard: false displayFilter: false searchIndexing: false - systemMetadata: false + systemMetadata: true planningSystem: false description: | {{< info >}} diff --git a/content/reference/document/metadata/plugins/li-system-boolean.md b/content/reference/document/metadata/plugins/li-system-boolean.md new file mode 100644 index 000000000..7da4ad326 --- /dev/null +++ b/content/reference/document/metadata/plugins/li-system-boolean.md @@ -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: +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 + } + } +--- diff --git a/content/reference/document/metadata/plugins/li-system-date.md b/content/reference/document/metadata/plugins/li-system-date.md new file mode 100644 index 000000000..527bca566 --- /dev/null +++ b/content/reference/document/metadata/plugins/li-system-date.md @@ -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: +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 + } + } +--- diff --git a/content/reference/document/metadata/plugins/li-system-datetime.md b/content/reference/document/metadata/plugins/li-system-datetime.md new file mode 100644 index 000000000..cfb2f3bf2 --- /dev/null +++ b/content/reference/document/metadata/plugins/li-system-datetime.md @@ -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: +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 + } + } +--- diff --git a/content/reference/document/metadata/plugins/li-system-enum.md b/content/reference/document/metadata/plugins/li-system-enum.md new file mode 100644 index 000000000..567063b34 --- /dev/null +++ b/content/reference/document/metadata/plugins/li-system-enum.md @@ -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: +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 + } + } +--- diff --git a/content/reference/document/metadata/plugins/li-system-integer.md b/content/reference/document/metadata/plugins/li-system-integer.md new file mode 100644 index 000000000..9a8c71846 --- /dev/null +++ b/content/reference/document/metadata/plugins/li-system-integer.md @@ -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: +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 + } + } +--- diff --git a/content/reference/document/metadata/plugins/li-system-target-length.md b/content/reference/document/metadata/plugins/li-system-target-length.md new file mode 100644 index 000000000..3a88766e5 --- /dev/null +++ b/content/reference/document/metadata/plugins/li-system-target-length.md @@ -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: + } +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 + } + } +--- diff --git a/content/reference/document/metadata/plugins/li-system-text.md b/content/reference/document/metadata/plugins/li-system-text.md index 0609be881..331d6bf4e 100644 --- a/content/reference/document/metadata/plugins/li-system-text.md +++ b/content/reference/document/metadata/plugins/li-system-text.md @@ -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