Replace legacy Bash check and rebuild script with a new Python-based validator; add comprehensive validation checks and improve documentation for usage and features.
This commit is contained in:
27
README.md
27
README.md
@@ -44,22 +44,28 @@ Keine integrierte KI-Schnittstelle existiert, aber mit Dateizugriff können auto
|
||||
|
||||
**WICHTIG:** Nach jeder Änderung an Custom-Dateien muss ein Rebuild durchgeführt werden!
|
||||
|
||||
### Check & Rebuild Script (Empfohlen)
|
||||
### Validate & Rebuild Script (Empfohlen)
|
||||
|
||||
**Zentrales Tool:** `custom/scripts/check_and_rebuild.sh`
|
||||
**Zentrales Tool:** `custom/scripts/validate_and_rebuild.py`
|
||||
|
||||
**NEU ab Januar 2026:** Erweitertes Python-basiertes Validierungs-Tool mit automatischen Checks!
|
||||
|
||||
Dieses Script sollte **IMMER** verwendet werden (nicht manueller Rebuild). Es führt automatisch aus:
|
||||
|
||||
✅ **Validierungen:**
|
||||
- JSON-Syntax-Prüfung aller `.json` Dateien im `custom/` Verzeichnis
|
||||
- **Relationship-Konsistenz-Prüfung** (bidirektionale Links, foreign-Definitionen)
|
||||
- **Formula-Script Platzierung** (korrekt in `/formula/` statt `/entityDefs/`)
|
||||
- **i18n-Vollständigkeit** (fehlende Übersetzungen für Links)
|
||||
- Layout-Struktur-Prüfung
|
||||
- Dateirechte-Prüfung (`www-data:www-data` Owner)
|
||||
- System-Checks (Cache-Verzeichnis, Logs-Verzeichnis)
|
||||
|
||||
✅ **Automatische Korrekturen:**
|
||||
- Setzt fehlerhafte Dateirechte auf `www-data:www-data`
|
||||
- Korrigiert Verzeichnis-Permissions (775) und Datei-Permissions (664)
|
||||
|
||||
✅ **Rebuild:**
|
||||
- **Nur wenn keine kritischen Fehler gefunden werden!**
|
||||
- Merged alle Custom-Metadata mit Core-Definitionen
|
||||
- Aktualisiert Datenbank-Schema (neue Felder, Tabellen, Indizes)
|
||||
- Leert Cache-Verzeichnis
|
||||
@@ -68,18 +74,25 @@ Dieses Script sollte **IMMER** verwendet werden (nicht manueller Rebuild). Es f
|
||||
**Verwendung:**
|
||||
```bash
|
||||
# Im EspoCRM-Root-Verzeichnis ausführen
|
||||
./custom/scripts/check_and_rebuild.sh
|
||||
python3 custom/scripts/validate_and_rebuild.py
|
||||
|
||||
# Nur Validierung ohne Rebuild
|
||||
python3 custom/scripts/validate_and_rebuild.py --dry-run
|
||||
```
|
||||
|
||||
**Ausgabe:**
|
||||
- ✓ Grün: Alles in Ordnung, Rebuild erfolgreich
|
||||
- ⚠ Gelb: Warnungen, Rebuild wird trotzdem ausgeführt
|
||||
- ✗ Rot: Fehler (z.B. ungültiges JSON), Rebuild wird NICHT ausgeführt
|
||||
- ⚠ Gelb: Warnungen (z.B. fehlende i18n), Rebuild wird trotzdem ausgeführt
|
||||
- ✗ Rot: Kritische Fehler (z.B. ungültiges JSON, fehlende Relationships), Rebuild wird NICHT ausgeführt
|
||||
|
||||
**Bei Fehlern:**
|
||||
- JSON-Syntax-Fehler werden mit Datei und Zeilennummer angezeigt
|
||||
- Relationship-Fehler zeigen fehlende Links zwischen Entities
|
||||
- Formula-Platzierungsfehler werden erkannt und gemeldet
|
||||
- i18n-Probleme werden als Warnungen angezeigt (kein Abbruch)
|
||||
- Dateirechte-Probleme werden automatisch korrigiert
|
||||
- System-Fehler (fehlende Verzeichnisse) müssen manuell behoben werden
|
||||
|
||||
**Detaillierte Dokumentation:** Siehe `custom/scripts/VALIDATOR_README.md`
|
||||
|
||||
### Wann Rebuild erforderlich?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user