Erfolg durch KI

Admin · Anleitung

Schulungen verwalten

Alles was du brauchst, um neue Schulungen anzulegen, bestehende zu pflegen und User-Berechtigungen zu setzen.

Lifecycle einer Schulung

  1. Anlegen — Du sagst Claude Code, dass eine neue Schulung gebraucht wird. Claude erstellt den Ordner, _meta.yml und manifest.json im Repo.
  2. Inhalte einbringen — HTML-Präsentation, PDF-Handouts, Vertiefungs-PDFs. Du lieferst sie oder Claude erzeugt sie aus deiner Vorgabe.
  3. Deploy — Commit + Push, GitHub Actions deployt nach All-Inkl (~7 Min).
  4. Sync — Sync-Endpoint einmal aufrufen, damit die DB die neue Schulung kennt.
  5. Prüfen — Du loggst dich als Admin ein, öffnest die Schulung, klickst alle Files durch.
  6. Veröffentlichen — Status von Beta auf Veröffentlicht setzen, dann sehen sie auch User. (Beta-Feature kommt im nächsten Sprint)

Neue Schulung anlegen

Schulungen leben im Repo unter ~/Projekte/erfolg-durch-ki/content/<slug>/. Der Slug muss mit ki-schulung- beginnen, sonst findet ihn der Sync nicht.

Schritt 1: Sag Claude Code z.B.: „Lege eine neue Schulung 'KI-Recht für Unternehmer' als Stufe 4 Expertenwissen an, neutral-Variante, 25 Minuten."

Claude legt automatisch an:

  • content/ki-schulung-ki-recht/_meta.yml — Marketing-Metadaten
  • content/ki-schulung-ki-recht/manifest.json — Liste der ausgelieferten Files
  • Skeleton-Markdown fuer die Schulungs-Inhalte

Schritt 2: Inhalte einbringen. HTML-Präsentation, Handout-PDF, Vertiefungs-PDFs nach Bedarf.

Schritt 3: Commit + Push. Auto-Deploy läuft. Danach Sync triggern (siehe unten).

_meta.yml — wichtigste Felder

Marketing-Metadaten der Schulung. Wird vom Sync-Endpoint gelesen und in DB geschrieben.

slug: ki_recht
stufe: 4                    # 1=Grundausbildung, 2=Erweiterungen,
                            # 3=Use-Cases, 4=Expertenwissen
reihenfolge: 8              # Sortierreihenfolge in der Stufe
titel: "KI-Recht fuer Unternehmer"
untertitel: "DSGVO, Haftung, Urheberrecht"
tagline: "30 Minuten Rechtssicherheit"
dauer_minuten: 30
zielgruppe: "Geschaeftsfuehrer, Compliance"
voraussetzungen: ["claude_code"]
highlights:
  - "Was DSGVO bei KI-Tools heisst"
  - "Haftung bei automatisierten Entscheidungen"
beschreibung_kurz: |
  Kurze Marketing-Beschreibung (2-3 Saetze).
varianten:
  - neutral                  # oder: pst, oder beide
portal_empfehlung:
  zeigt_in_marketing: true   # Wird auf /schulungen-Teaser angezeigt

Sync-Endpoint aufrufen

Bringt die _meta.yml-Daten in die DB. Macht UPSERT — bestehende Schulungen werden aktualisiert, neue angelegt. Schulungen, deren Ordner verschwunden ist, werden auf active=0 gesetzt (Soft-Delete).

curl "https://erfolg-durch-ki.eu/api/admin/sync-courses.php?token=<APP_SECRET>"

APP_SECRET liegt in der lokalen .env oder im pass-Store unter pst/allinkl/erfolg-durch-ki/app-secret.

Wann aufrufen? Nach jedem Deploy, bei dem sich Schulungs-Inhalte oder _meta.yml geändert haben.

Files zu bestehender Schulung hinzufügen

Direkt im Webinterface unter Schulungen → Schulung wählen → Dateien. Du kannst neue PDFs oder HTML-Files hochladen (max. 50 MB, Mime-Whitelist). Manifest wird automatisch aktualisiert.

Achtung: das Webinterface ändert nur den Server. Wenn die Files auch im Repo (Git) liegen sollen, mache es über Claude Code.

Pakete und Permissions

Permission-Hierarchie: User → Pakete → Schulungen. Plus Direkt-Permissions als Override.

  1. Pakete → Paket erstellen oder bearbeiten, Schulungen zuordnen.
  2. User → Bearbeiten → User-Detail-Page mit Schulungs-Matrix nach Stufe.
  3. Auf der User-Detail-Page Pills klicken: Sehen oder Download direkt setzen.

Pakete-Permissions werden in der User-Detail-Page als „via Paket X" angezeigt und sind dort nicht direkt änderbar — änderbar nur über das Paket selbst.

Stufen-System

StufeLabelCharakter
1GrundausbildungPflichtkurse für Einsteiger (Installation, Hauptkurs)
2ErweiterungenTiefere Workflows zu einzelnen Themen (z.B. Konsolen-Befehle)
3Use-CasesAnwendungsbeispiele aus dem Alltag
4ExpertenwissenFortgeschrittene Tools (Obsidian, Ollama, Hermes-Agent)

Troubleshooting

Schulung erscheint nicht im Dashboard

Prüfe: ist active=1 in der DB? Wurde Sync nach dem Deploy aufgerufen? Hat der User View-Permission (via Paket oder Direkt)?

Sync-Endpoint liefert 404

Bei allerersten Deploys ist der Endpoint noch nicht da. GitHub Actions zeigt das als Warning — bei zweitem Deploy läuft es.

PDF wird nicht angezeigt

PDFs muessen in der manifest.json stehen mit "type": "pdf". User braucht can_handout=1 fuer PDFs bzw. can_pdf=1 fuer ZIP-Vorlagen (seit Migration 004).

Schulung löschen

Soft-Delete: Schulungen → „Löschen"-Button setzt active=0. Hart-Löschen: Ordner aus content/ ins content/archiv/ verschieben + Sync triggern + Purge-Endpoint aufrufen.