Datenmodell
Feldkonfiguration
Die Konfiguration eines Feldes ist ein JSON-Objekt. Welche Schlüssel es gibt, bestimmt die Feldart. Die Listen stehen auf den einzelnen Seiten unter Feldarten .
Bearbeitet wird sie in den Felddetails im Abschnitt Parameter. Alle Parameter als JSON zeigt das ganze Objekt im Editor.

Zwei Ebenen: Vorgabe und eigene Konfiguration
| Ebene | Wo gepflegt | Wirkung |
|---|---|---|
| Vorgabe der Feldart | Datenmodell › Feldarten, je Feldart | Gilt für jedes Feld dieser Art ohne eigene Konfiguration |
| Eigene Konfiguration | Felddetails, Parameter | Gilt nur für dieses Feld, an Stelle der Vorgabe |
Hat ein Feld eine eigene Konfiguration, tritt sie an die Stelle der Vorgabe. Einzelne Feldarten ergänzen fehlende Teile aus der Vorgabe (beim Zahlenfeld etwa die Eingabemaske), darauf verlassen sollte man sich nicht. Wer bei einem Zahlenfeld nur Einheiten ergänzen will, holt deshalb mit übernehmen zuerst die Schlüssel der Vorgabe in die eigene Konfiguration und ändert dann:
JSON{ "units": [{ "unit": "cm", "factor": 1 }, { "unit": "m", "factor": 0.01 }], "defaultUnit": { "unit": "cm", "factor": 1 }, "imask": { "mask": "Number", "scale": 2, "thousandsSeparator": " ", "radix": "," } }
Eine Änderung unter Feldarten wirkt auf alle Felder dieser Art, die keine eigene Konfiguration haben.
Fehlerverhalten
| Fall | Verhalten |
|---|---|
| Kein gültiges JSON | Der Editor meldet einen Fehler. Die Konfiguration wirkt nicht |
| Unbekannter Schlüssel | Wird still übergangen |
| Falsch geschriebener Schlüssel | Wird still übergangen. Sieht aus wie „wirkt nicht“ |
| Falscher Werttyp | Meist übergangen. Bei Eingabemasken greift wieder die Vorgabe |
Nichts davon macht das Feld unbenutzbar. Eine fehlerhafte Konfiguration soll keine Werte unerreichbar machen. Dafür fallen Tippfehler nicht auf.
creatableist die richtige Schreibweise, in allen Auswahlfeldern. Die ältere Schreibweisecreateableliest die Auswahlliste noch mit, neu schreiben sollte man sie nichtdefaultUnitgegendefaultunitvaluesgegenvalue
Wenn eine Einstellung nicht wirkt, ist der Schlüsselname die erste Prüfung.
Abweichung je Projekt (Konfigurations-Hook)
Ein Feld kann in einem Projekt anders eingestellt sein. Dafür trägt die Konfiguration einen Block hooks, geschlüsselt nach der Projektkennung:
JSON{ "values": ["a", "b", "c"], "creatable": true, "hooks": { "134": { "values": ["a", "x"] } } }
Wird das Feld in Projekt 134 angezeigt oder bearbeitet, legt Moliri die Schlüssel des Hooks über die
Grundkonfiguration und lässt den Block hooks weg. In allen anderen Projekten gilt die
Grundkonfiguration. Die Felddetails zeigen solche Blöcke unter Abweichungen je Projekt.
Drei Eigenschaften dieser Überlagerung:
- Sie ist flach. Nur Schlüssel der obersten Ebene werden ersetzt. Ein
valuesim Hook ersetzt dasvaluesder Grundkonfiguration, es wird nicht angehängt. Das passt zu „in diesem Projekt bietet das Feld genau diese Werte“. - Sie kennt keine Feldart. Der Hook ersetzt, was darin steht.
- Sie wirkt nur beim Anzeigen und Bearbeiten von Werten. Beim Bearbeiten der Konfiguration bleibt der
Block
hookssichtbar und unverändert.
Der Konfigurations-Hook hier ändert die Einstellung eines Feldes je Projekt. Der Wert-Hook ändert den Wert eines Feldes je Projekt, siehe Projektspezifischen Wert setzen . Außer dem Namen haben beide nichts gemeinsam.
Was in einen Konfigurations-Hook gehört
| Fall | Sinnvoll? |
|---|---|
| Ein Projekt braucht eine kürzere Auswahlliste | Ja |
| Ein Projekt erlaubt keine eigenen Werte | Ja |
| Ein Projekt braucht eine andere Basiseinheit | Nein. Die Werte wären zwischen Projekten nicht mehr vergleichbar |
| Ein Projekt braucht das Feld nicht | Nein. Dafür ist das Layout da |
| Ein Projekt braucht ein zusätzliches Feld | Nein. Feld anlegen und nur auf dieses Layout legen |
Wo die Konfiguration wirkt
| Ort | Wirkung |
|---|---|
| Eingabe im Layout | Ja, samt Abweichung je Projekt |
| Galerie, Tabelle, Kanban | Ja, über die gewählte Formatierung |
| Excel-Export | Ja, über die gewählte Formatierung und Einheiten |
| Word-Vorlagen | Über die Formatierungen, siehe Ausgabe-Formatter in Vorlagen |
| Excel-Import | Auswahl- und Schalterwerte werden gegen die Konfiguration geklärt. Was nicht eindeutig passt, wird geparkt und ist zu klären |