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.

Felddetails des Textfelds „Objekttitel“: links die Abschnitte Grunddaten, Parameter, Ausgabe, Bedingungen, Rechte und Verwendung, in der Mitte die Grunddaten mit Feldbezeichnung, Feldgruppe, Hinweis, Beispielinhalt und Feldart, rechts die Beschreibung der Feldart.

Abschnitte der Felddetails

AbschnittInhalt
GrunddatenFeldbezeichnung, Feldgruppe, Hinweis, Beispielinhalt, Feldart
ParameterDie Konfiguration des Feldes, daneben die Vorgabe der Feldart. Siehe Feldkonfiguration
AusgabeEigene Formatierungen (Ausgabe-Formatter) für Ansichten und Export
BedingungenPrüfungen beim Erfassen. Siehe unten
BereinigungSchritte, die jeder Wert vor dem Speichern durchläuft. Siehe Bereinigung
ErbenNur bei Text-, Zahl-, Datums- und Normdatenfeldern: Werte oder Verknüpfungen aus einem Normdatensatz übernehmen. Siehe unten
Eigener CodeNur bei Feldarten mit eigener Darstellung: Svelte-Komponente oder HTML-Vorlage
RechteLese- und Schreibrechte für Alle und je Gruppe
VerwendungIn welchen Projekten, auf welchen Layouts und an wie vielen Objekten das Feld vorkommt

Grunddaten

EigenschaftBedeutung
FeldbezeichnungDer Name. In der Instanz eindeutig. Filter, Vorlagen, Exporte und Zuordnungen zeigen darauf
FeldgruppeOrdnet die Feldauswahlen. Ohne Wirkung auf Rechte oder Speicherung
HinweisText, der beim Erfassen am Feld erscheint. Hier gehören Erfassungsregeln hin
BeispielinhaltWert, den der Layout-Editor und die Standards-Verwaltung statt echter Daten zeigen
FeldartDie 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).

Namensregeln, die sich bewährt haben

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.

BedingungPrüft
darf nicht leer seinPflichtangabe
im Projekt einmaligKein zweites Objekt im Projekt mit demselben Wert
in der Datenbank einmaligKein zweites Objekt in der Instanz mit demselben Wert
nicht in der ZukunftNur bei Datums- und Zeitstempelfeldern: kein Datum nach heute. Eine Teilangabe wie 2027 zählt erst, wenn das ganze Jahr in der Zukunft liegt
Eigene RegelEin JS-Ausdruck, der wahr oder falsch liefert. Dazu eine Meldung bei Verstoß

Neben den Bedingungen stehen zwei Schalter, die selbst nichts melden:

SchalterWirkung
streng vergleichenNur mit einer der beiden Eindeutigkeiten. Ohne Häkchen vergleicht Moliri Text großzügig, mit Häkchen zählt jedes Zeichen. Siehe unten
DublettenverdachtNimmt 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
Abschnitt Bedingungen des Textfelds „Inventarnummer“: Häkchen bei „darf nicht leer sein“, „in der Datenbank einmalig“ und „Dublettenverdacht“, ohne Häkchen „im Projekt einmalig“ und „streng vergleichen“. Darunter der Editor für die eigene Regel mit der Meldung bei Verstoß und rechts die Probe.

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.

Abschnitt Erben des Textfelds „Titel“: als Quelle das Normdatenfeld Identität mit der Angabe Rohdaten, darunter der Pfad in der normalisierten Form title.
EinstellungBedeutung
QuelleEin 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 FormNur 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 anwendenGleicht 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:

AuftragErgebnis
Feldwerte erbenn Werte geerbt, n geleert (die Quelle hat keinen Wert mehr), n Fehler
Verknüpfungen erbenAngelegte, 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:

ZeileStufe
AlleKein Zugriff
Gruppe LeihverkehrBearbeiten
Gruppe VermittlungNur 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