Die Bäckerei aufbauen und betreuen
Dieselbe Bäckerei aus Sicht der Administratorin und des Administrators: Wie sind Daten, Abläufe und Rechte aufgebaut, und wo ändert man etwas? Alles lässt sich im Browser einrichten. Die Beispiele stammen aus der Demo-Instanz, hier mit dem Admin-Benutzer Kurt.
Spaces: die Datenmodelle
Ein Space beschreibt eine Art von Datensatz. Die Bäckerei hat elf davon, etwa Produkt, Zutaten, Kunde, Bestellung und Wareneingang. Jeder Space hat Felder und eigene Rechte und kann einen Workflow haben, und alles ist unter „Administration“ erreichbar.

Im Space „Produkt“ stehen Name, Verkaufspreis und die Beziehungen zu Kategorie und Zutaten. Für jedes Feld legt man Typ, Pflichtangabe, Standardwert und Beschreibung fest. Ein Feld kann eindeutig sein, eine Einheit tragen oder auf einen anderen Space verweisen. Änderungen speichert man pro Feld, die Reihenfolge der Felder ändert man per Ziehen.

Workflows: Status und erlaubte Übergänge
Eine Bestellung durchläuft Stationen: Neu, Bezahlt, Abgeschlossen oder Storniert. Der Workflow „Bestellstatus“ legt diese Stationen und die erlaubten Übergänge fest. Man zeichnet ihn direkt im Diagramm: Status anlegen, Flows verbinden, speichern.

Skripte: Regeln mit eigenem Verhalten
Wo die Standardfunktionen nicht reichen, schreibt man kleine Skripte. Das Skript „BestellstatusRollenfilter“ entscheidet, welche Übergänge ein Benutzer gehen darf: Wer die Rolle Kassierer hat, darf alle, alle anderen nur „Stornieren“. Es ist an den Space „Bestellung“ als Flow-Bedingung gehängt, deshalb sieht Lena im Diagramm weniger Möglichkeiten als Jan.

Weitere Skripte der Bäckerei laufen automatisch beim Anlegen von Datensätzen. Beim Anlegen einer Bestellposition prüft ein Skript den Lagerbestand und übernimmt den Preis aus dem Produkt. Danach verbucht ein zweites den Abgang. Beim Wareneingang erhöht ein Skript den Bestand der Zutat.
Views: was Benutzer zu sehen bekommen
Eine View legt fest, wie Daten angezeigt werden: als Liste oder als einzelner Datensatz, nur lesend oder zum Bearbeiten, und welche Felder dabei sind. Die View „ProduktList“ ist eine Liste mit vier Spalten. Jede Spalte hat eine Beschriftung, kann schreibgeschützt sein und auf eine andere View verweisen. Das Anzeige-Label bestimmt die Überschrift, die Benutzer sehen.

Den Inhalt einer View stellt man im Query-Builder zusammen. Man wählt den Space, hakt Felder an und folgt Beziehungen zu verknüpften Daten. Aus der Auswahl entsteht die Abfrage samt Speicher-Schritten. Optional ergänzt man eine WHERE-Bedingung und ein Limit.

Rollen und Rechte
Wer was darf, hängt an Rollen. Die Bäckerei kennt drei: Mitarbeiter, Bäcker und Kassierer. Bäcker und Kassierer enthalten die Rolle Mitarbeiter, erben also dessen Rechte und ergänzen eigene. Den Rollen weist man Benutzer zu.

Die Rechte sind pro Space und Rolle einstellbar: lesen, anlegen, ändern, löschen, Skripte ausführen, Workflow-Übergänge auslösen und mehr. Der Kassierer darf zum Beispiel Bestellungen und Kunden bearbeiten und Workflow-Schritte auslösen, mehr nicht. Auch die Menüeinträge sind an Rollen gebunden. Das erklärt die unterschiedlichen Menüs von Paul, Jan und Lena.
