Zum Inhalt
Handbuch
Inhalt

Werkzeuge bauen

Collections und Felder anlegen

Feldtypen, technische Spalten und die Regel, dass eine Collection nur wächst.

Eine Collection ist ein Datenbestand mit festen Feldern. Der Agent legt sie mit ensure_collection an und ergänzt sie später mit demselben Aufruf. In der Produktion gilt eine Regel ohne Ausnahme: Eine Collection wächst nur. Plane Namen und Typen deshalb, bevor du baust.

Im Übungsraum beginnen

Baue eine Collection zuerst im Übungsraum. Ein Token für den Übungsraum legt dort frei an und ergänzt. Was entsteht, wartet danach im Adminbereich unter Schemaänderungen applizieren, bis ein Mensch es in die Produktion überträgt (Aus dem Übungsraum übertragen).

Solange ein Feld oder eine Collection nie in der Produktion stand, kann der Agent sie im Übungsraum mit discard_field und discard_collection verwerfen. Danach gilt die Regel der Produktion.

Feldtypen

TypInhaltFilternSortieren
textkurzer Text, höchstens 1000 Zeichenjaja
longtextlanger Text, höchstens 100 000 Zeichennur auf leernein
integerganze Zahljaja
decimalDezimalzahl mit vier Nachkommastellen, exaktjaja
booleanja oder neinjaja
dateDatumjaja
datetimeZeitpunkt, gespeichert in UTCjaja
choiceein Wert aus einer festen Listejaja
referenceVerweis auf eine Zeile einer anderen Collectionjanein
personVerweis auf eine Person dieser Instanzjanein
contextein Wert aus einem Kontext, etwa ein Standortjanein

Andere Typen gibt es nicht. Welche Operatoren ein Typ im Filter erlaubt, steht unter Daten lesen und schreiben.

Ein Feld ist Pflicht oder freiwillig. Überlege die Pflicht gut: Ein Werkzeug, das ein Pflichtfeld nicht schickt, bekommt einen Fehler.

Verweise, Personen und Kontexte

  • reference zeigt auf genau eine Zeile einer anderen Collection. Der Wert ist die Kennung dieser Zeile. Modelliere einen Verweis nie als Text mit einer Kennung darin: Der spätere Wechsel wäre ein Typwechsel.
  • person speichert die Kennung einer Person, nie ihren Namen. Ein Name ändert sich, die Kennung nicht. Eine Person gibt es erst nach ihrer ersten Anmeldung.
  • context hält einen Wert eines Kontexts, den die Administration pflegt (Kontexte). Eine Collection hat höchstens ein solches Feld. Die Stufe context an einem Recht stützt sich darauf.

Technische Spalten

Jede Zeile trägt fünf Spalten, die du nicht anlegst und nicht selbst beschreibst:

SpalteBedeutung
iddie Kennung der Zeile, auf die ein Verweis zeigt
created_bywer die Zeile angelegt hat. Darauf stützt sich die Stufe own
created_atwann sie entstand
updated_atwann sie sich zuletzt änderte
versionzählt bei jeder Änderung hoch. Jedes Schreiben nennt sie

Ein Feld darf nicht so heissen wie eine dieser Spalten.

Was nicht geht

  • Ein Feld oder eine Collection löschen. In der Produktion verschwindet nichts.
  • Einen Typ wechseln. Aus text wird nie reference, aus integer nie decimal.
  • Einen Wert einer choice-Liste entfernen. Werte kommen dazu, keiner geht weg.

Umbenennen und stilllegen

Beides erledigt ein Mensch im Adminbereich, auf der Seite der Collection (Struktur).

  • Feld umbenennen: Das Feld bekommt einen neuen Namen, der alte Name gilt weiter. Ein Werkzeug, das noch den alten Namen schickt, arbeitet weiter. Antworten nennen immer den aktuellen Namen.
  • Stilllegen: Ein stillgelegtes Feld nimmt keine neuen Werte an, bestehende bleiben lesbar. Ein Werkzeug, das es noch schickt, bekommt einen Fehler mit dem Feldnamen. Das Stilllegen lässt sich zurücknehmen. Auch eine ganze Collection lässt sich stilllegen: Sie nimmt dann keine neuen Zeilen an.

Zweck und Aufbewahrungsfrist

Eine neue Collection nennt ihren Zweck (wofür dein Betrieb die Daten verarbeitet, ein bis zwei Sätze) und ihre Aufbewahrungsfrist (eine Anzahl Monate oder unbegrenzt). Ohne beides legt die Instanz die Collection nicht an. Die Angaben kommen von dir, nicht vom Agenten.

Rechte

Eine neue Collection hat keine Rechte. Gib ensure_collection mit grantTo eine Rolle mit, oder vergib das Recht danach (Rechte vergeben).