Handbuch zum Betrieb
eVorgang betreiben
Dieser Teil richtet sich an calhelp in der Rolle Betrieb: wer Mandanten anlegt, Bausteine freischaltet und auf dem Server nach dem Rechten sieht. Wie der Server aufgesetzt, aktualisiert und gesichert wird, steht ausführlich im Betriebshandbuch; hier steht, was man in der Oberfläche und mit einem Befehl tut.
1 · Die Rolle Betrieb
Betrieb kann alles, was die Verwaltung kann, und zusätzlich die Plattform (nur beim Mandanten des Betriebs selbst) und die KI-Werkbank. Keine Verwaltung kann jemanden in der Oberfläche zum Betrieb machen, und Konten mit dieser Rolle melden sich nie über das Verzeichnis eines Kunden an.
Als Betrieb kommen Sie technisch an viel heran. In Akten eines Kunden schauen Sie nur mit seinem Auftrag, etwa zur Fehlersuche. Personenbezogene Angaben liegen verschlüsselt mit dem Schlüssel des Mandanten.
2 · Mandanten
Jeder Kunde ist ein Mandant mit eigener Adresse, eigenen Konten und eigenen Schlüsseln. Unter Verwaltung → Betrieb → Plattform:
-
Mandant anlegen mit Kennung (etwa
dezernat), Adresse und dem ersten Konto mit der Rolle Verwaltung. Dieses Konto bekommt einen Zugangslink und richtet ab da alles Weitere selbst ein (erste Schritte). - Ruhen lassen: die Adressen des Mandanten antworten nicht mehr, niemand meldet sich an, die Daten bleiben. Freischalten hebt das wieder auf.
- Löschen geht nur auf dem Server (Kapitel 5), nur für einen ruhenden Mandanten ohne laufendes Abo, und nur mit ausdrücklicher Bestätigung der Kennung.
Eine Vorführung anlegen
Eine Vorführung ist ein Mandant für Interessenten: ausgedachte Daten, und nichts verlässt das Haus. Keine Mail geht hinaus, der Posteingang ruft nichts ab, es wird nichts gekauft und keine KI gefragt; Mails landen im Postfach der Vorführung, und die Drehbücher der Übung laufen dort (In einer Vorführung).
-
Beim Anlegen den Schalter Vorführung setzen. Das geht nur dort und lässt
sich später nicht ändern. In der Liste steht der Mandant danach mit dem Zeichen
Vorführung. Auf dem Server dasselbe mit
docker compose exec api php artisan ecore:tenant create <kennung> --name="…" --host=<adresse> --sandbox. -
Das erste Konto bekommt kein Passwort, und „Passwort vergessen“ schickt in einer
Vorführung keinen Link. Im Blatt des Mandanten steht deshalb der Abschnitt
Erster Zugang: E-Mail-Adresse des Kontos eintragen,
Link ausstellen. Der Link zum Setzen des Passworts steht nur
dort und wird nicht noch einmal gezeigt; mit Link kopieren geben Sie
ihn der Person selbst. Er gilt einmal und eine Woche (in Stunden einstellbar über
ECORE_SANDBOX_ACCESS_LINK_HOURSin der.env, höchstens 30 Tage); ein neuer ersetzt den alten. Ohne eigene Adresse des Mandanten gibt es keinen Link. -
Die Bausteine schaltet in einer Vorführung immer der Betrieb, auch ohne
Plattform.
practicebleibt an, weil Band und Postfach daran hängen.
Eine Vorführung kommt eingerichtet. Beim Anlegen schalten die Module
evorgang, assistent, partner,
beschaffung, signatur, vertrag,
dokumente und vorlagen an; die KI-Bausteine bleiben
aus. Dazu spielen sie einen Beispielsatz ein, alles erfunden:
- die Vorgangsarten der Startvorlage und zwei Beispielakten, eine Anfrage und einen Beschaffungsantrag über 2.400 €;
- vier Partner, etwa „Muster Telekommunikation GmbH“;
- drei Vergaberegeln, deren Namen sagen, dass die Grenzen Beispiele sind: Direktauftrag bis 1.000 €, Preisvergleich bis 25.000 €, Ausschreibung darüber;
- Zeichnungsregeln, auf deren Stufen Übungsfiguren stehen (Sachgebietsleitung, Haushalt, Leitung);
- der Beispielsatz an Vorlagen und Textbausteinen (wie in der Verwaltung), davon Auftragsschreiben und Annahme eines Angebots gleich veröffentlicht, mit einer erfundenen Rechnungsanschrift;
- drei Vertragsarten und drei Verträge im Register, einer davon mit einer Kündigung, die bald ansteht.
Im Protokoll steht dabei die Figur „Einrichtung“. Die Drehbücher laufen damit sofort. Ein echter Mandant bekommt nichts davon, und eine Übung übernimmt weiter die Einrichtung ihres Mandanten statt eines Beispielsatzes.
KI-Kontingent
Im Blatt eines Mandanten steht der Abschnitt KI-Kontingent: wie viele
Token je Monat alle KI-Aufrufe dieses Mandanten zusammen verbrauchen dürfen. Das
Kontingent hängt am Vertrag, deshalb setzt es mit Plattform nur der Betrieb; die
Verwaltung des Mandanten sieht es in ihren Einstellungen, ändern kann sie es
nicht. Ins Feld Token je Monat gehören nur Ziffern, Punkte und
Leerzeichen als Tausendertrenner fallen weg. Leer heißt: es gilt die Vorgabe der
Installation (AI_TOKEN_LIMIT in der .env, leer ist
unbegrenzt). Eine 0 sperrt jeden KI-Aufruf. Darunter steht, was im laufenden
Monat verbraucht ist. Gespeichert wird mit Kontingent speichern.
Gegenstellen
Eine Gegenstelle ist eine Abo-Seite außerhalb dieser Instanz, die Mandanten
anlegt und abgleicht. Die Karte Gegenstellen unter
Verwaltung → Betrieb → Plattform erscheint nur, wenn
der Mandant des Betriebs den Baustein provisioning hat.
- Neue Gegenstelle: einen Namen eintragen, an dem der Betrieb sie wiedererkennt, etwa „Abo-Seite evorgang.de“, dann Schlüssel ausstellen.
- Das Blatt zeigt die Kennung (X-Ecore-Key) und das Geheimnis genau einmal; es schließt nur über Fertig. Beides gehört in den Passwort-Manager und in die Abo-Seite, nirgends sonst.
- Ein Tipp auf eine aktive Gegenstelle bietet Erneuern an: ein neues Geheimnis, das alte gilt sofort nicht mehr, Kennung und Mandanten bleiben. Das ist der Weg, wenn ein Geheimnis verloren ist.
- Stattdessen widerrufen im selben Blatt sperrt die Gegenstelle endgültig. Ihre Mandanten bleiben bestehen und werden nicht mehr abgeglichen.
Mit Kennung und Geheimnis spricht die Abo-Seite die Schnittstelle
/api/provisioning an (Vertrag v1). Sie legt Mandanten an, schaltet
Bausteine, setzt Grenzen, lässt Mandanten ruhen und fragt die Nutzung ab. Mehr als
diese Karte kann sie nicht, und sie löscht nie. Einen von Hand angelegten
Mandanten übernimmt sie nie.
Die Nutzung, die sie abfragt, sind Summen ohne Namen: aktive Konten, belegter Speicher, KI-Token des Monats und die Zahl der Postfächer. Zum Speicher zählen auch die eingegangenen Mails der Postfächer. Für jede Grenze, die das Abo setzt (Konten, Speicher, Postfächer, KI-Token), sagt die Antwort, ob sie überschritten ist. Die Bausteine nennt sie ihren Kundinnen und Kunden mit dem Namen aus dem Katalog (Bausteine je Mandant), in der Anwendung selbst stehen sie weiter unter ihrer Kennung.
3 · Bausteine je Mandant
Was ein Mandant nutzen kann, ist je Baustein freigeschaltet. Jeder Baustein steht auf an, aus oder Vorgabe (dann gilt, was die Installation vorgibt). Wer einen Baustein abschaltet, nennt einen Grund. Ein abgeschalteter Baustein antwortet auch angemeldeten Konten mit „nicht erlaubt“, statt halb zu funktionieren.
| Baustein | Name im Katalog | Was er freischaltet |
|---|---|---|
evorgang | Vorgangsakte | Die Vorgangsakte selbst |
dokumente | Dokumente | Dokumentablage mit Fassungen, Vorschau und Suche |
posteingang | Posteingang | Funktionspostfächer und Antworten aus der Akte |
posteingang_ki | KI-Vorschlag im Posteingang | Der KI-Vorschlag für Vorgangsart und Team bei einem Vorgang aus einer Mail; braucht die Einwilligung des Mandanten und einen selbst gehosteten KI-Dienst |
partner | Partner | Das Partnerverzeichnis unter /partner |
beschaffung | Beschaffung und Vergabe | Die Vergabe in der Akte und die Vergaberegeln der Verwaltung |
beschaffung_ki | KI-Vorschlag für die Zuschlagsbegründung | Der Vorschlag mit KI für die Begründung des Zuschlags; braucht die Einwilligung des Mandanten und einen selbst gehosteten KI-Dienst |
vorlagen | Vorlagen und Textbausteine | Vorlagen, Textbausteine und Schreiben aus Vorlage; braucht den PDF-Wandler |
signatur | Zeichnung und Gegenzeichnung | Die interne Prüfung und Zeichnung in der Akte, /zeichnung, die Gegenzeichnung durch Externe und die Zeichnungsregeln der Verwaltung |
vertrag | Vertragsregister | Die Verträge in der Akte, das Register unter /vertraege und die Vertragsarten der Verwaltung |
assistent | Einarbeitungsassistent | Der Assistent an der Akte, der den nächsten Schritt nennt und dasselbe Formular öffnet wie der Knopf in der Akte |
practice | Übung | Die Übung: der Weg unter /uebung und die Karte unter Verwaltung → Betrieb → Übung. Ab Werk an; geübt werden kann erst, wenn die Übung eingerichtet ist (Die Übung eines Mandanten) |
letterhead | — | Der Briefkopf über Exporten und unter Mails |
admin, admin_tools | — | Die Verwaltung und ihre Werkzeuge |
portal | — | Das eigene Konto der Bearbeitenden |
partner, beschaffung, beschaffung_ki, vorlagen,
signatur, vertrag und assistent sind
ab Werk aus; Sie schalten sie je Mandant in der Plattform ein
(Einen Baustein schalten). Die Beschaffung
wählt ihre Bieter aus dem Partnerverzeichnis und läuft auch ohne es, dann nur
mit frei eingetragenen Bietern. Das Vertragsregister legt aus jeder Ausfertigung der
Signatur einen Entwurf an und läuft auch ohne sie, dann nur mit Verträgen, die
von Hand angelegt werden.
Einen Baustein schalten
Öffnen Sie Verwaltung → Betrieb → Plattform und wählen Sie in der Liste den Mandanten. Seine Angaben öffnen sich in einem Blatt.
Im Abschnitt Module steht jeder Baustein unter seiner Kennung, etwa
practiceodervertrag, mit drei Knöpfen: Vorgabe (an) oder Vorgabe (aus), je nachdem, wie die Installation ihn ausliefert, dann An und Aus. Darunter steht, ob er beim Mandanten gerade wirkt oder wirkt nicht.Wählen Sie An oder die Vorgabe. Das gilt sofort, einen Knopf zum Speichern gibt es nicht; die Bestätigung lautet „Das Modul … ist eingestellt.“
Wählen Sie Aus, fragt eVorgang nach einem Grund von mindestens drei Zeichen. Er steht im Protokoll; erst mit Abschalten ist der Baustein aus. Die Daten des Mandanten bleiben.
admin lässt sich nicht abschalten, sonst schlösse sich die Verwaltung
selbst aus.
Die Plattform gibt es nur, wenn in der .env
ECORE_PLATFORM_ORGANIZATION den Mandanten des Betriebs nennt. Ohne sie
schaltet die Verwaltung des Mandanten ihre Bausteine selbst, unter
Verwaltung → Organisation → Einstellungen, Karte
Freischaltungen; dort stehen dann alle Bausteine der Fachmodule, auch die,
die ab Werk aus sind (Freischaltungen).
Mit Plattform sind die Schalter dort gesperrt, und in einer
Vorführung auch ohne.
Die Übung eines Mandanten
Der Baustein practice erlaubt die Übung; er legt sie nicht an. Den
Übungsbereich richtet entweder die Verwaltung des Mandanten selbst ein, unter
Verwaltung → Betrieb → Übung an ihrer eigenen Adresse
(Die Übung), oder Sie auf dem Server mit
ecore:tenant practice <kennung> (Befehle).
In der Oberfläche können Sie die Übung eines anderen Mandanten nicht einrichten:
Die Plattform hat dafür keinen Knopf, und die Seite Übung wirkt immer nur
für den Mandanten, unter dessen Adresse sie geöffnet ist. Ihr eigener Mandant, der
des Betriebs, bekommt keine Übung. Für einen Kunden bleibt also der Befehl, oder
Sie bitten seine Verwaltung, Übung einrichten zu wählen. Eine eigene
Adresse für die Übung (--host=) setzt nur der Befehl; sonst gilt die
erste Adresse des Mandanten mit uebung- davor.
Die Übung bei nur einem Mandanten
Trägt eine Installation nur einen Mandanten (ECORE_SINGLE_TENANT,
ab Werk evorgang), liegt seine Übung unter uebung. vor
der Adresse der Anwendung aus APP_URL, etwa
uebung.vorgang.example.de. Caddy liefert diese zweite Adresse schon
mit aus. Damit sie ein Zertifikat bekommt, braucht das DNS einen
Platzhalter-Eintrag für alle Unteradressen, *.vorgang.example.de, auf
denselben Server. Fehlt er, bleibt nur die Übung ohne Zertifikat; die Anwendung
läuft weiter.
Eine Übung, die schon früher ohne Adresse angelegt wurde, bekommt ihre Adresse beim
nächsten Abgleich, über Abgleichen in der Verwaltung oder
ecore:tenant practice <kennung>. Unter der Übungsadresse
antwortet nur die Übung, unter jeder anderen der echte Mandant; ein Konto des
jeweils anderen kommt dort nicht herein.
Der PDF-Wandler
Schreiben aus Vorlagen setzt ein eigener Dienst als PDF (Gotenberg). Er ist ab
Werk aus. Eingeschaltet wird er in einem Zug über Actions, „Build, Test &
Deploy“ oder „Stand ausliefern“, mit dem Haken pdf_einrichten, oder
von Hand mit sudo bash scripts/install.sh, dem Profil
pdf in COMPOSE_PROFILES und
ECORE_PDF_DRIVER=gotenberg in der .env. Ohne ihn
lassen sich Vorlagen pflegen, aber keine Schreiben erzeugen, und gezeichnete
Dokumente bekommen keine Ausfertigung
mit Zeichnungsprotokoll; das Dokument bleibt dann gesperrt. Speicher, Netz und
Betrieb ohne Docker Hub beschreibt das Betriebshandbuch unter „PDF-Wandler“.
4 · Die KI-Werkbank
Unter Verwaltung → KI → KI-Werkbank stellen Sie ein, welcher
KI-Dienst die Vorschläge formuliert, und probieren ihn mit einem Testanbieter aus,
ohne echte Akten. Steht auf dem Server AI_REQUIRE_SELF_HOSTED, sind
externe Anbieter gesperrt und nur selbst betriebene Modelle erlaubt.
Ein Vorschlag entsteht nur, wenn drei Dinge zusammenkommen: der Baustein ist für den Mandanten freigeschaltet, die Verwaltung des Mandanten hat eingewilligt, und jemand fordert ihn in der Akte an. Fehlt eines, geht kein Text hinaus. Im Log stehen Modell, Status, Fehlercode und Dauer, nie Inhalte.
5 · Befehle auf dem Server
Alle Befehle laufen im Container der Anwendung, im Verzeichnis des Stacks. Bei
mehreren Mandanten wählt --tenant=<kennung> den richtigen.
| Befehl | Wofür |
|---|---|
docker compose exec api php artisan ecore:user:role <adresse> [editor|admin|developer] |
Eine Rolle setzen (Sachbearbeitung, Verwaltung, Betrieb). Mit --revoke zurückstufen, mit --reset-two-factor den zweiten Faktor zurücksetzen. |
docker compose exec api php artisan ecore:tenant list |
Mandanten auflisten. Daneben create, suspend, activate und capability für Bausteine. |
docker compose exec api php artisan ecore:tenant delete <kennung> |
Ohne --confirm=<kennung> nur ein Trockenlauf, der zeigt, was gelöscht würde. Löscht nur einen ruhenden Mandanten ohne laufendes Abo, endgültig. |
docker compose exec api php artisan ecore:tenant practice <kennung> |
Legt den Übungsmandanten eines Mandanten an (Einarbeitung und Übung) oder gleicht ihn ab: er übernimmt die Bausteine des Mandanten, nie Konten, Akten oder Dokumente. Die Adresse ist die erste des Mandanten mit uebung- davor, bei einer Installation mit nur einem Mandanten uebung. vor der Adresse der Anwendung (mehr); mit --host=<adresse> eine andere. Mit --reset wird die Übung hart gelöscht und leer neu angelegt, samt Übungspostfach. Wird der Mandant gelöscht, geht seine Übung mit. |
docker compose exec api php artisan evorgang:uebung:uebernehmen <kennung> |
Übernimmt die Einrichtung des echten Mandanten in seine Übung (was dazugehört): Briefkopf, Teams ohne Mitglieder, Felder, Organisationseinheiten, Vorgangsarten, Vergabe- und Zeichnungsregeln, Vertragsarten, Bausteine, veröffentlichte Vorlagen, Mailvorlagen und die Funktionspostfächer ohne Zugangsdaten; nie Partner. Genannt wird die Kennung des echten Mandanten, nicht die der Übung. Ein zweiter Lauf gleicht nur ab, was nur in der Übung steht, bleibt. Wer eine leere Übung will, setzt sie vorher mit ecore:tenant practice <kennung> --reset zurück. Der Befehl meldet je Baustein, wie viel er geändert und übersprungen hat. Dasselbe kann die Verwaltung des Mandanten selbst auslösen (Die Übung), ebenso das Einrichten und Zurücksetzen. |
docker compose exec api php artisan ecore:mail:diagnose <adresse> |
Erklärt, warum ein Anmeldelink nicht ankommt: Versandweg, Absender, Konto und die zuletzt ausgestellten Links. |
docker compose exec api php artisan evorgang:audit:verify |
Prüft die Protokollkette aller Akten. Ein Bruch heißt: ein Eintrag wurde verändert oder fehlt. |
docker compose exec api php artisan evorgang:deadlines |
Erinnert an fällige Fristen und meldet abgelaufene weiter, je Mandant. Läuft sonst von selbst im Zeitplan. |
docker compose exec api php artisan signatur:issue-copies --run=<lauf-id> |
Erstellt die fehlende Ausfertigung eines gezeichneten Laufs neu, auch nach einem Fehler, der sich nicht von allein behebt. Ohne --run holt der Befehl alle fehlenden nach; das läuft sonst alle zehn Minuten von selbst, 30 Tage lang. |
docker compose exec api php artisan signatur:external-reminders |
Erinnert Externe an eine offene Gegenzeichnung und lässt abgelaufene Links ablaufen, nach den Werten der Verwaltung. Läuft sonst jeden Morgen um 8:15 Uhr von selbst. |
docker compose exec api php artisan vertrag:renew --date=<JJJJ-MM-TT> |
Verlängert abgelaufene Verträge mit Verlängerung und beendet die übrigen, je Mandant mit Vertragsregister. Ohne --date gilt heute. Läuft sonst jeden Morgen um 5:15 Uhr UTC von selbst, vor den Erinnerungen an Fristen. |
6 · Eine Rolle ohne Oberfläche setzen
Hat niemand mehr Zugang zur Verwaltung, etwa auf einem frischen Server, setzt der Ablauf Build, Test & Deploy im Repository eine Rolle beim Ausliefern:
- Unter Actions den Ablauf Build, Test & Deploy wählen, Run workflow auf
main. - Bei
verwaltung_emaildie Adresse eintragen, beiverwaltung_rolledie Rolle. - Starten. Nach dem Deploy hat das Konto die Rolle.
7 · Das Betriebshandbuch
Alles, was den Server betrifft, steht in BETRIEB.md im Repository: Umgebungen, Update ohne Ausfall, der Updater, Überwachung, Sicherung, Wiederherstellung und was die Fehlermeldungen heißen. Es liegt dort und nicht hier, weil es sich mit jedem Ablauf im Repository ändert und dort mit geprüft wird.