Datenmodell
Felder
Ein Feld ist eine Definition, die in der ganzen Instanz gilt. Es besteht unabhängig von Projekten und Layouts. Werte hängen am Feld, nicht am Layout.
Verwaltet unter Datenmodell › Felder (Status 9). Die Liste ist nach Feldgruppen gegliedert. Ein Klick auf ein Feld öffnet seine Details in einem Dialog: links die Abschnitte, in der Mitte der gewählte Abschnitt, rechts die Beschreibung der Feldart.

Abschnitte der Felddetails
| Abschnitt | Inhalt |
|---|---|
| Grunddaten | Feldbezeichnung, Feldgruppe, Hinweis, Beispielinhalt, Feldart |
| Parameter | Die Konfiguration des Feldes, daneben die Vorgabe der Feldart. Siehe Feldkonfiguration |
| Ausgabe | Eigene Formatierungen (Ausgabe-Formatter) für Ansichten und Export |
| Bedingungen | Prüfungen beim Erfassen. Siehe unten |
| Bereinigung | Schritte, die jeder Wert vor dem Speichern durchläuft. Siehe Bereinigung |
| Erben | Nur bei Text-, Zahl-, Datums- und Normdatenfeldern: Werte oder Verknüpfungen aus einem Normdatensatz übernehmen. Siehe unten |
| Eigener Code | Nur bei Feldarten mit eigener Darstellung: Svelte-Komponente oder HTML-Vorlage |
| Rechte | Lese- und Schreibrechte für Alle und je Gruppe |
| Verwendung | In welchen Projekten, auf welchen Layouts und an wie vielen Objekten das Feld vorkommt |
Grunddaten
| Eigenschaft | Bedeutung |
|---|---|
| Feldbezeichnung | Der Name. In der Instanz eindeutig. Filter, Vorlagen, Exporte und Zuordnungen zeigen darauf |
| Feldgruppe | Ordnet die Feldauswahlen. Ohne Wirkung auf Rechte oder Speicherung |
| Hinweis | Text, der beim Erfassen am Feld erscheint. Hier gehören Erfassungsregeln hin |
| Beispielinhalt | Wert, den der Layout-Editor und die Standards-Verwaltung statt echter Daten zeigen |
| Feldart | Die Art der Eingabe und Speicherung. Siehe Feldarten |
Die Feldbezeichnung ist ein Bezeichner
Sie lässt sich ändern, aber viele Stellen zeigen über genau diese Zeichenkette auf das Feld:
- Word-Vorlagen:
$o[`Objekthöhe`]. Sie zieht Moliri beim Umbenennen nach, siehe unten - Gespeicherte Ansichten und Filter
- Voreinstellungen des Excel-Exports
- Virtuelle Felder und Formatierungen
Ein Umbenennen bricht, was nur über den Namen zeigt. Stattdessen die Beschriftung auf dem Layout ändern. Sie ist je Layout frei wählbar und bricht nichts.
Die gespeicherten Word-Vorlagen schreibt Moliri nach einer Umbenennung im Hintergrund auf den neuen Namen um, jede geänderte Datei wird vorher gesichert. Was sich nicht umschreiben ließ, meldet eine Warnung; der Bericht des Laufs nennt die Stellen. Läufe und Berichte stehen auch in der Ansicht Upload-Worker und Warteschlange der Dateibibliothek. Dort lassen sich unter Word-Vorlagen auf neue Namen außerdem alle gespeicherten Vorlagen auf die heutigen Namen prüfen (Trockenlauf, nur Bericht) oder umschreiben (Umschreiben).
Weil der Name stabil bleiben soll, lohnt Sorgfalt beim Anlegen. Keine Einheiten im Namen (die stehen in
den Parametern), keine Projektnamen, keine Jahreszahlen, keine führenden Leerzeichen, keine
typografischen Anführungszeichen. Ein Präfix je Bereich (Objektmaße_Breite, Leihgeber_Anschrift)
sortiert die Liste von selbst.
Feldart umstellen
Nur zu Feldarten, die ihre Werte in derselben Form speichern. Die Auswahl bietet nur diese an. Gibt es keine, steht dort Kein Wechsel möglich.
Ein Wechsel ändert die gespeicherten Werte nicht, nur Eingabe und Parameter. Aus einem Textfeld eine Auswahlliste zu machen, ist deshalb unbedenklich: Die Werte bleiben.
Bedingungen
Bedingungen prüfen einen Wert beim Erfassen. Sie warnen, sie sperren nicht: Gespeichert wird in jedem Fall, der Verstoß wird am Feld markiert.
| Bedingung | Prüft |
|---|---|
| darf nicht leer sein | Pflichtangabe |
| im Projekt einmalig | Kein zweites Objekt im Projekt mit demselben Wert |
| in der Datenbank einmalig | Kein zweites Objekt in der Instanz mit demselben Wert |
| nicht in der Zukunft | Nur bei Datums- und Zeitstempelfeldern: kein Datum nach heute. Eine Teilangabe wie 2027 zählt erst, wenn das ganze Jahr in der Zukunft liegt |
| Eigene Regel | Ein JS-Ausdruck, der wahr oder falsch liefert. Dazu eine Meldung bei Verstoß |
Neben den Bedingungen stehen zwei Schalter, die selbst nichts melden:
| Schalter | Wirkung |
|---|---|
| streng vergleichen | Nur mit einer der beiden Eindeutigkeiten. Ohne Häkchen vergleicht Moliri Text großzügig, mit Häkchen zählt jedes Zeichen. Siehe unten |
| Dublettenverdacht | Nimmt das Feld in die Prüfung Dublettenverdacht unter Prüfen auf. Bei Feldern mit einer Eindeutigkeit von selbst an, lässt sich aber ausschalten. Dort zählen auch Satzzeichen, Leerraum und führende Nullen nicht |

Wann zwei Werte gleich sind
Ohne streng vergleichen gelten zwei Textwerte als gleich, wenn sie sich nur unterscheiden in
- Groß- und Kleinschreibung: A-1 und a-1,
- Akzenten und ß: Müller und Muller, Strasse und Straße,
- Umlauten und ihrer Umschreibung: Müller und Mueller,
- Leerraum am Anfang und Ende.
Für Inventarnummern ist das meist gewollt: Gm 1234 und GM 1234 sind fast immer ein Tippfehler, keine zwei Objekte. Wo die Schreibung einen Unterschied macht, streng vergleichen setzen.
Die Leiste über der Maske
Über der Eingabemaske steht n Felder erfüllen ihre Bedingung nicht. Sie zählt alle Felder des Objekts mit einer verletzten Bedingung, nicht nur die des offenen Layouts. Ein Feld auf einem anderen Reiter trägt dessen Namen (Leihgeber auf „Erfassung“); ein Klick wechselt dorthin und lässt das Feld kurz aufleuchten. Liegt das Feld auf keinem Layout, das die Person öffnen darf, steht dort nicht in dieser Ansicht. Eine eigene Regel sieht die Werte aller Felder des Objekts, auch der Felder anderer Layouts.
Die Bedingungen stehen in der Konfiguration unter conditions. Eine eigene Meldung lässt sich je
Bedingung als Objekt angeben:
JSON{ "conditions": { "required": true, "unique": { "message": "Inventarnummer doppelt" }, "strict": true } }
Welche Objekte des aktuellen Filters Bedingungen verletzen, zeigt Prüfen › Feld-Bedingungen. Ein Datum in der Zukunft steht dort nicht, sondern unter Prüfen › Datenpflege › Unplausible Werte. Ein Feld ohne nicht in der Zukunft gilt dort nie als unplausibel, weil es oft ein geplantes Datum trägt, etwa das Leihende.
Bereinigung
Der Abschnitt Bereinigung zeigt die Kette der Schritte, die ein Wert dieses Feldes vor dem Speichern durchläuft, mit der Herkunft jedes Schritts (System, Feldart, Feld, Projekt). Geerbte Schritte lassen sich für dieses Feld oder je Projekt ausschalten, eigene kommen dazu. Eine Probe zeigt vorher und nachher, darunter steht Bestand bereinigen für die schon gespeicherten Werte. Alles dazu unter Bereinigung .
Erben
Ein Feld kann seinen Wert aus dem Normdatensatz übernehmen, der in einem Normdatenfeld desselben Objekts steht. Das typische Beispiel ist die Literatur: Steht der Nachweis im Normdatenfeld, füllen sich Titel, Jahr, Verlag und ISBN von selbst. Der Abschnitt Erben erscheint nur bei Feldarten, die erben können.
Werte erben
Für Felder, die Text, Zahl, Datum oder Uhrzeit speichern.

| Einstellung | Bedeutung |
|---|---|
| Quelle | Ein Normdatenfeld mit einer seiner Angaben, etwa Identität~label oder Identität~description. Nur das Feld gewählt heißt ~label |
| Pfad in der normalisierten Form | Nur bei der Quelle ~raw: eine Angabe aus dem Nachweis, etwa title, issued, publisher, ISBN, DOI, page oder abstract. Das Feld schlägt die Pfade vor |
| Auf alle Objekte anwenden | Gleicht alle Objekte mit dem Feld erneut ab, etwa nachdem Datensätze von Hand geändert wurden |
Leere Werte übernehmen den Wert aus dem Normdatensatz und folgen ihm beim Abgleich. Eigene Werte bleiben unberührt. Ein Datum aus dem Nachweis kommt als Jahr, Jahr und Monat oder volles Datum an, Listen als Werte mit Semikolon; ein Zahlenfeld übernimmt nur Zahlen. Erben schreibt in den gemeinsamen Wert des Feldes. Werte, die nur in einem Projekt gelten, bleiben unberührt, und eine abweichende Einstellung je Projekt gibt es dafür nicht. Im Bearbeitungsverlauf tragen geerbte Werte die Marke Erbt von … mit dem Namen des Normdatenfeldes.
Zeigt die Quelle auf ein Feld, das es nicht mehr gibt oder das kein Normdatenfeld ist, warnt der Abschnitt: Das Quellfeld gibt es nicht oder es ist kein Normdatenfeld.
Verknüpfungen erben
Für Normdatenfelder. Mit Verknüpfungen erben legt Moliri die Personen aus dem Normdatensatz als Verknüpfungen am Objekt an. Unter Rollen stehen Autor, Herausgeber, Übersetzer und Mitwirkende, jeweils mit dem Namen der Verknüpfungsart, die die Instanz dafür hat; mindestens eine bleibt angehakt. Fehlt die Verknüpfungsart zu einer Rolle, warnt der Abschnitt, und die Rolle wird übersprungen.
Die Personen sucht Moliri in der GND, über die GND-Nummer im Nachweis oder über die Namenssuche bei lobid.org. Verknüpft wird nur bei genau einem Treffer. Eigene Verknüpfungen bleiben unberührt. Wie geerbte Verknüpfungen am Objekt aussehen und was die Meldung beim Speichern nennt, steht unter Normdatensatz .
Abgleich im Hintergrund
Wer die Quelle setzt, ändert oder Auf alle Objekte anwenden klickt, reiht einen Abgleich über alle Objekte ein: Abgleich eingereiht. Den Fortschritt zeigt die Worker-Ansicht. Die Worker-Ansicht ist der Dialog Upload-Worker unter Bibliotheken › Dateien. Dort stehen die Aufträge Feldwerte erben und Verknüpfungen erben mit ihrem Ergebnis:
| Auftrag | Ergebnis |
|---|---|
| Feldwerte erben | n Werte geerbt, n geleert (die Quelle hat keinen Wert mehr), n Fehler |
| Verknüpfungen erben | Angelegte, aktualisierte und entfernte Verknüpfungen, Namen ohne Treffer und ohne Antwort von lobid.org, Objekte, die nicht vollständig abgeglichen wurden, mit Link zum Objekt |
Danach folgen die Objekte dem Normdatensatz von selbst: wenn ein Normdatenfeld gespeichert wird, wenn der Abgleich einen Datensatz ändert und wenn zwei Datensätze zusammengeführt werden. Eine Änderung von Hand am Datensatz in der Bibliothek zieht die Objekte nicht nach; dafür ist Auf alle Objekte anwenden da.
Einrichten lässt sich das Erben mit Status 9.
Rechte
Unter Lese- und Schreibrechte stehen die Zeile Alle und je Gruppe eine Zeile. Das Recht einer Gruppe und das Recht für alle werden vereinigt, das höhere gilt. Projekt und Layout deckeln das Ergebnis.
Die übliche Einstellung für ein Feld, das nur einige sehen sollen:
| Zeile | Stufe |
|---|---|
| Alle | Kein Zugriff |
| Gruppe Leihverkehr | Bearbeiten |
| Gruppe Vermittlung | Nur lesen |
Prüfen lässt sich das nur mit einem Konto mit Status 3. Status 6 und 9 umgehen diese Tabelle.
Die Rechte gelten auch in der Volltextsuche. Ein Feld, das jemand nicht lesen darf, liefert ihm weder Treffer noch Textausschnitt, auch nicht über Kommentar und Quelle. Bei einem Dateifeld gilt das ebenso für Transkript und erkannten Text der Dateien darin.
Bei einem Dateifeld gelten die Rechte auch für die Dateien selbst. Liegt eine Datei nur in einem Dateifeld, das jemand nicht lesen darf, fehlt sie für ihn im Dateibereich des Objekts und lässt sich mit Transkript und erkanntem Text nicht abrufen. Dateien, die im Dateibereich verknüpft sind, hängen an keinem Feld. Sie sehen und durchsuchen alle, die das Projekt lesen dürfen, auch wenn dieselbe Datei zugleich in einem verborgenen Dateifeld liegt.
Löschen
Die Felderverwaltung bietet kein Löschen an. Ein Feld, das nicht mehr gebraucht wird, nimmt man von den Layouts (im Layout-Editor die Kachel löschen, das entfernt nur die Kachel) und setzt die Rechte für Alle auf Kein Zugriff, ohne Gruppe. Für Konten mit Status 3 verschwindet das Feld dann, seine Werte bleiben, und die Entscheidung ist umkehrbar. Wo das Feld noch vorkommt, zeigt der Abschnitt Verwendung.
Systemfelder
Einige Felder haben eine feste Bedeutung. Ihr Name ist fest. Siehe Systemfelder .
Weiterlesen
- Feldkonfiguration : Parameter und Vorgabe
- Layouts : wie Felder auf eine Maske kommen
- Bereinigung : Werte vor dem Speichern vereinheitlichen
- Feld anlegen : der Vorgang