# 🚀 EspoCRM Validator - Quick Start

## Installation bereits abgeschlossen ✅

Das Validierungs-Tool ist bereits installiert und einsatzbereit!

## Verwendung

```bash
# Im EspoCRM-Root-Verzeichnis
python3 custom/scripts/validate_and_rebuild.py
```

Das war's! Das Script führt automatisch alle Checks durch und startet den Rebuild.

**Tipp:** Für nur Validierung ohne Rebuild: `python3 custom/scripts/validate_and_rebuild.py --dry-run`

## Was wird geprüft?

1. ✅ **JSON-Syntax** - Alle Custom-Dateien
2. ✅ **Relationships** - Bidirektionale Link-Konsistenz  
3. ✅ **Formula-Scripts** - Korrekte Platzierung
4. ✅ **i18n** - Vollständigkeit der Übersetzungen
5. ✅ **Layouts** - Struktur-Validierung
6. ✅ **Dateirechte** - Owner & Permissions
7. ✅ **Rebuild** - Nur bei Fehlerfreiheit

## Output verstehen

| Symbol | Bedeutung | Aktion |
|--------|-----------|--------|
| ✓ Grün | OK | Keine |
| ⚠ Gelb | Warnung | Optional beheben |
| ✗ Rot | Fehler | **Muss behoben werden!** |

## Beispiel

```bash
$ python3 custom/scripts/validate_and_rebuild.py

EspoCRM Custom Entity Validator & Rebuild Tool
Arbeitsverzeichnis: /var/lib/docker/volumes/vmh-espocrm_espocrm/_data

======================================================================
                      1. JSON-SYNTAX VALIDIERUNG                      
======================================================================

✓ Alle 547 JSON-Dateien sind syntaktisch korrekt

======================================================================
                      2. RELATIONSHIP-KONSISTENZ                      
======================================================================

✗ 4 Relationship-Fehler gefunden:
  • CMietobjekt.vmhRumungsklages → CVmhRumungsklage: 
    Foreign link 'mietobjekte' fehlt in CVmhRumungsklage
...

✗ REBUILD ABGEBROCHEN: Kritische Fehler müssen behoben werden!
```

## Häufige Fehler beheben

### Relationship-Fehler
```json
// In CVmhRumungsklage.json HINZUFÜGEN:
{
  "links": {
    "mietobjekte": {
      "type": "hasMany",
      "entity": "CMietobjekt",
      "foreign": "vmhRumungsklages"
    }
  }
}
```

### JSON-Syntax-Fehler
- Mit einem JSON-Validator prüfen (z.B. `python3 -m json.tool datei.json`)
- Auf fehlende Kommata, geschweifte Klammern achten

### i18n-Warnung (optional)
```json
// In i18n/de_DE/Entity.json ERGÄNZEN:
{
  "links": {
    "meinLink": "Mein Link"
  }
}
```

## Mehr Infos

- **Ausführliche Doku:** `custom/scripts/VALIDATOR_README.md`
- **EspoCRM-Doku:** `README.md`
- **Custom-Struktur:** `custom/CUSTOM_DIRECTORY.md`

## Troubleshooting

**Python3 nicht gefunden?**
```bash
sudo apt-get install python3  # Ubuntu/Debian
sudo yum install python3       # CentOS/RHEL
```

**Keine Berechtigung?**
```bash
chmod +x custom/scripts/validate_and_rebuild.py
```

**Script findet rebuild.php nicht?**
```bash
# Ins richtige Verzeichnis wechseln
cd /var/lib/docker/volumes/vmh-espocrm_espocrm/_data
python3 custom/scripts/validate_and_rebuild.py
```

---

**💡 Tipp:** Führe das Script nach **jeder** Änderung an Custom-Dateien aus!
