{ "doc": "docs/anleitung-administration.md", "claims_checked": 140, "ok_count": 133, "wrong": [ { "line": 198, "claim": "Der Schalter „Aktiviert/Deaktiviert“ liegt im Abschnitt „Synchronisation“ (auch Fehlersuche Zeile 449: „im Sync-Bereich der LDAP-Konfiguration“).", "actual": "Der Schalter (isActive) sitzt im eigenen Abschnitt „Zeitplan“ zusammen mit dem Sync-Intervall; der Abschnitt „Synchronisation“ enthält nur „Jetzt synchronisieren“ und den Ergebnisbericht. Der Zeitplan-Abschnitt hat auch einen eigenen Speichern-Knopf.", "evidence": "apps/web/src/app/(portal)/admin/ldap/page.tsx:1246-1305 (Section 3a, title=controlCenter.ldap.schedule); :1310 (Section 3b sync.title); apps/web/src/messages/de.json:2273 (\"schedule\": \"Zeitplan\")", "fix": "Abschnitt „Synchronisation“ aufteilen: „Zeitplan“ (Sync-Intervall in Minuten + Schalter Aktiviert/Deaktiviert, mit Speichern) und „Synchronisation“ (Jetzt synchronisieren + Ergebnisbericht). In Kapitel 4 (Zeile 193-198) und in der Fehlersuche (Zeile 449) „im Sync-Bereich“ durch „im Abschnitt „Zeitplan““ ersetzen." } ], "outdated": [ { "line": 246, "claim": "Tabelle „Was ‚Verwalten‘ je Modul freischaltet“ nennt nur Kantinenabrechnung, Handelsware, Proxmox, Nextcloud-Status, DKV-Rechnung.", "actual": "Auch Domains und Dateien (Nextcloud) kennen die Stufe „Verwalten“; sie sind weiter unten in eigenen Abschnitten beschrieben, fehlen aber in dieser Übersichtstabelle. Das Wort „Verwalten“-Gating steckt auch in den Controllern von domains und nextcloud-files.", "evidence": "apps/api/src/domains/domains.controller.ts, apps/api/src/nextcloud-files/nextcloud-files.controller.ts (requireManage/Stufe), Doc Zeilen 361 und 407", "fix": "Zwei Zeilen ergänzen: „Domains: Anbindung einrichten, Kunden/Kontakte anlegen, Domains registrieren“ und „Dateien: Reiter „Einstellungen“ ansehen und „Verbindung prüfen“ (Adresse ändern nur Administratoren)“." }, { "line": 87, "claim": "{{firma}} = „Name des Mandanten“", "actual": "Oberfläche nennt es „Name Ihrer Organisation“ (technisch Mandantenname). Inhaltlich gleich, Wortlaut weicht ab.", "evidence": "apps/web/src/messages/de.json:~812 (placeholders.items.firma.meaning)", "fix": "„Name Ihrer Organisation (der Mandantenname)“." }, { "line": 78, "claim": "Platzhalter funktionieren in allen sechs Feldern.", "actual": "Doc stimmt mit dem Code (6 Felder, WELCOME_MAIL_LIMITS), aber der UI-Text placeholders.intro sagt noch „in allen vier Feldern“ (UI-Text veraltet, nicht die Anleitung).", "evidence": "apps/web/src/messages/de.json (admin.welcomeMail.placeholders.intro); packages/shared/src/index.ts:346-353", "fix": "Keine Änderung an der Anleitung nötig; UI-Text separat auf „sechs“ korrigieren." }, { "line": 195, "claim": "Sync-Intervall: 0 = deaktiviert; kein Standardwert genannt.", "actual": "Beim erstmaligen Anlegen der Konfiguration setzt der Service 60 Minuten als Standard (Prisma-Schema-Default ist 0). Der Standardwert fehlt in der Anleitung.", "evidence": "apps/api/src/ldap/ldap-config.service.ts:180 (syncIntervalMin ?? 60); apps/api/prisma/schema.prisma:94", "fix": "Ergänzen: „Beim ersten Speichern der Verbindung ist das Intervall mit 60 Minuten vorbelegt.“" } ], "missing_features": [ { "feature": "Abschnitt „Zeitplan“ der LDAP-Seite (Intervall + Anbindung ein/aus mit eigenem Speichern)", "where": "apps/web/src/app/(portal)/admin/ldap/page.tsx:1246 ; de.json controlCenter.ldap.schedule/scheduleHelp", "suggested_section": "4 AD-/LDAP-Anbindung > Synchronisation (eigener Unterabschnitt „Zeitplan“)" }, { "feature": "Aufbau der SMTP-Seite in drei Abschnitten (Server / Absender und Empfänger / Prüfen und speichern) und Passwort-anzeigen-Knopf", "where": "apps/web/src/messages/de.json controlCenter.smtp.*, settings.smtp.showPassword; apps/web/src/components/settings/smtp-settings-form.tsx", "suggested_section": "6 SMTP (kurzer Hinweis auf Abschnitte)" }, { "feature": "Markierung „System“ und Versionsanzeige in der Modulliste (Administration > Module); Rückverweise „Freigaben-Matrix“ / „Kategorien“", "where": "apps/web/src/app/(portal)/admin/modules/page.tsx:190 ; de.json adminModules.system/version/grantsLink/categoriesLink", "suggested_section": "5 Modul aktivieren" }, { "feature": "Module Zertifikatsmanager (Seed-Name „Zertifikatsmanager“, Kategorie „Sicherheitswerkzeuge“), Domaincheck und Ausschreibungs-Radar tauchen als Module in der Admin-Modulliste auf, werden in der Anleitung aber nur teilweise erwähnt (Radar nur als Admin-Einstellungen, Zertifikatsmanager und Domaincheck gar nicht)", "where": "apps/api/src/cert-manager/cert-manager.seed.ts:19 ; apps/api/src/domaincheck/domaincheck.seed.ts:18 ; apps/api/src/tenders/tenders.seed.ts:20", "suggested_section": "5 Modulverwaltung (Übersichtstabelle der Module mit Kategorie und ob „Verwalten“ eine Wirkung hat)" } ] }