Die Testate werden intern als dynamische Attribute am Artikel abgebildet, die aus einem Paar aus Schlüssel (key) und einem Wert (value) gespeichert werden.
System-Testate
Derzeit werden folgende System-Attribute unterstützt:
Key | Name | Beschreibung/Bedeutung | Wertevorrat | Typ |
---|---|---|---|---|
#isTemplate | Vorlage | Vorlagekennzeichen am Artikel | Boolean | |
#writtenReady | Fertig erfasst | Der Artikel ist fertig erfasst | Boolean | |
#publishNow | Jetzt publizieren | Der Artikel wird sofort in die konfigurierten Kanäle exportiert | Boolean | |
#releaseStatus | Freigabestatus | Freigabestatus des Artikels |
| Auswahl (String) |
#releaseComment | Anmerkungen zur Freigabe | Kommentar zur Freigabe | String |
Kundenspezifische Testate
Derzeit sind folgende manuellen (kundenspezifische) Attribute definiert:
Key | Name | Beschreibung/Bedeutung | Wertevorrat | Typ |
---|---|---|---|---|
3 | Frei zur Veröffentlichung | Der Artikel kann veröffentlicht werden | Boolean | |
paywall | Paywall | Der Artikel wird hinter der Paywall veröffentlicht | Boolean | |
releaseNote | Veröffentlichungshinweis | Auswahl einer Veröffentlichungspriorität |
| Auswahl |
articlePriority | Artikelpriorität | Priortät des Artikels |
| Auswahl |
Die Konfiguration findet in der Application.yml des UI-Content-Containers statt. Im Abschnitt dynAttribs werden die Attribute in 3 Kategorien eingeordnet:
- booleanAttributes werden als Checkboxen dargestellt
- textAttributes werden als Textfelder dargestellt
- selectAttributes werden als Comboboxen dargestellt
Jedes Attribut (Testat) besteht mindestens aus:
- einem eindeutigen Schlüssel (key)
- einem Namen - entweder als Message-Properties-Key oder Plaintext
Jedes Attribut wird durch eine Liste von Rollen eingeschränkt. Bisher werden 2 Rollen unterschieden:
- ROLE_ADMIN: Administrator-Rolle
- ROLE_CNT_USER: Content-Rolle
Wird eine Attribute durch eine Anwenderaktion auf einen bestimmten Wert gesetzt, kann eine Folgeaktion pro gesetzten neuen Wert über das Attribut custom-article-action-key-for-value angeben werden.
Aufbau in der YML-Datei
dynAttribs:
{Attributkategorie: [booleanAttributes, textAttributes, selectAttributes]}
booleanAttributes:
-
key: [Schlüssel - String]
name: [Name - String]
enabled: [aktiv - Boolean]
defaultValue: [Standard - Boolean]
roles: [Rollen]
- ROLE_ADMIN
- ROLE_CNT_USER
custom-article-action-for-value:
- true: <Schlüssel der Aktion>
- false: <Schlüssel der Aktion>
textAttributes:
-
key: [Schlüssel - String]
name: [Name - String]
enabled: [aktiv - Boolean]
defaultValue: [Vorbelegung - String]
roles: [Rollen]
custom-article-action-for-value:
- [Wert]: [Schlüssel der Aktion]
selectAttributes:
-
key: [Schlüssel - String]
name: [Name - String]
enabled: [aktiv - Boolean]
nullSelectionAllowed: [Leereintrag - Boolean]
roles: [Rollen]
entries: [Auswahl]
-
key: [Schlüssel - Integer]
label: [Name - String]
defaultValue: [Default - Boolean]
custom-article-action-for-value:
- [Schlüssel des Eintrags]: [Schlüssel der Aktion]
Beispiel einer Testate-Konfiguration
dynAttribs:
booleanAttributes:
-
key: 3
name: content.article.attrib.readyForPublication
enabled: true
defaultValue: false
roles:
-
key: paywall
name: Paywall
enabled: true
defaultValue: false
roles:
- ROLE_CNT_USER
- ROLE_ADMIN
textAttributes:
-
key: 4
name: content.article.attrib.additionalText
enabled: false
defaultValue: vorbelegung
roles:
selectAttributes:
-
key: releaseNote
name: content.article.attrib.releaseNote
enabled: true
nullSelectionAllowed: false
roles:
entries:
-
key: 0
label: content.article.attrib.releaseNote.necessarily
-
key: 1
label: content.article.attrib.releaseNote.normally
defaultValue: true
-
key: 2
label: content.article.attrib.releaseNote.possibly
-
key: 3
label: content.article.attrib.releaseNote.dont
-
key: articlePriority
name: content.article.attrib.articlePriority
enabled: true
nullSelectionAllowed: false
roles:
- ROLE_CNT_USER
entries:
-
key: 0
label: content.article.attrib.articlePriority.important
-
key: 1
label: content.article.attrib.articlePriority.normally
defaultValue: true
-
key: 2
label: content.article.attrib.articlePriority.unimportant