Datenmodell
Ereignisregeln
Eine Ereignisregel füllt Felder, wenn mit einem Objekt etwas geschieht: eine laufende Nummer beim Anlegen, das Datum der Erfassung, den Namen dessen, der das Objekt angelegt hat, oder einen Wert, der sich aus anderen Feldern ergibt. Die Regeln stehen unter Datenmodell › Ereignisregeln (Status 9), die Nummernkreise, aus denen sie zählen, unter Datenmodell › Nummernkreise. Die Seite hat drei Reiter: Ereignisse, Felder und Nummernkreise.

Auslöser
| Auslöser | Wann die Regel läuft |
|---|---|
| Objekt angelegt | Beim Anlegen und Kopieren eines Objekts, auch im Excel-Import; einmal je Projekt, in das das Objekt kommt |
| Import | Am Ende eines Excel-Imports, für alle Objekte des Laufs |
| Objekt verknüpft | Wenn ein Objekt in ein weiteres Projekt aufgenommen wird, je Mitgliedschaft |
| Feld gespeichert | Wenn das überwachte Feld gespeichert wird, von Hand, durch eine andere Regel oder durch das Erben |
Unter Feld gespeichert stehen die überwachten Felder als eigene Auswahl. Für den Excel-Import lässt sich je Regel wählen: auslösen sammelt die Auslösungen je Objekt und Feld und führt sie einmal am Ende des Laufs auf dem Endwert aus; stumm lässt die Regel im Import aus.
Reihenfolge, Kette und Tabelle
Links stehen die Regeln des gewählten Auslösers in der Reihenfolge, in der sie laufen. Die Reihenfolge ändern Sie durch Ziehen. Jede Karte zeigt das Zielfeld, die Vorlage und einen Beispielwert; der Schalter an der Karte schaltet die Regel ab, ohne sie zu löschen. Der Schalter Tabelle zeigt dieselben Regeln als Tabelle. Die Trennlinie zwischen Liste und Detail lässt sich verschieben.
Bei Feld gespeichert kann eine Regel die nächste auslösen. Wählen Sie ein überwachtes Feld, zeigt die Folgekette, welche Regeln nacheinander laufen. Eine Tiefengrenze gibt es nicht: Die Kette endet, wenn ein Feld ein zweites Mal geschrieben werden soll. Diese Stelle ist rot markiert. Die Prüfung trifft auch zwei Regeln, die dasselbe Feld rechtmäßig schreiben; die Meldung beim Speichern eines Objekts nennt dann das Feld und beide Regeln.
Eine Regel anlegen
Regel fragt zuerst nach dem Zweck und füllt das Formular passend vor:
| Zweck | Vorbelegung |
|---|---|
| Laufende Nummer | Auslöser Objekt angelegt, Vorlage {nr:nummer}, ein Nummernkreis mit dem Schlüssel nummer |
| Zeitstempel | Vorlage {jahr}-{monat}-{tag} |
| Erfasser | Vorlage {benutzer} |
| Feld aus anderen Feldern | Auslöser Feld gespeichert, eine JavaScript-Funktion mit Ziel- und Quellfeld |
| Leere Regel | nichts |
Eigenschaften
| Eigenschaft | Bedeutung |
|---|---|
| Name, Beschreibung | Wie die Regel in der Liste und im Verlauf heißt |
| Ereignis, Überwachtes Feld | Der Auslöser; bei Feld gespeichert das Feld, auf das die Regel wartet |
| Geltung | Global, Alle Sammlungen, Alle Bibliotheken oder ein Projekt. Eine Projektregel läuft nur dort, eine Regel für alle Sammlungen nur in Sammlungsprojekten |
| Kontext | Automatisch schreibt dorthin, wo das Feld im Projekt seinen Wert hat; Basis schreibt den gemeinsamen Wert aller Projekte; Projekt (fork) einen eigenen Wert für das Projekt |
| Wann | nur wenn leer schreibt nur in ein leeres Feld (ein geerbter Wert zählt als gefüllt); immer überschreibt |
| Felder | Schlüssel und Feld. Das erste Feld ist das Ziel der Vorlage, die übrigen lassen sich in der Vorlage lesen. Normdatenfelder sind ausgeschlossen |
| Nummernkreise | Die Kreise, aus denen die Regel zieht, mit ihrem Schlüssel. Aufgeklappt zeigt jeder Kreis seine Einstellungen und Stände; Neuer Nummernkreis … legt einen an |
| Wert | Vorlage oder JavaScript |
Schreibt eine Regel in ein geerbtes Feld, gilt das wie eine Änderung von Hand: Der Wert bleibt danach stehen, auch wenn sich die Quelle ändert. Im Verlauf steht neben der Person der Name der Regel.
Vorlage
Die Vorlagenzeile setzt den Wert aus festem Text und Platzhaltern zusammen. Die Platzhalter unter der Zeile lassen sich anklicken, die Vorschau rechnet mit der nächsten Nummer und dem heutigen Datum.
| Platzhalter | Liefert |
|---|---|
{nr:schluessel} | Die Nummer aus dem Kreis mit diesem Schlüssel, formatiert wie am Kreis eingestellt |
{jahr}, {monat}, {tag} | Teile des Datums, an dem das Ereignis geschieht |
{projekt}, {benutzer} | Name des Projekts und der Person, die das Ereignis auslöst |
{feld:schluessel} | Der Inhalt eines zugeordneten Feldes |
Aus ADK-{jahr}-{nr:inventar} wird so ADK-2026-0042. Bedingungen gibt es in der Vorlage nicht; wer eine
braucht, schaltet auf JavaScript. Vorlagen laufen ohne den Medien-Dienst; eine Objektanlage hängt nie an
ihm.
JavaScript
Die Funktion bekommt die Werte des Ereignisses und gibt zurück, was geschrieben werden soll. Erlaubt ist dieselbe Teilmenge von JavaScript wie bei virtuellen Feldern ; was nicht erlaubt ist, meldet der Editor sofort. Prompt für eine KI kopieren stellt eine fertige Anfrage für ein Sprachmodell zusammen.
| Name | Inhalt |
|---|---|
objekt | Die Felder der Regel, nach Schlüssel: objekt['titel'] |
nr, nrRoh | Die gezogenen Nummern nach Kreis-Schlüssel, formatiert ('0042') bzw. als Zahl (42) |
jetzt | Zeitpunkt des Ereignisses als Text |
benutzer, projekt | Wer das Ereignis auslöst, in welchem Projekt die Regel läuft |
ausloeser | object_created, import, object_linked oder field_saved |
herkunft | Bei Feld gespeichert: wer das Feld geschrieben hat, user, rule oder inherit |
istNeu | Wahr, wenn das Objekt in diesem Ereignis entstanden ist |
leer | leer(v) ist wahr bei fehlendem oder leerem Wert |
JS// Kurzform: der Wert geht in das erste Feld return `Z-${jetzt.slice(0, 4)}-${nr['depot']}`;
JS// mehrere Felder; null heißt: nichts tun const s = objekt['standort']; if (leer(s)) return null; return { fields: { kuerzel: String(s).slice(0, 3).toUpperCase() } };
0 wird geschrieben, null, '' und false nicht. JavaScript-Regeln wertet der Medien-Dienst aus;
antwortet er nicht, bleibt das Feld leer und das Objekt entsteht trotzdem.
Probelauf
Probelauf im Kopf der Seite oder Ausprobieren unten in der Regel wertet die Regel so aus, wie sie gerade im Formular steht, auch ungespeichert. Ohne Angabe nimmt er das neueste Objekt des Projekts. Die Tabelle zeigt je Feld den heutigen Wert, den Wert der Regel und ob sie schreiben würde (würde schreiben, schon gefüllt, kein Wert). Der Probelauf schreibt nichts und verbraucht keine Nummer.
Felder
Der Reiter Felder zeigt je Feld, wer hineinschreibt: die Regeln mit Auslöser und Vorlage und das Erben aus Normdaten , etwa „erbt von Urheber (Normdatensatz)~label“ oder „erbt Verknüpfungen aus Identität“. Das Erben ist hier nur zu lesen; der Pfeil führt in die Feldverwaltung , wo es eingestellt wird. Ein Klick auf eine Regel öffnet sie.
Nummernkreise
Ein Nummernkreis zählt aus seinem eigenen Stand, nicht aus den Objektdaten. Er kann mehrere Felder speisen, eine Regel kann mehrere Kreise ziehen.
| Eigenschaft | Bedeutung |
|---|---|
| Name, Schlüssel | Der Schlüssel adressiert den Kreis: {nr:schluessel} in der Vorlage, nr['schluessel'] in JavaScript |
| Geltung | je Projekt (ein Stand je Projekt) oder global (ein Stand für alle) |
| Startwert, Schrittweite | Womit der Kreis beginnt und um wie viel er weiterzählt |
| Stellen, Nullen | Feste Breite mit führenden Nullen: bei vier Stellen 0042, ohne Nullen 42 |
Darunter steht je Projekt der Stand, die zuletzt vergebene Nummer, daneben der höchste Wert, der im Bestand der gespeisten Felder steht, und die nächste Nummer. Ein Stand ist rot, wenn er unter dem Bestand liegt: Die nächste Nummer gäbe es dann schon. Den Stand ändern Sie direkt in der Zelle, etwa um nach dem Löschen wieder herunterzuzählen; der Pfeil daneben setzt ihn auf den Bestand. Jedes neue Projekt bekommt seinen Stand von selbst. Stände gelöschter Projekte bleiben erhalten und erscheinen mit gelöschte Projekte.
Beim Excel-Import reserviert Moliri die Nummern vorab als Block. Die Nummern folgen damit der Reihenfolge der Zeilen, auch wenn jemand anderes gleichzeitig Objekte anlegt; was vom Block übrig bleibt, geht zurück, solange niemand dazwischen gezählt hat.
RegNr
Die RegNr vergeben drei mitgelieferte Regeln, die Sie hier sehen und ändern können wie jede andere:
| Regel | Auslöser | Kontext | Vorlage |
|---|---|---|---|
| RegNr (Basis) | Objekt angelegt | Basis | {nr:regnr-basis}, eine Nummer, die über alle Projekte eindeutig ist |
| RegNr (Projekt) | Objekt angelegt | Projekt (fork) | {nr:regnr}, die laufende Nummer jedes Projekts, in das das neue Objekt kommt |
| RegNr bei Verknüpfung | Objekt verknüpft | Projekt (fork) | {nr:regnr}, die laufende Nummer des Projekts, in das ein Objekt aufgenommen wird, einzeln, im Stapel oder aus dem Import |
Alle drei gelten für Alle Sammlungen; Bibliotheken führen keine RegNr. Die Nummernkreise RegNr
(Basis) (global) und RegNr je Projekt (je Projekt) setzen die Nummern des Bestands lückenlos fort.
Kommt ein Objekt aus dem Excel-Import und hat die Tabelle eine RegNr-Spalte, ersetzt der importierte Wert
die beim Anlegen vergebene Nummer. Fehlt das Feld RegNr in einer Instanz, gibt es diese Regeln und
Kreise nicht, und Objekte entstehen ohne RegNr.
Weiterlesen
- Import-Funktionen : Zellen beim Import umformen
- Systemfelder : Objekt-ID und Wahl, dazu die RegNr als gewöhnliches Feld
- Verlauf : wer oder was einen Wert geschrieben hat