Direkt zum Inhalt
eVorgang · Handbuch
Inhalt

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.

Inhalte sehen heißt nicht Inhalte lesen dürfen

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:

  1. 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).
  2. Ruhen lassen: die Adressen des Mandanten antworten nicht mehr, niemand meldet sich an, die Daten bleiben. Freischalten hebt das wieder auf.
  3. 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).

  1. 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.
  2. 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_HOURS in der .env, höchstens 30 Tage); ein neuer ersetzt den alten. Ohne eigene Adresse des Mandanten gibt es keinen Link.
  3. Die Bausteine schaltet in einer Vorführung immer der Betrieb, auch ohne Plattform. practice bleibt 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.

  1. Neue Gegenstelle: einen Namen eintragen, an dem der Betrieb sie wiedererkennt, etwa „Abo-Seite evorgang.de“, dann Schlüssel ausstellen.
  2. 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.
  3. 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.
  4. 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.

BausteinName im KatalogWas er freischaltet
evorgangVorgangsakteDie Vorgangsakte selbst
dokumenteDokumenteDokumentablage mit Fassungen, Vorschau und Suche
posteingangPosteingangFunktionspostfächer und Antworten aus der Akte
posteingang_kiKI-Vorschlag im PosteingangDer KI-Vorschlag für Vorgangsart und Team bei einem Vorgang aus einer Mail; braucht die Einwilligung des Mandanten und einen selbst gehosteten KI-Dienst
partnerPartnerDas Partnerverzeichnis unter /partner
beschaffungBeschaffung und VergabeDie Vergabe in der Akte und die Vergaberegeln der Verwaltung
beschaffung_kiKI-Vorschlag für die ZuschlagsbegründungDer Vorschlag mit KI für die Begründung des Zuschlags; braucht die Einwilligung des Mandanten und einen selbst gehosteten KI-Dienst
vorlagenVorlagen und TextbausteineVorlagen, Textbausteine und Schreiben aus Vorlage; braucht den PDF-Wandler
signaturZeichnung und GegenzeichnungDie interne Prüfung und Zeichnung in der Akte, /zeichnung, die Gegenzeichnung durch Externe und die Zeichnungsregeln der Verwaltung
vertragVertragsregisterDie Verträge in der Akte, das Register unter /vertraege und die Vertragsarten der Verwaltung
assistentEinarbeitungsassistentDer Assistent an der Akte, der den nächsten Schritt nennt und dasselbe Formular öffnet wie der Knopf in der Akte
practiceÜbungDie Ü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

  1. Öffnen Sie Verwaltung → Betrieb → Plattform und wählen Sie in der Liste den Mandanten. Seine Angaben öffnen sich in einem Blatt.

  2. Im Abschnitt Module steht jeder Baustein unter seiner Kennung, etwa practice oder vertrag, 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.

  3. 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.“

  4. 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.

BefehlWofü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:

  1. Unter Actions den Ablauf Build, Test & Deploy wählen, Run workflow auf main.
  2. Bei verwaltung_email die Adresse eintragen, bei verwaltung_rolle die Rolle.
  3. 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.