Directus - Neues Modul „Produktion": Board mit Neu/Warteschlange/Im Druck/ Kuvertierung/Versandfertig/Versendet/Archiv, zentraler Suche, Druck-Popup (Maschine, Template, Maße, Nummernbereich, Direktdruck vs. Warteschlange) und Empfängerliste mit Vorschau von Schriftstück und Kuvert. - Interface-Plugins: Auftragsdateien, Drucken, Testdruck, Empfängersuche. - Mailer-Hook für Auftrags- und Statusmails inkl. Signatur und AGB-Anhang. - Auftrag: Empfängerzeilen inline, Produktionsstatus (inkl. storniert), Versanddatum, Brief-/Kuvert-Indikatoren, Insights-Dashboard. - Absender aller Mails ist Skrift (Projektname + email_settings); die Angebotsanfrage nennt jetzt das angefragte Produkt. Preislogik - Eine gemeinsame Multiplikator-Formel; Normalpreis-Menge je Produkt (products.norm_qty). Alte B2B/B2C-Fallback-Felder entfernt. - Mengenrabatt-Staffel (ab X Stück Y %) in den Preis-Einstellungen. - Preis pro Stück ohne einmalige Kosten (unit_net_total). - Einzelversand rechnet Kuvert und Beschriftung nicht mehr doppelt. - Fehlerhafte Grundpreis-Formel legt die Preisauskunft nicht mehr lahm. - Briefnummern 1-basiert: Dateiname entspricht der Briefnummer. app.skrift.de - Direktlinks für Muster, Unterschriftenservice und Follow-ups; Muster als eigene Seite, Kontaktprodukte direkt im Anfrageformular. - Mehrere Adressen in den Stammdaten plus Adressauswahl im Konfigurator. - Verbotene Zeichen werden bei der Eingabe entfernt und gemeldet. - Zeilenüberlauf als Fehlerkasten vor „Weiter"; Mengenfeld leerbar, Standardmenge 100; Checkout-Checkboxen im Kartenstil. Produktion - skrift-agent: Poll-Modell je Maschine, Maß-Übersteuerung, Nummernfilter und automatischer Übergang in die Kuvertierung. WordPress - Neues Plugin „Skrift Preisrechner": Shortcodes inkl./exkl. MwSt, stündlicher Abgleich der Preisdaten in WordPress und ein sicherer Formel-Interpreter, damit Formeländerungen automatisch greifen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Skrift Produktions-Agent
Schlanker lokaler Agent (Windows) neben dem Plotter. Steuerung läuft über Directus – der Agent macht nur: Heartbeat → Job holen → drucken → melden.
Einrichtung
- In Directus einen Nutzer der Rolle Service anlegen und einen statischen Token erzeugen.
- Die Maschine in Directus unter Einstellungen → Maschinen anlegen
(
base_url, ggf.mid/Login). Die numerische ID der Maschine ist diemachine_idfür die Agent-Config. config.example.json→config.jsonkopieren und ausfüllen (directus_url,directus_token,machine_id).- Abhängigkeiten installieren und starten:
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python agent.py
Ablauf
- Der Agent meldet zyklisch
machines.status+last_seen(Heartbeat). - Er zieht den nächsten
jobs-Eintrag seiner Maschine mitstatus=queued(sortiert nachpriority, dann Alter). - Er lädt die SVGs des Auftrags passend zum Job-Typ (Schriftstück/Umschlag)
über den Directus-Datei-Endpoint (
/skrift-orders/files/...) und schickt sie mit den Template-Werten (Maße/Position/Rotation) an den Plotter. - Status zurück:
printing → printedbzw.failed(+ Fehlermeldung). - Bei Maschinenfehler (z. B. Papierende) ruft er
recover_writeauf.
Jobs entstehen
Über den Admin-Trigger POST /skrift-orders/enqueue { order, machine }
(bzw. später ein Button in der Webapp). Pro Auftrag entsteht ein Brief-Job und
– falls Kuvert beschriftet – ein Umschlag-Job, jeweils mit aufgelöstem Template.
Signaturen / AutoRecover
Der Signatur-Service bleibt vorerst unberührt. Das win32-AutoRecover
(klickt das Java-Fenster) kann weiter separat laufen; der Agent nutzt zusätzlich
den API-recover_write der Maschine.