Add Check & Rebuild script for automated quality assurance; update README with usage instructions and modify cache timestamps in config

This commit is contained in:
2026-01-20 20:48:47 +01:00
parent c58ada4540
commit 694f22ca77
3 changed files with 197 additions and 3 deletions

View File

@@ -351,11 +351,48 @@ Um die Entwicklung und Wartung zu erleichtern, wurden benutzerdefinierte Scripts
- **Prävention**: Stelle sicher, dass neue Custom-Dateien mit korrekten Berechtigungen erstellt werden (z.B. via Docker-Container als `www-data`).
### Allgemeine Tipps
- Nach Änderungen immer `docker exec espocrm php /var/www/html/command.php Rebuild` ausführen.
- **WICHTIG**: Nach jeder Änderung an Custom-Dateien das Check & Rebuild Script ausführen:
```bash
./custom/scripts/check_and_rebuild.sh
```
Das Script prüft automatisch auf häufige Fehler (JSON-Syntax, Dateirechte) und führt bei Fehlerfreiheit den Rebuild durch.
- Manueller Rebuild (nur falls Script nicht funktioniert):
```bash
docker exec espocrm php /var/www/html/command.php Rebuild
```
- Logs prüfen: `tail -n 100 /var/lib/docker/volumes/vmh-espocrm_espocrm/_data/data/logs/espo-YYYY-MM-DD.log`
- Bei Relationship-Problemen: Logs nach "404" und "Link does not exist" durchsuchen: `tail -n 500 /var/lib/docker/volumes/vmh-espocrm_espocrm/_data/data/logs/espo-$(date +%Y-%m-%d).log | grep -A 3 "404\|Link does not exist"`
- Bei DB-Problemen: Custom-Scripts wie `workflow_manager.php` verwenden.
### Check & Rebuild Script
Das Script `custom/scripts/check_and_rebuild.sh` automatisiert die Qualitätssicherung und führt folgende Prüfungen durch:
1. **JSON-Syntax-Validierung**: Prüft alle `.json` Dateien im `custom/` Verzeichnis auf gültiges JSON
2. **Dateirechte-Prüfung**: Stellt sicher, dass alle Dateien `www-data:www-data` als Owner haben
3. **System-Checks**: Validiert Existenz von Cache- und Logs-Verzeichnissen
4. **Automatischer Rebuild**: Bei Fehlerfreiheit wird der Rebuild durchgeführt
**Verwendung:**
```bash
# Im EspoCRM-Root-Verzeichnis ausführen
./custom/scripts/check_and_rebuild.sh
```
**Ausgabe:**
- ✓ Grün: Alles in Ordnung
- ⚠ Gelb: Warnungen (Rebuild wird trotzdem ausgeführt)
- ✗ Rot: Fehler (Rebuild wird NICHT ausgeführt)
**Bei Berechtigungsfehlern:**
```bash
sudo chown -R www-data:www-data custom/
sudo find custom/ -type f -name "*.json" -exec chmod 664 {} \;
sudo find custom/ -type d -exec chmod 775 {} \;
```
## 9. Portal-Freigabe-System
Um Entitäten für Portalnutzer (Contact-Entität) freizugeben, wurde ein konsistentes Freigabe-System implementiert: