Datenmodell
Bereinigung
Die Bereinigung sind kleine, benannte Umwandlungen, die ein Wert durchläuft, bevor er gespeichert wird: Leerraum am Rand entfernen, Dezimalkomma zu Punkt, ein Zeichen durch ein anderes ersetzen. Sie ändert nur den Wert des Feldes, das gerade geschrieben wird. Anmerkungen wie Kommentar oder Farbe bleiben unberührt.
Eingestellt wird sie an drei Stellen, jeweils mit Status 9:
| Stelle | Gilt für |
|---|---|
| Datenmodell › Felder, Felddetails, Abschnitt Bereinigung | Ein Feld, auf dem Reiter Alle Projekte oder je Projekt |
| Datenmodell › Feldarten, je Feldart | Jedes Feld dieser Feldart |
| System › Einstellungen › Bereinigung | Jedes Feld der Instanz, soweit ein Schritt zu seinen Werten passt |

Schritte
| Schritt | Wirkung | Wirkt auf |
|---|---|---|
| Leerraum am Rand entfernen | Leerzeichen, Tabulatoren und Zeilenumbrüche am Anfang und Ende fallen weg, auch geschützte Leerzeichen | Text, Zahlen, Normdatensätze |
| Mehrfache Leerzeichen zusammenfassen | Mehrere Leerzeichen oder Tabulatoren hintereinander werden eines. Zeilenumbrüche bleiben | Text |
| Zeilenumbrüche entfernen | Jeder Zeilenumbruch wird ein Leerzeichen | Text |
| Unicode vereinheitlichen (NFC) | Zeichen, die gleich aussehen, aber verschieden kodiert sind (ein ü aus zwei Teilen), werden gleich gespeichert | Text |
| Dezimalkomma zu Punkt | 1.234,5 wird 1234.5, -3,5 wird -3.5. Ohne Komma bleibt der Wert, wie er ist; was keine Zahl ist (ca. 1900), ebenso | Ganzzahl, Dezimalzahl |
| Text ersetzen | Ersetzt jedes Vorkommen eines Textes wörtlich, ohne reguläre Ausdrücke. Der Ersatz darf den Suchtext nicht enthalten | Text |
| Text in JSON umformen | Macht aus Klartext einen Eintrag im JSON-Feld, siehe unten | nur JSON-Felder |
Felder mit Code oder Markup (Formatierter Text, JSON, Vorlagenfelder) nehmen nur Leerraum am Rand entfernen und Unicode vereinheitlichen an, JSON-Felder dazu Text in JSON umformen. Ein Schritt, der zu einem Feld nicht passt, steht in dessen Kette mit dem Hinweis wirkt hier nicht und wird übersprungen. So lässt sich Mehrfache Leerzeichen zusammenfassen für die ganze Instanz setzen, ohne dass es Zahlen berührt.
Die Kette
Die Schritte bilden eine Kette mit vier Ebenen, von weit nach eng: System, Feldart, Feld, Projekt. Jede Ebene übernimmt die Schritte der weiteren, kann einzelne davon ausschalten und eigene anhängen. Der Abschnitt Wirksame Kette zeigt das Ergebnis in der Reihenfolge, in der die Schritte laufen, jeden Schritt mit seiner Herkunft (System, Feldart, Feld, Projekt …).
| An einem Schritt | Bedeutung |
|---|---|
| Ausschalten | Ein geerbter Schritt gilt ab dieser Ebene nicht mehr. Er steht dann unter Ausgeschaltet, mit der Ebene, die ihn ausgeschaltet hat, und lässt sich dort wieder einschalten |
| Pfeile, Papierkorb | Nur an eigenen Schritten: verschieben und entfernen |
| Schritt hinzufügen | Einen Schritt aus der Liste wählen; Text ersetzen und Text in JSON umformen fragen nach ihren Angaben |
Die Ebene Projekt gibt es nur in den Felddetails: Neben Alle Projekte steht ein Reiter je Projekt, in dem das Feld vorkommt. Ein Projekt-Schritt gilt nur für Werte, die in diesem Projekt gespeichert werden, nicht für gemeinsame Werte des Feldes. Ein Punkt am Reiter zeigt, dass für das Projekt etwas eingestellt ist.
Jede Änderung wird sofort gespeichert. Sie gilt für Werte, die ab dann gespeichert werden. Gespeicherte Werte bleiben, wie sie sind, bis jemand einen Lauf über den Bestand bestätigt.
Vorgaben ab Werk
Ab Werk sind nur zwei Schritte gesetzt, beide auf der Ebene Feldart:
| Feldarten | Schritt |
|---|---|
| Alle, deren Werte als Text gespeichert werden, etwa Text und JSON | Leerraum am Rand entfernen |
| Ganzzahl, Dezimalzahl | Dezimalkomma zu Punkt |
Die Ebene System ist ab Werk leer. Auf der Seite Feldarten steht einmal der Hinweis Bereinigung ab Werk mit den Feldarten, die Vorgaben haben. Von dort lässt sich je Feldart ein Probelauf über den Bestand starten. Hinweis ausblenden nimmt ihn weg.
Probe
Unter der Kette steht die Probe. Ein Wert, eingetragen unter vorher, erscheint unter nachher so,
wie die Kette ihn speichern würde. Darunter steht, welche Schritte gewirkt haben. Damit man Leerraum
sieht, zeigt eine zweite Zeile den Wert mit Zeichen für unsichtbare Zeichen: · Leerzeichen, ° geschütztes Leerzeichen, → Tabulator, ↵ Zeilenumbruch. Auf der Ebene System gehört die Probe zu keinem
Feld; Probe als wählt deshalb die Werttabelle: d_varchar (Text), d_int und d_decimal (Zahlen)
oder d_normdata (Normdatensätze).
Die Probe rechnet mit demselben Programmteil, der beim Speichern bereinigt. Kommt eine Kette bei einem Wert nicht zur Ruhe (ein Schritt macht rückgängig, was ein anderer tat), sagt die Probe das. Beim Speichern bliebe ein solcher Wert unverändert.
Fest eingebaut
Unter der Probe stehen die Umwandlungen, die der Server bei manchen Werten immer vornimmt. Sie lassen sich nicht ausschalten:
| Werte | Umwandlung |
|---|---|
| Zahlen | Ein Wert, der keine Zahl ist, wird mit dem Hinweis „ist keine Zahl“ gespeichert |
| Datum | Trenner wie . , / _ : werden erkannt, fehlende Monate und Tage mit 00 ergänzt |
| Uhrzeit | Auf hh:mm:ss vereinheitlicht, fehlende Teile mit 00 ergänzt |
Beim Speichern
Bereinigt wird beim Speichern in der Eingabemaske, in der Stapelverarbeitung , beim Excel-Import und beim Import aus Metadaten-Standards. Hat die Kette einen Wert geändert, zeigt das Feld kurz bereinigt, und die Meldung Gespeichert nennt die Schritte (Bereinigt: Leerraum am Rand entfernt). Das Feld zeigt danach den gespeicherten Wert. Rückgängig machen im Verlauf stellt den alten Wert ohne Bereinigung wieder her.
Bestand bereinigen
Unter jeder Kette steht der Bereich Bestand bereinigen. Er wendet die Kette auf Werte an, die schon gespeichert sind: in den Felddetails auf alle Werte des Feldes in allen Projekten, auf der Seite Feldarten auf alle Felder der Feldart, in den Einstellungen auf alle Felder.
-
Probelauf. Er prüft alle Werte und schreibt nichts. Das Ergebnis nennt, wie viele Werte sich ändern würden (12 von 840 Werten würden geändert), wie oft jeder Schritt gewirkt hat, und bis zu 20 Beispiele vorher und nachher mit Objekt und Feld. Er zeigt nicht jede einzelne Änderung. Nach jeder gespeicherten Änderung der Kette startet der Probelauf von selbst; von Hand mit Probelauf starten.
-
Jetzt bereinigen. Erst dieser Knopf schreibt die Werte, die der Probelauf gefunden hat. Hat sich die Kette seit dem Probelauf geändert, verlangt Moliri einen neuen. Verwerfen lässt alles, wie es ist.
-
Zurücknehmen, falls nötig. Der Lauf steht im Bearbeitungsverlauf als ein Stapel. Rückgängig machen im selben Bereich setzt alle bereinigten Werte auf den Stand vor dem Lauf zurück. Wurden einige davon seither erneut geändert, fragt Moliri nach, bevor es auch diese späteren Änderungen überschreibt.
Beide Läufe arbeiten im Hintergrund und erscheinen in der Worker-Ansicht als Bestand bereinigen. Der Bereich zeigt beim nächsten Öffnen den letzten Lauf. Werte, mit denen die Kette zu keinem festen Ergebnis kommt, zählt der Probelauf eigens; sie bleiben unverändert.
Probelauf und Bereinigung rechnen im Mediendienst des Servers mit denselben Regeln wie der Browser. Kennt eine ältere Fassung des Dienstes einen Schritt noch nicht, scheitert der Probelauf mit einem Hinweis darauf oder lässt die Werte unverändert.
Text in JSON umformen
Wird ein Textfeld auf die Feldart JSON umgestellt, bleiben die Werte Klartext. Das JSON-Feld zeigt sie dann als Rohinhalt. Der Schritt Text in JSON umformen macht daraus Einträge, die das Feld lesen kann:
| Angabe | Bedeutung |
|---|---|
| Aufteilen an | Ein Trennzeichen wie , oder ;. Leer: der ganze Text kommt in den ersten Schlüssel |
| Schlüssel | Die Unterfelder, durch Komma getrennt. Vorbelegt mit den Spalten des Feldes |
Die Teile füllen die Schlüssel der Reihe nach, übrige Schlüssel kommen leer dazu. Gibt es mehr Teile als Schlüssel, landet der Rest samt Trennzeichen im letzten; es geht kein Text verloren. Anführungszeichen im Text werden maskiert. Ein Wert, der schon JSON ist, bleibt unverändert.
Mit dem Trennzeichen , und den Schlüsseln ort, datierung, kommentar wird aus
Berlin "Ost", 1950
dieser Eintrag. Der dritte Teil fehlt, kommentar bleibt leer:
JSON[{ "ort": "Berlin \"Ost\"", "datierung": "1950", "kommentar": "" }]
Für den Bestand: den Schritt am Feld hinzufügen, dann unter Bestand bereinigen erst den Probelauf ansehen und mit Jetzt bereinigen umformen. Auch der Excel-Import formt eine Zelle mit Klartext so um, wenn die Kette des Zielfeldes den Schritt hat. Siehe JSON .
Bereinigung, Bedingung, Import-Funktion
| Bereinigung | Bedingung | Import-Funktion | |
|---|---|---|---|
| Wann | Vor jedem Speichern, und als Lauf über den Bestand | Beim Anzeigen | Beim Excel-Import |
| Wirkung | Ändert den Wert des eigenen Feldes | Warnt, ändert nichts | Formt eine Zelle um, auch in mehrere Felder |
| Form | Benannte Schritte | Schalter und eigene Regel | Eigener Code |
Weiterlesen
- Felder : die übrigen Abschnitte der Felddetails
- Feldarten : Vorgaben je Feldart
- Verwaltungsbereiche : die übrigen Einstellungen