Protokoll #23914

ID23914
Zeitstempel2025-12-27 15:33:30.759819
Clientroot
IP
Warning: Undefined array key "request_ip" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 13

Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 13
Modellclaude-sonnet-4-20250514
Statuscompleted
Tokens4,520 (Input: 0, Output: 0)
Dauer386 ms
Request-Zeit
Warning: Undefined array key "request_timestamp" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 18
Response-Zeit-

Warning: Undefined array key "error_message" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 22

Request

{
    "event": "PreToolUse",
    "tool_name": "mcp__mcp-docs__docs_update",
    "tool_input": {
        "id": 58,
        "content": "<nav class=\"breadcrumb\">\n    <a href=\"\/docs\">Dokumentation<\/a> &raquo; <a href=\"\/docs\/betrieb\">Betrieb<\/a> &raquo; Deployment\n<\/nav>\n\n<h1>Deployment & Rollback<\/h1>\n<p>Synchronisiert Code-Änderungen von der Entwicklungsumgebung zur Produktion. Ermöglicht sicheres Testen auf dev bevor Änderungen live gehen. Bei Problemen kann auf den letzten Stand zurückgerollt werden.<\/p>\n\n<table>\n    <tr><th>Script<\/th><td>\/opt\/scripts\/sync-dev-prod.sh<\/td><\/tr>\n    <tr><th>Richtung<\/th><td>dev → prod<\/td><\/tr>\n    <tr><th>Pre-Checks<\/th><td>Contract Validation, PHPStan, PHP-CS-Fixer, Composer Audit, Semgrep, PHPUnit<\/td><\/tr>\n    <tr><th>Rollback<\/th><td>Aus \/backup\/ wiederherstellen<\/td><\/tr>\n<\/table>\n\n<h2>Pre-Deployment Checks<\/h2>\n<p>Das Sync-Script führt automatisch alle Quality- und Security-Checks durch. Bei Fehlern wird der Sync abgebrochen.<\/p>\n\n<h3>Check 1: Contract Validation<\/h3>\n<table>\n    <tr><th>Contract<\/th><th>Prüft<\/th><th>Blockiert bei<\/th><\/tr>\n    <tr><td>View Structure v1.0<\/td><td>CRUD-Views, Struktur<\/td><td>Critical<\/td><\/tr>\n    <tr><td>HTML Tables v1.0<\/td><td>Modals, Aktionen-Spalte<\/td><td>Critical<\/td><\/tr>\n    <tr><td>CSS Contract v1.0<\/td><td>Stylelint-Regeln<\/td><td>Major<\/td><\/tr>\n    <tr><td>Python Pipeline v1.0<\/td><td>Ruff, mypy<\/td><td>Major<\/td><\/tr>\n    <tr><td>Layered Architecture v1.0<\/td><td>Layer-Grenzen<\/td><td>Critical<\/td><\/tr>\n    <tr><td>Betriebsdokumentation v1.1<\/td><td>Docs-Struktur<\/td><td>Major<\/td><\/tr>\n<\/table>\n<p><strong>Script:<\/strong> <code>\/opt\/scripts\/contract-check.sh<\/code><\/p>\n<p><strong>Dokumentation:<\/strong> <a href=\"\/docs\/betrieb\/contracts\">Contracts<\/a><\/p>\n\n<h3>Check 2: PHP Quality Check<\/h3>\n<table>\n    <tr><th>Tool<\/th><th>Prüft<\/th><th>Blockiert bei<\/th><\/tr>\n    <tr><td>PHPStan + Strict Rules<\/td><td>Typen, Null-Safety, Bugs<\/td><td>Errors<\/td><\/tr>\n    <tr><td>PHP-CS-Fixer<\/td><td>PSR-12 Code Style<\/td><td>Style Issues<\/td><\/tr>\n    <tr><td>Composer Audit<\/td><td>Dependency CVEs<\/td><td>Vulnerabilities<\/td><\/tr>\n    <tr><td>Semgrep<\/td><td>OWASP Security<\/td><td>Security Findings<\/td><\/tr>\n<\/table>\n\n<h3>Check 3: PHPUnit Tests<\/h3>\n<p>Alle Unit-Tests im <code>tests\/<\/code> Verzeichnis müssen bestehen.<\/p>\n\n<h3>Bei fehlgeschlagenen Checks<\/h3>\n<pre><code># Contract Validation fehlgeschlagen:\n❌ SYNC ABGEBROCHEN: Contract Validation fehlgeschlagen\n   Behebe die Contract-Violations und versuche es erneut.\n   Tipp: \/opt\/scripts\/contract-check.sh\n\n# PHP Quality Check fehlgeschlagen:\n❌ SYNC ABGEBROCHEN: PHP Quality Check fehlgeschlagen\n   Behebe die Fehler und versuche es erneut.\n   Tipp: \/opt\/scripts\/php-check.sh \/var\/www\/dev.campus.systemische-tools.de --fix<\/code><\/pre>\n\n<h2>Deployment ausführen<\/h2>\n\n<h3>Standard-Deployment<\/h3>\n<pre><code>\/opt\/scripts\/sync-dev-prod.sh<\/code><\/pre>\n\n<h3>Erwartete Ausgabe (Erfolg)<\/h3>\n<pre><code>=== Sync Dev → Prod: Sat Dec 20 10:00:00 CET 2025 ===\n\n=== Contract Validation ===\n[1\/6] View Structure Contract v1.0\n  OK tasks\/*\n  OK content\/*\n...\n\n=== PHP Quality Check ===\n[1\/4] PHPStan - Static Analysis + Strict Rules\n✓ PHPStan: OK\n...\n\n=== Summary ===\nAll checks passed!\n\n=== PHPUnit Tests ===\nPHPUnit 12.5.4\n✓ All tests passed!\n\nsending incremental file list\n...\n=== Sync abgeschlossen ===<\/code><\/pre>\n\n<h2>Was wird synchronisiert<\/h2>\n<table>\n    <tr><th>Verzeichnis<\/th><th>Inhalt<\/th><th>rsync-Flags<\/th><\/tr>\n    <tr><td>src\/<\/td><td>Backend (MVC)<\/td><td>--delete (entfernt gelöschte Dateien)<\/td><\/tr>\n    <tr><td>app\/<\/td><td>Frontend (MVP)<\/td><td>--delete<\/td><\/tr>\n    <tr><td>routes\/<\/td><td>Web-Routes<\/td><td>-av<\/td><\/tr>\n    <tr><td>config\/<\/td><td>Autoloader (ohne config.php)<\/td><td>--exclude='config.php'<\/td><\/tr>\n    <tr><td>public\/css\/<\/td><td>Stylesheets<\/td><td>--exclude='static-docs'<\/td><\/tr>\n    <tr><td>public\/js\/<\/td><td>JavaScript<\/td><td>-av<\/td><\/tr>\n    <tr><td>public\/images\/<\/td><td>Bilder<\/td><td>-av<\/td><\/tr>\n    <tr><td>public\/index.php<\/td><td>Entry Point<\/td><td>-av<\/td><\/tr>\n    <tr><td>public\/.htaccess<\/td><td>Apache Config<\/td><td>-av<\/td><\/tr>\n<\/table>\n\n<h2>Was wird NICHT synchronisiert<\/h2>\n<ul>\n    <li><strong>config\/config.php<\/strong> - Umgebungsspezifische Einstellungen (APP_DEBUG=false, DB-Credentials)<\/li>\n    <li><strong>storage\/<\/strong> - Logs, Cache, Sessions<\/li>\n    <li><strong>*.log<\/strong> - Log-Dateien werden via --exclude ausgeschlossen<\/li>\n    <li><strong>public\/static-docs\/<\/strong> - Statische Dokumentation<\/li>\n<\/ul>\n\n<h2>Nach dem Sync<\/h2>\n<p>Das Script führt automatisch <code>\/opt\/scripts\/fix-permissions.sh<\/code> aus, um die Dateiberechtigungen (www-data:www-data, 755) zu setzen.<\/p>\n\n<h2>Rollback-Verfahren<\/h2>\n<p>Bei Problemen nach dem Deployment kann der vorherige Stand aus dem Backup wiederhergestellt werden.<\/p>\n\n<h3>Schritt 1: Backup identifizieren<\/h3>\n<pre><code># Verfügbare Backups anzeigen\nls -la \/backup\/<\/code><\/pre>\n\n<h3>Schritt 2: Vollständiger Rollback (prod)<\/h3>\n<pre><code># Prod-Verzeichnis komplett wiederherstellen\ncd \/\ntar -xzf \/backup\/2025-12-20_03-00\/www.tar.gz var\/www\/prod.campus.systemische-tools.de\n\n# Berechtigungen setzen\n\/opt\/scripts\/fix-permissions.sh<\/code><\/pre>\n\n<h3>Schritt 3: Datenbank-Rollback (falls nötig)<\/h3>\n<pre><code># Dump entpacken\ngunzip -k \/backup\/2025-12-20_03-00\/mariadb_all.sql.gz\n\n# Datenbank wiederherstellen\nmariadb < \/backup\/2025-12-20_03-00\/mariadb_all.sql\n\n# Oder einzelne Datenbank:\nsed -n '\/^-- Current Database: `ki_dev`\/,\/^-- Current Database:\/p' \\\n    \/backup\/2025-12-20_03-00\/mariadb_all.sql > \/tmp\/ki_dev.sql\nmariadb ki_dev < \/tmp\/ki_dev.sql<\/code><\/pre>\n\n<h2>Notfall-Rollback (Schnell)<\/h2>\n<pre><code># Letztes Backup finden\nLATEST=$(ls -1d \/backup\/*\/ | tail -1)\n\n# Vollständiger Prod-Rollback\ncd \/ && tar -xzf \"${LATEST}www.tar.gz\" var\/www\/prod.campus.systemische-tools.de\n\n# Berechtigungen\n\/opt\/scripts\/fix-permissions.sh\n\n# Verifizieren\ncurl -I https:\/\/campus.systemische-tools.de<\/code><\/pre>\n\n<h2>Workflow<\/h2>\n<pre><code>┌─────────────────────────────────────────────────────────────┐\n│                    DEPLOYMENT WORKFLOW                       │\n├─────────────────────────────────────────────────────────────┤\n│                                                              │\n│  1. ENTWICKLUNG                                              │\n│     └── Änderungen auf dev.campus.systemische-tools.de      │\n│                          ↓                                   │\n│  2. TESTEN                                                   │\n│     └── Funktionalität auf dev prüfen                       │\n│                          ↓                                   │\n│  3. PRE-CHECKS (automatisch)                                │\n│     ├── Contract Validation (6 Contracts)                   │\n│     ├── PHPStan (Typen, Bugs)                               │\n│     ├── PHP-CS-Fixer (Style)                                │\n│     ├── Composer Audit (CVEs)                               │\n│     ├── Semgrep (Security)                                  │\n│     └── PHPUnit (Tests)                                     │\n│              ↓ OK              ↓ FAIL                        │\n│  4. SYNC                    ABBRUCH                          │\n│     └── rsync dev → prod       └── Fehler beheben           │\n│              ↓                                               │\n│  5. VERIFIZIEREN                                            │\n│     └── Produktion prüfen                                   │\n│              ↓ OK              ↓ PROBLEM                     │\n│        FERTIG              ROLLBACK                          │\n│                                └── Aus Backup wiederherstellen│\n│                                                              │\n└─────────────────────────────────────────────────────────────┘<\/code><\/pre>\n\n<h2>Checkliste vor Deployment<\/h2>\n<ul>\n    <li>Änderungen auf dev getestet?<\/li>\n    <li>Browser-Cache gelöscht beim Testen?<\/li>\n    <li>Keine sensiblen Daten im Code?<\/li>\n    <li>Datenbank-Migrationen berücksichtigt?<\/li>\n    <li>Backup vorhanden? (<code>ls \/backup\/<\/code>)<\/li>\n<\/ul>\n\n<h2>Verwandte Themen<\/h2>\n<ul>\n    <li><a href=\"\/docs\/betrieb\/backup\">Backup<\/a> - Tägliche Sicherung<\/li>\n    <li><a href=\"\/docs\/betrieb\/contracts\">Contracts<\/a> - Contract-System<\/li>\n    <li><a href=\"\/docs\/qualitaet\/php-quality\">PHP-Quality<\/a> - Qualitätsprüfung<\/li>\n<\/ul>"
    }
}

Response

{
    "tool_response": [
        {
            "type": "text",
            "text": "{\n  \"success\": true,\n  \"doc\": {\n    \"id\": 58,\n    \"parent_id\": 55,\n    \"slug\": \"deployment\",\n    \"path\": \"\/betrieb\/deployment\",\n    \"title\": \"Deployment\",\n    \"description\": \"Synchronisiert Code-Änderungen von der Entwicklungsumgebung zur Produktion. Ermöglicht sicheres Testen auf dev bevor Änderungen live gehen. Bei Problemen kann auf den letzten Stand zurückgerollt werden.\",\n    \"content\": \"<nav class=\\\"breadcrumb\\\">\\n    <a href=\\\"\/docs\\\">Dokumentation<\/a> &raquo; <a href=\\\"\/docs\/betrieb\\\">Betrieb<\/a> &raquo; Deployment\\n<\/nav>\\n\\n<h1>Deployment & Rollback<\/h1>\\n<p>Synchronisiert Code-Änderungen von der Entwicklungsumgebung zur Produktion. Ermöglicht sicheres Testen auf dev bevor Änderungen live gehen. Bei Problemen kann auf den letzten Stand zurückgerollt werden.<\/p>\\n\\n<table>\\n    <tr><th>Script<\/th><td>\/opt\/scripts\/sync-dev-prod.sh<\/td><\/tr>\\n    <tr><th>Richtung<\/th><td>dev → prod<\/td><\/tr>\\n    <tr><th>Pre-Checks<\/th><td>Contract Validation, PHPStan, PHP-CS-Fixer, Composer Audit, Semgrep, PHPUnit<\/td><\/tr>\\n    <tr><th>Rollback<\/th><td>Aus \/backup\/ wiederherstellen<\/td><\/tr>\\n<\/table>\\n\\n<h2>Pre-Deployment Checks<\/h2>\\n<p>Das Sync-Script führt automatisch alle Quality- und Security-Checks durch. Bei Fehlern wird der Sync abgebrochen.<\/p>\\n\\n<h3>Check 1: Contract Validation<\/h3>\\n<table>\\n    <tr><th>Contract<\/th><th>Prüft<\/th><th>Blockiert bei<\/th><\/tr>\\n    <tr><td>View Structure v1.0<\/td><td>CRUD-Views, Struktur<\/td><td>Critical<\/td><\/tr>\\n    <tr><td>HTML Tables v1.0<\/td><td>Modals, Aktionen-Spalte<\/td><td>Critical<\/td><\/tr>\\n    <tr><td>CSS Contract v1.0<\/td><td>Stylelint-Regeln<\/td><td>Major<\/td><\/tr>\\n    <tr><td>Python Pipeline v1.0<\/td><td>Ruff, mypy<\/td><td>Major<\/td><\/tr>\\n    <tr><td>Layered Architecture v1.0<\/td><td>Layer-Grenzen<\/td><td>Critical<\/td><\/tr>\\n    <tr><td>Betriebsdokumentation v1.1<\/td><td>Docs-Struktur<\/td><td>Major<\/td><\/tr>\\n<\/table>\\n<p><strong>Script:<\/strong> <code>\/opt\/scripts\/contract-check.sh<\/code><\/p>\\n<p><strong>Dokumentation:<\/strong> <a href=\\\"\/docs\/betrieb\/contracts\\\">Contracts<\/a><\/p>\\n\\n<h3>Check 2: PHP Quality Check<\/h3>\\n<table>\\n    <tr><th>Tool<\/th><th>Prüft<\/th><th>Blockiert bei<\/th><\/tr>\\n    <tr><td>PHPStan + Strict Rules<\/td><td>Typen, Null-Safety, Bugs<\/td><td>Errors<\/td><\/tr>\\n    <tr><td>PHP-CS-Fixer<\/td><td>PSR-12 Code Style<\/td><td>Style Issues<\/td><\/tr>\\n    <tr><td>Composer Audit<\/td><td>Dependency CVEs<\/td><td>Vulnerabilities<\/td><\/tr>\\n    <tr><td>Semgrep<\/td><td>OWASP Security<\/td><td>Security Findings<\/td><\/tr>\\n<\/table>\\n\\n<h3>Check 3: PHPUnit Tests<\/h3>\\n<p>Alle Unit-Tests im <code>tests\/<\/code> Verzeichnis müssen bestehen.<\/p>\\n\\n<h3>Bei fehlgeschlagenen Checks<\/h3>\\n<pre><code># Contract Validation fehlgeschlagen:\\n❌ SYNC ABGEBROCHEN: Contract Validation fehlgeschlagen\\n   Behebe die Contract-Violations und versuche es erneut.\\n   Tipp: \/opt\/scripts\/contract-check.sh\\n\\n# PHP Quality Check fehlgeschlagen:\\n❌ SYNC ABGEBROCHEN: PHP Quality Check fehlgeschlagen\\n   Behebe die Fehler und versuche es erneut.\\n   Tipp: \/opt\/scripts\/php-check.sh \/var\/www\/dev.campus.systemische-tools.de --fix<\/code><\/pre>\\n\\n<h2>Deployment ausführen<\/h2>\\n\\n<h3>Standard-Deployment<\/h3>\\n<pre><code>\/opt\/scripts\/sync-dev-prod.sh<\/code><\/pre>\\n\\n<h3>Erwartete Ausgabe (Erfolg)<\/h3>\\n<pre><code>=== Sync Dev → Prod: Sat Dec 20 10:00:00 CET 2025 ===\\n\\n=== Contract Validation ===\\n[1\/6] View Structure Contract v1.0\\n  OK tasks\/*\\n  OK content\/*\\n...\\n\\n=== PHP Quality Check ===\\n[1\/4] PHPStan - Static Analysis + Strict Rules\\n✓ PHPStan: OK\\n...\\n\\n=== Summary ===\\nAll checks passed!\\n\\n=== PHPUnit Tests ===\\nPHPUnit 12.5.4\\n✓ All tests passed!\\n\\nsending incremental file list\\n...\\n=== Sync abgeschlossen ===<\/code><\/pre>\\n\\n<h2>Was wird synchronisiert<\/h2>\\n<table>\\n    <tr><th>Verzeichnis<\/th><th>Inhalt<\/th><th>rsync-Flags<\/th><\/tr>\\n    <tr><td>src\/<\/td><td>Backend (MVC)<\/td><td>--delete (entfernt gelöschte Dateien)<\/td><\/tr>\\n    <tr><td>app\/<\/td><td>Frontend (MVP)<\/td><td>--delete<\/td><\/tr>\\n    <tr><td>routes\/<\/td><td>Web-Routes<\/td><td>-av<\/td><\/tr>\\n    <tr><td>config\/<\/td><td>Autoloader (ohne config.php)<\/td><td>--exclude='config.php'<\/td><\/tr>\\n    <tr><td>public\/css\/<\/td><td>Stylesheets<\/td><td>--exclude='static-docs'<\/td><\/tr>\\n    <tr><td>public\/js\/<\/td><td>JavaScript<\/td><td>-av<\/td><\/tr>\\n    <tr><td>public\/images\/<\/td><td>Bilder<\/td><td>-av<\/td><\/tr>\\n    <tr><td>public\/index.php<\/td><td>Entry Point<\/td><td>-av<\/td><\/tr>\\n    <tr><td>public\/.htaccess<\/td><td>Apache Config<\/td><td>-av<\/td><\/tr>\\n<\/table>\\n\\n<h2>Was wird NICHT synchronisiert<\/h2>\\n<ul>\\n    <li><strong>config\/config.php<\/strong> - Umgebungsspezifische Einstellungen (APP_DEBUG=false, DB-Credentials)<\/li>\\n    <li><strong>storage\/<\/strong> - Logs, Cache, Sessions<\/li>\\n    <li><strong>*.log<\/strong> - Log-Dateien werden via --exclude ausgeschlossen<\/li>\\n    <li><strong>public\/static-docs\/<\/strong> - Statische Dokumentation<\/li>\\n<\/ul>\\n\\n<h2>Nach dem Sync<\/h2>\\n<p>Das Script führt automatisch <code>\/opt\/scripts\/fix-permissions.sh<\/code> aus, um die Dateiberechtigungen (www-data:www-data, 755) zu setzen.<\/p>\\n\\n<h2>Rollback-Verfahren<\/h2>\\n<p>Bei Problemen nach dem Deployment kann der vorherige Stand aus dem Backup wiederhergestellt werden.<\/p>\\n\\n<h3>Schritt 1: Backup identifizieren<\/h3>\\n<pre><code># Verfügbare Backups anzeigen\\nls -la \/backup\/<\/code><\/pre>\\n\\n<h3>Schritt 2: Vollständiger Rollback (prod)<\/h3>\\n<pre><code># Prod-Verzeichnis komplett wiederherstellen\\ncd \/\\ntar -xzf \/backup\/2025-12-20_03-00\/www.tar.gz var\/www\/prod.campus.systemische-tools.de\\n\\n# Berechtigungen setzen\\n\/opt\/scripts\/fix-permissions.sh<\/code><\/pre>\\n\\n<h3>Schritt 3: Datenbank-Rollback (falls nötig)<\/h3>\\n<pre><code># Dump entpacken\\ngunzip -k \/backup\/2025-12-20_03-00\/mariadb_all.sql.gz\\n\\n# Datenbank wiederherstellen\\nmariadb < \/backup\/2025-12-20_03-00\/mariadb_all.sql\\n\\n# Oder einzelne Datenbank:\\nsed -n '\/^-- Current Database: `ki_dev`\/,\/^-- Current Database:\/p' \\\\\\n    \/backup\/2025-12-20_03-00\/mariadb_all.sql > \/tmp\/ki_dev.sql\\nmariadb ki_dev < \/tmp\/ki_dev.sql<\/code><\/pre>\\n\\n<h2>Notfall-Rollback (Schnell)<\/h2>\\n<pre><code># Letztes Backup finden\\nLATEST=$(ls -1d \/backup\/*\/ | tail -1)\\n\\n# Vollständiger Prod-Rollback\\ncd \/ && tar -xzf \\\"${LATEST}www.tar.gz\\\" var\/www\/prod.campus.systemische-tools.de\\n\\n# Berechtigungen\\n\/opt\/scripts\/fix-permissions.sh\\n\\n# Verifizieren\\ncurl -I https:\/\/campus.systemische-tools.de<\/code><\/pre>\\n\\n<h2>Workflow<\/h2>\\n<pre><code>┌─────────────────────────────────────────────────────────────┐\\n│                    DEPLOYMENT WORKFLOW                       │\\n├─────────────────────────────────────────────────────────────┤\\n│                                                              │\\n│  1. ENTWICKLUNG                                              │\\n│     └── Änderungen auf dev.campus.systemische-tools.de      │\\n│                          ↓                                   │\\n│  2. TESTEN                                                   │\\n│     └── Funktionalität auf dev prüfen                       │\\n│                          ↓                                   │\\n│  3. PRE-CHECKS (automatisch)                                │\\n│     ├── Contract Validation (6 Contracts)                   │\\n│     ├── PHPStan (Typen, Bugs)                               │\\n│     ├── PHP-CS-Fixer (Style)                                │\\n│     ├── Composer Audit (CVEs)                               │\\n│     ├── Semgrep (Security)                                  │\\n│     └── PHPUnit (Tests)                                     │\\n│              ↓ OK              ↓ FAIL                        │\\n│  4. SYNC                    ABBRUCH                          │\\n│     └── rsync dev → prod       └── Fehler beheben           │\\n│              ↓                                               │\\n│  5. VERIFIZIEREN                                            │\\n│     └── Produktion prüfen                                   │\\n│              ↓ OK              ↓ PROBLEM                     │\\n│        FERTIG              ROLLBACK                          │\\n│                                └── Aus Backup wiederherstellen│\\n│                                                              │\\n└─────────────────────────────────────────────────────────────┘<\/code><\/pre>\\n\\n<h2>Checkliste vor Deployment<\/h2>\\n<ul>\\n    <li>Änderungen auf dev getestet?<\/li>\\n    <li>Browser-Cache gelöscht beim Testen?<\/li>\\n    <li>Keine sensiblen Daten im Code?<\/li>\\n    <li>Datenbank-Migrationen berücksichtigt?<\/li>\\n    <li>Backup vorhanden? (<code>ls \/backup\/<\/code>)<\/li>\\n<\/ul>\\n\\n<h2>Verwandte Themen<\/h2>\\n<ul>\\n    <li><a href=\\\"\/docs\/betrieb\/backup\\\">Backup<\/a> - Tägliche Sicherung<\/li>\\n    <li><a href=\\\"\/docs\/betrieb\/contracts\\\">Contracts<\/a> - Contract-System<\/li>\\n    <li><a href=\\\"\/docs\/qualitaet\/php-quality\\\">PHP-Quality<\/a> - Qualitätsprüfung<\/li>\\n<\/ul>\",\n    \"status\": \"published\",\n    \"sort_order\": 3,\n    \"depth\": 1,\n    \"created_at\": \"2025-12-20T11:13:58\",\n    \"updated_at\": \"2025-12-27T15:33:30\"\n  },\n  \"message\": \"Document #58 updated\"\n}"
        }
    ]
}
← Vorheriger Zur Liste Nächster →