Zum Hauptinhalt springen

Spezifikation

Mittels Annotationen in YAML kann die Applikation konfiguriert werden. Nachfolgend ist eine Spezifikation aller Schlüssel, mit denen bestehende Elementtypen und Properties angepasst bzw. neue Properties definiert werden können.

properties

Der Schlüssel properties definiert eine Liste von geänderten, bestehenden Properties eines Elementtyps. Jede bestehende Property wird mit dem technischen Namen (laut Metamodell) angegeben.

# Bestehende Property 'title' umbenennen
BusinessAttribute:
properties:
title:
label:
de: Überschrift
Tooltipp

Der Schlüssel label definiert die Bezeichnung der Property.

Hinweis

Ausschließlich Properties, die standardmäßig im Metamodell vorhanden sind, dürfen in der Liste angegeben und angepasst werden. Properties, die nicht im Metamodell definiert sind, müssen als kundenspezifische customProperties konfiguriert werden.

customProperties

Der Schlüssel customProperties definiert eine Liste von neuen, kundenspezifischen Properties eines Elementtyps. Jede neue Property wird mit einem technischen Namen angegeben. Dieser technische Name muss die Property eindeutig identifizieren und darf nicht mit anderen, vorhandenen Properties des Elementtyps kollidieren.

# Neue Properties 'confidentiality' und 'priority'
BusinessAttribute:
customProperties:
confidentiality:
label:
de: Vertraulichkeit
baseType: STRING
priority:
label:
de: Priorität
baseType: INTEGER
Tooltipp

Der Schlüssel baseType definiert den Datentyp der Property.

Neue Properties werden Teil des Metamodells. Sie werden beim jeweiligen Element in der Benutzeroberfläche als Eingabefelder angezeigt. Ebenso werden neue Properties in den Schnittstellen beim Import und Export berücksichtigt.

Tooltipp

Der Schlüssel customProperties darf für alle Elementtypen, die in der Hierarchie von Asset ableiten, sowie für Issue definiert werden.

Hinweis

Der technische Name einer kundenspezifischen Property muss mit einem Buchstaben, : oder _ beginnen und darf danach nur Buchstaben, Ziffern, ., :, - oder _ jedoch keine Leerzeichen oder andere Sonderzeichen (/, &, ?, <, >, +, =, usw.) enthalten.

customFunctions

Der Schlüssel customFunctions definiert eine Liste von kundenspezifischen Funktionen eines Elementtyps. Jede kundenspezifische Funktion definiert mit dem Schlüssel href einen Link auf eine externe Webseite bzw. Applikation und wird in der Benutzeroberfläche als Eintrag im Menü des Elements angezeigt. Durch Klick auf den Eintrag im Menü wird die externe Webseite bzw. Applikation geöffnet.

Asset:
customProperties:
# Kundenspezifische Property `additionalText`
additionalText:
label:
de: Zusatztext
en: Additional text
baseType: TEXT

customFunctions:
# Kundenspezifische Funktion, um im Internet nach der Bezeichnung zu suchen
searchGoogle:
label:
de: Google Suche
en: Google Search
title:
de: Suche nach der Bezeichnung in Google
en: Search for the label in Google
icon: brand-google
href: "https://www.google.com/search?q=${this.label}"
# Kundenspezifische Funktion, um die kundenspezifische Property `additionalText` zu übersetzen
translateAdditionalText:
label:
de: Zusatztext übersetzen
en: Translate additional text
title:
de: Den Zusatztext mithilfe von Google translate übersetzen
en: Translate the additional text using Google translate
icon: language
href: "https://translate.google.com/?sl=de&tl=en&text=${this.additionalText}&op=translate"
Tooltipp

Die Schlüssel label, title und icon definieren die Bezeichnung, die Beschreibung und das Symbol der kundenspezifischen Funktion, so wie sie im Menü angezeigt wird.

In der Benutzeroberfläche werden die kundenspezifischen Funktionen als Einträge im Menü des Elements angezeigt:

CustomFunctions

Optional kann der Link mittels Platzhalter parametrisiert werden, um Werte des Elements (z.B. Bezeichnung, Zusatztext) an definierten Stellen einzusetzen. Platzhalter werden mit ${} definiert und beziehen sich auf einen Wert des Elements. Beim Klick ins Menü des geöffneten Elements werden die Platzhalter durch die tatsächlichen Werte des Elements ersetzt.

Es können alle Properties des Elements sowie einige weitere, ausgewählte Werte angegeben werden:

PlatzhalterBeschreibung
${this.*}Mit this. gefolgt vom technischen Namen einer Property können alle Properties, die standardmäßig im Metamodell vorhanden sind (z.B. ${this.label}, ${this.description}, ${this.tags}), sowie alle kundenspezifischen Properties (z.B. ${this.additionalText}) des Elements angegeben werden.
${user.userName}Der Name des eingeloggten Benutzers.
${user.loginId}Die Benutzerkennung des eingeloggten Benutzers.
${tenant.tenantName}Der Name des gewählten Mandanten.
${tenant.tenantId}Die UUID des gewählten Mandanten.
Hinweis

Der Eintrag im Menü wird nur angezeigt, wenn alle Platzhalter, die in href angegeben sind, aufgelöst werden können und einen Wert haben. Zum Beispiel, falls der Platzhalter ${this.additionalText} in href angegeben ist, wird die kundenspezifische Funktion im Menü des Elements nur angezeigt wenn die Property additionalText im Element nicht leer ist.

label

Achtung

Der Schlüssel label mit der deutschen Bezeichnung als direkter Wert ist veraltet und sollte nicht mehr verwendet werden. Bestehende Verwendungen sollten durch den Schlüssel de innerhalb von label ersetzt werden.

Der Schlüssel labelEn mit der englischen Bezeichnung als direkter Wert ist veraltet und sollte nicht mehr verwendet werden. Bestehende Verwendungen sollten durch den Schlüssel en innerhalb von label ersetzt werden.

Der Schlüssel label definiert die mehrsprachige Bezeichnung eines Elementtyps, eines Stereotyps, einer Property oder des Wertes einer Liste (literals). Die Bezeichnungen werden in der Benutzeroberfläche (z.B. neben den entsprechenden Eingabefeldern oder als Werte einer Dropdown-Liste) angezeigt sowie beim Upload/Download in Excel und in Reports berücksichtigt.

Die Bezeichnung kann in mehreren Sprachen definiert werden. Innerhalb von label werden die jeweiligen Sprachcodes mit den mehrsprachigen Bezeichnungen angegeben.

  • de definiert die Bezeichnung auf Deutsch
  • en definiert die Bezeichnung auf Englisch
  • fr definiert die Bezeichnung auf Französisch
# Elementtyp 'BusinessAttribute' umbenennen
BusinessAttribute:
label:
de: Eigenschaft | Eigenschaften
en: Property | Properties
fr: Propriété | Propriétés

Für Elementtypen und Stereotypen (jedoch nicht für Properties) kann die Bezeichnung im Plural durch | getrennt angegeben werden. Die Bezeichnung im Plural wird in der Benutzeroberfläche automatisch angezeigt, wenn die Mehrzahlform erforderlich ist.

Hinweis

Diese Definition ersetzt die veralteten Schlüssel plural, pluralEn und ling.

# Property 'title' umbenennen und neue Property 'confidentiality'
BusinessAttribute:
properties:
title:
label:
de: Überschrift
en: Caption
customProperties:
confidentiality:
label:
de: Vertraulichkeit
en: Confidentiality

# Bezeichnungen von `literals` definieren
Derivation:
properties:
qualifier:
literals:
SPOT:
label:
de: SPOT
en: SPOT
GOLD:
label:
de: Golden Source
en: Golden record
Tooltipp

Mit dem Schlüssel stereotype können Elementtypen stereotypisiert werden. Der Schlüssel label definiert für jeden Stereotyp eine eigene Bezeichnung.

title

Achtung

Der Schlüssel title mit der deutschen Beschreibung als direkter Wert ist veraltet und sollte nicht mehr verwendet werden. Bestehende Verwendungen sollten durch den Schlüssel de innerhalb von title ersetzt werden.

Der Schlüssel titleEn mit der englischen Beschreibung als direkter Wert ist veraltet und sollte nicht mehr verwendet werden. Bestehende Verwendungen sollten durch den Schlüssel en innerhalb von title ersetzt werden.

Der Schlüssel title definiert die mehrsprachige Beschreibung eines Elementtyps, eines Stereotyps, einer Property oder des Wertes einer Liste (literals). Die Beschreibungen werden als Tooltipps in der Benutzeroberfläche (z.B. als Mouseover über die entsprechenden Eingabefelder oder Werte einer Dropdown-Liste) eingeblendet.

Die Beschreibung kann in mehreren Sprachen definiert werden. Innerhalb von title werden die jeweiligen Sprachcodes mit den mehrsprachigen Beschreibungen angegeben.

  • de definiert die Beschreibung auf Deutsch
  • en definiert die Beschreibung auf Englisch
  • fr definiert die Beschreibung auf Französisch
# Property 'confidentiality' mit Beschreibung
BusinessAttribute:
customProperties:
confidentiality:
label:
de: Vertraulichkeit
en: Confidentiality
fr: Confidentialité
title:
de: Die Vertraulichkeitsklassifikation eines Attributs
en: The confidentiality classification of an attribute
fr: Le niveau de confidentialité d'un attribut
Tooltipp

Mit dem Schlüssel stereotype können Elementtypen stereotypisiert werden. Der Schlüssel title definiert für jeden Stereotyp eine eigene Beschreibung.

icon

Der Schlüssel icon definiert das Symbol eines Elementtyps, einer Property oder des Wertes einer Liste (literals). Die Symbole werden in der Benutzeroberfläche (z.B. neben den entsprechenden Eingabefeldern oder neben den Werten einer Dropdown-Liste) angezeigt.

Hinweis

In der Applikation werden Symbole aus der Bibliothek Font Awesome (Version 7.2) verwendet.

Die in Font Awesome angegebenen Namen der Symbole können in der Konfiguration direkt eingesetzt werden.

# Symbol des Elementtyps 'BusinessAttribute' ändern
BusinessAttribute:
icon: unicorn

# Symbole von `literals` definieren
Measurement:
properties:
qualityRating:
label:
de: Qualitätsrating
literals:
EXCELLENT:
label:
de: Exzellent
icon: traffic-light-go
FAIR:
label:
de: Mittelmäßig
icon: traffic-light-slow
BAD:
label:
de: Schlecht
icon: traffic-light-stop

Fast alle Symbole sind im Stil solid, regular (default), light und thin vorhanden. Der Stil wird vor dem Namen des Symbols mit einem Bindestrich eingefügt.

Hinweis

Falls kein Stil angegeben wird, wird der Stil regular automatisch verwendet.

# Symbol des Elementtyps 'BusinessAttribute' ändern
BusinessAttribute:
icon: solid-unicorn

Um ein Symbol aus der Kategorie "Brands" zu verwenden, wird brand vor dem Namen des Symbols mit einem Bindestrich eingefügt (z.B. brand-facebook).

Tooltipp

Mit dem Schlüssel stereotype können Elementtypen stereotypisiert werden. Der Schlüssel icon definiert dabei für jeden Stereotyp ein eigenes Symbol.

Hinweis

Falls ein Symbol aus technischen Gründen nicht korrekt dargestellt werden kann, wird es durch das Symbol face-thinking ersetzt.

baseType

Der Schlüssel baseType definiert den Datentyp einer Property. Der Datentyp legt fest, welche Werte im entsprechenden Eingabefeld in der Benutzeroberfläche eingegeben werden können.

baseTypeBeschreibungDarstellung in der Benutzeroberfläche
STRINGZeichenketteZeichenkette
TEXTFormatiertes TextfeldText
DECIMALDezimalzahlDezimalzahl
INTEGERGanzzahlGanzzahl
BOOLEANWahrheitswert
(Ja/Nein)
Wahrheitswert
BINARYBinärdatenBinärdaten
DATEDatumDatum
TIMEUhrzeitUhrzeit
DATETIMEZeitpunkt
(Datum und Uhrzeit)
Zeitpunkt
DURATIONZeitdauerZeitdauer
CODECodeCode
IDIdentifierIdentifier
# Neue Property 'confidentiality' mit Datentyp `BOOLEAN`
BusinessObject:
customProperties:
confidentiality:
label:
de: Vertraulich
baseType: BOOLEAN
Tooltipp

Falls bei einer Property sowohl der Schlüssel baseType als auch der Schlüssel literals definiert ist, dann wird der Schlüssel baseType ignoriert.

Achtung

Je nach baseType werden die Properties unterschiedlich in der Datenbank gespeichert. Falls der baseType einer bestimmten Property geändert wird, können Werte, die zuvor mit dem ursprünglichen baseType gespeichert wurden, möglicherweise nicht korrekt verarbeitet werden, da ihr gespeicherter Wert nicht mit dem neuen baseType kompatibel ist. Vor der Änderung von baseType sollte daher sichergestellt werden, dass die Werte aller betroffenen Properties gelöscht sind.

literals

Der Schlüssel literals definiert die Liste von gültigen Werten einer Property. Das entsprechende Eingabefeld wird in der Benutzeroberfläche als Dropdown-Liste angezeigt.

Jeder Wert hat einen technischen Namen und eine Bezeichnung (label). Die Bezeichnung wird in der Benutzeroberfläche als Beschriftung der einzelnen Einträge in der Dropdown-Liste verwendet sowie beim Upload/Download in Excel. Der technische Name wird in allen anderen technischen Schnittstellen (Metadata REST/API, Metadata Upload/Download) verwendet.

# Neue Property 'direction' mit Liste von gültigen Werten
BusinessAttribute:
customProperties:
direction:
label:
de: Richtung
literals:
LEFT:
label:
de: Links
icon: left
order: 1
RIGHT:
label:
de: Rechts
icon: right
order: 2
Tooltipp

Bei der Definition der Werte können die Schlüssel label, title, icon und order verwendet werden, um die Werte entsprechend zu beschriften bzw. anzuordnen.

Es ist möglich, bestimmte bestehende Properties, die bereits literals definiert haben, zu bearbeiten. Dabei können vorhandene Werte entfernt oder umbenannt sowie neue Werte hinzugefügt werden.

Die folgende Tabelle zählt bestehende Properties auf, die mit literals überschrieben werden können.

ElementtypPropertyliterals (Bezeichnung)
ProcessinglawfulBasisCONSENT (Einwilligung)
CONTRACT (Vertragserfüllung)
LEGAL (Rechtliche Verpflichtung)
VITAL (Vitales Interesse)
PUBLIC (Öffentliches Interesse)
LEGIT (Berechtigte Interessen)
DatasetaccrualPeriodicity001 (kontinuierlich)
002 (täglich)
003 (wöchentlich)
004 (14-tägig)
005 (monatlich)
006 (quartalsweise)
007 (halbjährlich)
008 (jährlich)
009 (nach Bedarf)
010 (unregelmäßig)
011 (nicht geplant)
012 (unbekannt)
DistributionformatCSV (CSV)
HTML (HTML)
JSON (JSON)
DOC (DOC)
XLS (XLS)
RDF (RDF)
RSS (RSS)
TXT (TXT)
XML (XML)
PDF (PDF)
MeasureunitMeasureNUM (Anzahl)
YEAR (Jahre)
PC (Prozent)
EUR (Euro)
MeasurecalculationDateEOM (Monatsultimo)
EOD (Ende des Tages)
DerivationqualifierSPOT (SPOT)
GOLD (Golden Source)
CompositionqualifierGROUP (Gruppierung)
FILTER (Filter)
UsagequalifierIN (Input)
OUT (Output)
MeasurementqualityRatingEXCELLENT (Exzellent)
GOOD (Gut)
FAIR (Mittelmäßig)
POOR (Mangelhaft)
BAD (Schlecht)
Persongender0 (unbekannt)
1 (männlich)
2 (weiblich)
9 (nicht anwendbar)
EnumerationstringTypeALPHABETIC (alphabetisch)
NUMERIC (numerisch)
ALPHANUMERIC (alphanumerisch)
Hinweis

Der Schlüssel literals bei bestehenden Properties ersetzt die ganze Liste. Deshalb müssen alle Werte, die nicht gelöscht werden sollen, in der neuen Liste nochmals angegeben werden.

# 'EOM' entfernen, 'EOY' hinzufügen, 'EOD' behalten
Measure:
properties:
calculationDate:
literals:
EOD:
label:
de: Ende des Tages
order: 1
EOY:
label:
de: Ende des Jahres
order: 2
Tooltipp

Falls bei einer Property sowohl der Schlüssel baseType als auch der Schlüssel literals definiert ist, dann wird der Schlüssel baseType ignoriert. Falls der Schlüssel cardinality den Wert MANY hat erlaubt die Dropdown-Liste in der Benutzeroberfläche eine Mehrfachauswahl.

order

Achtung

Die Definition von order für die Anordnung von Eingabefeldern in der Benutzeroberfläche ist veraltet und sollte nicht mehr verwendet werden. Bestehende Verwendungen sollten durch den neuen Schlüssel position innerhalb von layout ersetzt werden.

Der Schlüssel order kann weiterhin für die Sortierung von Werten und Gruppen verwendet werden.

Der Schlüssel order definiert die Sortierung von Werten einer Liste (literals) oder von Gruppen. Die Sortierung wird in der Benutzeroberfläche (z.B. die Anordnung der Werte einer Dropdown-Liste oder die Reihenfolge der Gruppen) sowie beim Upload/Download in Excel und in Reports berücksichtigt.

Die vergebene Ordnungszahl muss innerhalb der definierten Werte eindeutig sein.

# Definition der sortierten Auswahlwerte in einem Feld
BusinessAttribute:
customProperties:
priority:
label:
de: Priorität
literals:
low:
label:
de: Niedrig
order: 10
medium:
label:
de: Mittel
order: 20
high:
label:
de: Hoch
order: 30

cardinality

Der Schlüssel cardinality definiert die Kardinalität einer Property. Die Kardinalität legt fest, ob die Property einen oder mehrere Werte fassen kann.

cardinalityBeschreibungDarstellung in der Benutzeroberfläche
ONE (default)Das Eingabefeld lässt eine Einfachauswahl zuONE
MANYDas Eingabefeld lässt eine Mehrfachauswahl zuMANY
# Neue Property 'color' mit Mehrfachauswahl
BusinessAttribute:
customProperties:
color:
label:
de: Farbe
cardinality: MANY
literals:
RED:
label:
de: Rot
GREEN:
label:
de: Grün
BLUE:
label:
de: Blau
Tooltipp

Der Schlüssel cardinality wird nur berücksichtigt, wenn der Schlüssel baseType den Wert STRING hat oder der Schlüssel literals definiert ist.

Achtung

Je nach cardinality werden die Properties unterschiedlich in der Datenbank gespeichert. Falls die cardinality einer bestimmten Property geändert wird, können Werte, die zuvor mit der ursprünglichen cardinality gespeichert wurden, möglicherweise nicht korrekt verarbeitet werden, da ihr gespeicherter Wert nicht mit der neuen cardinality kompatibel ist. Vor der Änderung von cardinality sollte daher sichergestellt werden, dass die Werte aller betroffenen Properties gelöscht sind.

width

Deprecated

Achtung

Der Schlüssel width ist veraltet und sollte nicht mehr verwendet werden. Bestehende Verwendungen sollten durch den neuen Schlüssel width innerhalb von layout ersetzt werden.

Der Schlüssel width definiert die Breite einer Property. Die Breite wird in der Benutzeroberfläche bei der Anordnung der entsprechenden Eingabefelder berücksichtigt.

widthBeschreibung
1 (default)Es passen zwei Eingabefelder nebeneinander in eine Zeile, d.h. das Eingabefeld nimmt nur die halbe Breite ein.
2Es passt nur ein Eingabefeld in eine Zeile, d.h. das Eingabefeld nimmt die ganze Breite ein.
# Neue Property 'priority' mit ganzer Breite
BusinessAttribute:
customProperties:
priority:
label:
de: Priorität
width: 2
Tooltipp

Falls der Schlüssel baseType den Wert TEXT hat, wird der Schlüssel width automatisch auf 2 gesetzt.

defaultValue

Der Schlüssel defaultValue definiert einen Default-Wert für eine Property. Das entsprechende Eingabefeld in der Benutzeroberfläche wird mit dem Default-Wert automatisch befüllt, falls kein Wert eingegeben wird.

# Neue Property 'dataCategory' mit Default-Wert
BusinessObject:
customProperties:
dataCategory:
label:
de: Datenkategorie
defaultValue: master
literals:
transactional:
label:
de: Transaktionsdaten
master:
label:
de: Stammdaten
Tooltipp

Der Wert des Schlüssels defaultValue muss ein gültiger Wert sein. Falls der Schlüssel literals gesetzt ist, muss der Wert von defaultValue der gültige technische Name eines Wertes aus der Liste sein. Falls der Schlüssel baseType gesetzt ist, kann der Wert von defaultValue eine Zeichenkette sein.

readOnly

Der Schlüssel readOnly [true, false; default: false] definiert den Schreibschutz einer kundenspezifischen Property. Das entsprechende Eingabefeld wird in der Benutzeroberfläche zwar angezeigt aber es kann nur von einem Benutzer mit der Zugriffsstufe Administrator bearbeitet werden.

# Neue schreibgeschützte Property 'priority'
BusinessAttribute:
customProperties:
priority:
label:
de: Priorität
readOnly: true
Tooltipp

Der Schlüssel readOnly darf nur für neue, kundenspezifische Properties jedoch nicht für bestehende Properties definiert werden.

hidden

Deprecated

Achtung

Der Schlüssel hidden ist veraltet und sollte nicht mehr verwendet werden. Bestehende Verwendungen sollten durch den neuen Schlüssel hidden innerhalb von layout ersetzt werden.

Der Schlüssel hidden [true, false; default: false] definiert die Sichtbarkeit einer kundenspezifischen Property. Das entsprechende Eingabefeld wird in der Benutzeroberfläche nicht angezeigt. Die kundenspezifische Property wird allerdings in den Schnittstellen (Metadata REST/API, Metadata Upload/Download) berücksichtigt.

# Versteckte neue Property 'priority'
BusinessAttribute:
customProperties:
priority:
label:
de: Priorität
hidden: true
Tooltipp

Versteckte kundenspezifische Properties enthalten Daten (z.B. interne, technische oder vertrauliche Informationen), die zwar nicht in der Benutzeroberfläche angezeigt werden sollen, jedoch gespeichert und mittels Schnittstellen importiert und exportiert werden können.

Tooltipp

Der Schlüssel hidden darf nur für neue, kundenspezifische Properties jedoch nicht für bestehende Properties definiert werden.

mandatory

Der Schlüssel mandatory [true, false; default: false] definiert, ob eine kundenspezifische Property verpflichtend ist. Das entsprechende Eingabefeld wird in der Benutzeroberfläche als Pflichtfeld angezeigt, d.h. das Element darf nicht gespeichert werden, solange es leere Pflichtfelder gibt.

Tooltipp

Verpflichtende Eingabefelder werden immer im einfachen Editor angezeigt.

# Verpflichtende Property
BusinessAttribute:
customProperties:
priority:
label:
de: Priorität
mandatory: true
Hinweis

Der Schlüssel mandatory darf nur für neue, kundenspezifische Properties jedoch nicht für bestehende Properties definiert werden. Falls der Schlüssel baseType den Wert BOOLEAN hat, darf der Schlüssel mandatory nicht den Wert true haben.

group

Der Schlüssel group definiert die Gruppe einer Property. In der Benutzeroberfläche werden die entsprechenden Eingabefelder anhand dieser Gruppen angeordnet.

Die möglichen Gruppen werden zunächst mit dem Schlüssel groups beim Elementtyp definiert. Anschließend können Properties definiert werden, die mit dem Schlüssel group auf die zuvor definierten Gruppen verweisen.

# Neue Gruppen 'info' und 'additionalData' mit Properties 'priority', 'caption' und 'confidentiality'
BusinessAttribute:
groups:
info:
label:
de: Information
icon: circle-exclamation
order: 10
additionalData:
label:
de: Zusätzliche Daten
icon: unicorn
order: 20
customProperties:
priority:
label:
de: Priorität
group: info
caption:
label:
de: Beschriftung
group: info
confidentiality:
label:
de: Vertraulichkeit
group: additionalData
Tooltipp

Bei der Definition der Gruppen können die Schlüssel label, icon und order verwendet werden, um die Gruppen entsprechend zu beschriften bzw. anzuordnen.

Die definierten Gruppen werden in der Benutzeroberfläche unter Berücksichtigung der Beschriftungen, Symbole und Reihenfolge dargestellt.

group

Tooltipp

Bestimmte Elemente (z.B. Attribute oder Kennzahlen) haben einen Reiter "Berechnung" im Objektfenster des Elements. Die vordefinierte Gruppe computation kann verwendet werden, um kundenspezifische Properties in diesem Reiter anzuzeigen:

# Property 'confidentiality' im Reiter "Berechnung" anzeigen
BusinessAttribute:
customProperties:
confidentiality:
label:
de: Vertraulich
baseType: BOOLEAN
group: computation

stereotype

Der Schlüssel stereotype definiert die Stereotypen eines Elementtyps. Stereotypen ermöglichen es, Elementtypen nochmals gezielt zu klassifizieren.

In der Benutzeroberfläche werden beim Anlegen oder Bearbeiten eines Elements die definierten Stereotypen automatisch als Dropdown-Liste angezeigt. Der Schlüssel label definiert die Beschriftung der Dropdown-Liste. Der Schlüssel literals definiert alle Stereotypen, d.h. alle Einträge der Dropdown-Liste. Wenn ein Stereotyp aus der Liste ausgewählt wird, dann kommt dieser Stereotyp zur Anwendung.

Für jeden Stereotyp können mit den Schlüsseln label, title und icon getrennte Bezeichnungen, Beschreibungen und Symbole definiert werden. Darüber hinaus können für jeden Stereotyp mit den Schlüsseln properties bzw. customProperties bestehende Properties angepasst bzw. neue, kundenspezifische Properties definiert werden. Die Bezeichnung bzw. das Symbol des Stereotypen sowie die angepassten bzw. neuen Properties werden auf Elemente des Elementtyps nur angewendet, falls der jeweilige Stereotyp ausgewählt ist.

Somit gibt es zwei Möglichkeiten, um Elementtypen zu konfigurieren:

  • Wenn die Anpassungen (label, title, icon, properties, customProperties, usw.) direkt am Elementtyp definiert sind, dann werden sie auf alle Elemente des Elementtyps angewendet.
  • Wenn die Anpassungen (label, title, icon, properties, customProperties, usw.) pro Stereotyp getrennt definiert sind, dann werden sie auf alle Elemente des Elementtyps angewendet, bei denen der jeweilige Stereotyp ausgewählt ist.
# Stereotypen 'schema' und 'program' für Sammlungen
Collection:
properties:
stereotype:
label:
de: Sammlungstyp
literals:
schema:
label:
de: Datenbank Schema | Datenbank Schemata
icon: folder-tree
program:
label:
de: Programm | Programme
icon: solid-screen-users
customProperties:
sponsor:
label:
de: Auftraggeber
baseType: STRING
Erklärung

Im Beispiel werden zwei Stereotypen definiert. In der Benutzeroberfläche erscheint beim Anlegen bzw. Bearbeiten einer Sammlung die Dropdown-Liste Sammlungstyp mit den Einträgen Datenbank Schema und Programm. Falls der Stereotyp schema ausgewählt wird, dann wird die Sammlung als Datenbank Schema mit dem Symbol folder-tree dargestellt. Falls der Stereotyp program ausgewählt wird, dann wird die Sammlung als Programm mit dem Symbol solid-screen-users dargestellt und zusätzlich um die neue, kundenspezifische Property Auftraggeber erweitert.

Stereotypen können verwendet werden, um individuelle Mandantentypen und Symbole zu konfigurieren:

# Stereotypen 'base' und 'sub' für den Mandanten
Tenant:
properties:
stereotype:
label:
de: Mandantentyp
en: Tenant type
literals:
base:
label:
de: Basismandant
en: Base tenant
icon: solid-circle-b
sub:
label:
de: Submandant
en: Sub tenant
icon: circle-s
Erklärung

Im Beispiel werden zwei Stereotypen definiert. In der Benutzeroberfläche erscheint beim Bearbeiten des Mandanten die Dropdown-Liste Mandantentyp mit den Einträgen Basismandant und Submandant. Falls der Stereotyp base ausgewählt wird, dann wird der Mandant als Basismandant mit dem Symbol solid-circle-b dargestellt. Falls der Stereotyp sub ausgewählt wird, dann wird der Mandant als Submandant mit dem Symbol circle-s dargestellt.

Achtung

Falls ein Stereotyp geändert oder gelöscht wird, kann das zu verloreren Metadaten in nicht mehr vorhandenen kundenspezifischen Properties führen. Vor der Änderung von stereotype sollte daher sichergestellt werden, dass die Werte aller nicht mehr vorhandenen Properties gelöscht sind. Die Regelverletzungen überprüfen automatisch, ob ein gelöschter Stereotyp noch irgendwo in Verwendung ist.

plural

Deprecated

Achtung

Die Schlüssel plural und pluralEn sind veraltet und sollten nicht mehr verwendet werden. Bestehende Verwendungen sollten durch den Schlüssel label ersetzt werden, wo der Plural durch | getrennt angegeben wird.

Der Schlüssel plural definiert die Bezeichnung eines Elementtyps im Plural. Die Bezeichnung im Plural wird analog zur Bezeichnung (label) angezeigt, wenn die Mehrzahlform erforderlich ist.

Zusätzlich zur Standardsprache (Deutsch) ist es möglich, die Bezeichnung im Plural in anderen Sprachen anzugeben:

  • plural definiert die Bezeichnung im Plural auf Deutsch (Standardsprache)
  • pluralEn definiert die Bezeichnung im Plural auf Englisch
# Plural
BusinessAttribute:
label: Eigenschaft
labelEn: Property
plural: Eigenschaften
pluralEn: Properties

favorite

Der Schlüssel favorite [true, false; default: false] definiert, ob eine Property als Favorit markiert wird. Das entsprechende Eingabefeld wird in der Benutzeroberfläche im einfachen Editor oder nur im erweiterten Editor angezeigt.

favoriteBeschreibung
false (default)Das Eingabefeld wird nur im erweiterten Editor angezeigt.
trueDas Eingabefeld wird sowohl im einfachen Editor als auch im erweiterten Editor angezeigt.
# Property im einfachen Editor anzeigen
BusinessAttribute:
customProperties:
confidentiality:
label:
de: Vertraulich
favorite: true
Hinweis

Im einfachen Editor werden auch Properties angezeigt, die als verpflichtend definiert sind.

layout

Der Schlüssel layout definiert eine Gruppe von Schlüsseln, die das Layout (Breite, Ausrichtung, Anordnung, usw.) des entsprechenden Eingabefelds in der Benutzeroberfläche beeinflussen.

Innerhalb von layout können folgende Schlüssel angegeben werden:

BusinessAttribute:
customProperties:
priority:
label:
de: Priorität
layout:
width: 12
position: 11
align: start
newline: false
hidden: false

width

Der Schlüssel width [1 - 12; default: 6] definiert die Breite einer Property. Die Breite wird in der Benutzeroberfläche bei der Anordnung der entsprechenden Eingabefelder berücksichtigt.

Hinweis

Der Schlüssel width wird innerhalb des Schlüssels layout definiert.

Die verfügbare Breite des Editors oder der Anzeige wird in Zwölftel unterteilt. Der Schlüssel width gibt an, wie viele Zwölftel der verfügbaren Breite vom Eingabefeld eingenommen werden.

# Neue Properties 'priority' und 'confidentiality'
BusinessAttribute:
customProperties:
priority:
label:
de: Priorität
layout:
width: 6 # Das Eingabefeld nimmt 6/12 der verfügbaren Breite ein, d.h. die halbe Breite
confidentiality:
label:
de: Vertraulichkeit
layout:
width: 12 # Das Eingabefeld nimmt 12/12 der verfügbaren Breite ein, d.h. die gesamte Breite
Hinweis

Der Schlüssel width innerhalb von layout ersetzt den veralteten Schlüssel width. Bestehende Verwendungen des alten Schlüssels width mit den Werten [1, 2] werden weiterhin ausgewertet und zur Laufzeit automatisch auf den neuen Schlüssel width mit den Werten [1 - 12] umgerechnet.

hidden

Der Schlüssel hidden [true, false; default: false] definiert die Sichtbarkeit einer Property. Das entsprechende Eingabefeld wird in der Benutzeroberfläche nicht angezeigt. Die Property wird weiterhin in den Schnittstellen (Metadata REST/API, Metadata Upload/Download) berücksichtigt.

Hinweis

Der Schlüssel hidden wird innerhalb des Schlüssels layout definiert.

Der Schlüssel hidden kann angewendet werden, um nicht genutzte Standardfelder oder kundenspezifische Felder auszublenden.

BusinessAttribute:
# Versteckte bestehende Property `dataProtectionCategory`
properties:
dataProtectionCategory:
layout:
hidden: true

# Versteckte neue Property 'priority'
customProperties:
priority:
label:
de: Priorität
layout:
hidden: true
Tooltipp

Versteckte Properties enthalten Daten (z.B. interne, technische oder vertrauliche Informationen), die zwar nicht in der Benutzeroberfläche angezeigt werden sollen, jedoch gespeichert und mittels Schnittstellen importiert und exportiert werden können.

Hinweis

Der Schlüssel hidden innerhalb von layout ersetzt den veralteten Schlüssel hidden. Bestehende Verwendungen des alten Schlüssels hidden werden weiterhin ausgewertet und zur Laufzeit automatisch auf den neuen Schlüssel hidden konvertiert.

position

Der Schlüssel position definiert die Position einer Property. Das entsprechende Eingabefeld wird in der Benutzeroberfläche an der angegebenen Stelle platziert. Der Schlüssel position ermöglicht es, bestehende Properties und kundenspezifische Properties in der Anzeige bzw. im Editor zu vermischen.

Hinweis

Der Schlüssel position wird innerhalb des Schlüssels layout definiert.

Jede bestehende Property hat eine vorgegebene Default-Position, die jedoch überschrieben werden kann. Die vergebene Position muss nicht eindeutig sein. Wird eine Position doppelt vergeben, werden die betroffenen Eingabefelder alphabetisch sortiert.

BusinessAttribute:
# Neue Property 'priority'
customProperties:
priority:
label:
de: Priorität
layout:
position: 10
# Verschieben der bestehenden Property `dataProtectionCategory`
properties:
dataProtectionCategory:
layout:
position: 11
Hinweis

Für die Anordnung von Eingabefeldern in der Benutzeroberfläche ersetzt der Schlüssel position den bisherigen Schlüssel order.

align

Der Schlüssel align [start, end] definiert die Ausrichtung einer Property. Das entsprechende Eingabefeld wird in der aktuellen Zeile in der Benutzeroberfläche links- oder rechtsbündig angezeigt.

Hinweis

Der Schlüssel align wird innerhalb des Schlüssels layout definiert.

alignBeschreibung
start (default)Das Eingabefeld wird in der aktuellen Zeile linksbündig angezeigt.
endDas Eingabefeld wird in der aktuellen Zeile rechtsbündig angezeigt.
# Property rechtsbündig anzeigen
BusinessObject:
properties:
subtypeOf:
layout:
align: end

Der Schlüssel align beeinflusst die Ausrichtung des Eingabefelds in der aktuellen Zeile, ohne es in eine neue Zeile zu verschieben. Um ein Eingabefeld alleinstehend in einer Zeile und rechtsbündig anzuzeigen, wird align gemeinsam mit newline verwendet.

# Property alleinstehend in einer Zeile und rechtsbündig anzeigen
BusinessObject:
properties:
subtypeOf:
layout:
align: end
newline: true

newline

Der Schlüssel newline [true, false; default: false] definiert, ob eine Property einen Zeilenumbruch erzwingt. Das entsprechende Eingabefeld wird in der Benutzeroberfläche in einer neuen Zeile angezeigt, unabhängig davon, ob in der vorigen Zeile noch genügend Platz für das Eingabefeld gewesen wäre.

Hinweis

Der Schlüssel newline wird innerhalb des Schlüssels layout definiert.

# Property in einer neuen Zeile
BusinessAttribute:
customProperties:
priority:
label:
de: Priorität
layout:
newline: true

Der Schlüssel newline kann auch sicherstellen, dass mehrere zusammengehörige Eingabefelder in einer gemeinsamen Zeile angezeigt werden, unabhängig davon, welche Eingabefelder davor angezeigt wurden.

# Zusammengehörige Properties in einer gemeinsamen Zeile anzeigen
BusinessAttribute:
customProperties:
confidentiality:
label:
de: Vertraulichkeit
layout:
newline: true # Zeilenumbruch erzwingen
width: 6 # halbe Breite
priority:
label:
de: Priorität
layout:
width: 6 # halbe Breite
Tooltipp

Um ein Eingabefeld alleinstehend in einer Zeile und rechtsbündig anzuzeigen, wird newline gemeinsam mit align verwendet.