Files
espocrm/custom/CUSTOM_DIRECTORY.md

3.7 KiB

EspoCRM Custom Directory - Übersicht

Verzeichnisstruktur

custom/
├── Espo/
│   ├── Custom/             # Custom Entitäten, Services, Controller etc.
│   └── Modules/            # Custom Module
├── scripts/                # Custom PHP Scripts für Wartung/Verwaltung
│   ├── check_and_rebuild.sh
│   └── workflow_manager.php
└── workflows/              # Workflow-Definitionen als JSON
    ├── README.md
    ├── vmh-erstberatung-abschliessen.json

Zweck der Verzeichnisse

custom/Espo/Custom/

Hauptverzeichnis für EspoCRM-Customizations:

  • Resources/metadata/ - Entity-, Field-, Client-Definitionen
  • Resources/layouts/ - UI-Layout-Definitionen
  • Resources/i18n/ - Übersetzungen
  • Classes/ - Custom PHP-Klassen
  • Controllers/ - Custom Controller
  • Services/ - Custom Services
  • Repositories/ - Custom Repositories

custom/Espo/Modules/

Zusätzliche Module (z.B. von Extensions):

  • Jedes Modul hat eigene Resources/metadata/ Struktur
  • Module sind gekapselt und wiederverwendbar

custom/scripts/

PHP Scripts für Wartung und Verwaltung:

workflow_manager.php

Zentrale Schnittstelle für Workflow-Verwaltung:

  • list - Alle Workflows (BPM + Simple) auflisten
  • read - Workflow-Details anzeigen
  • import - Workflow aus JSON importieren
  • export - Workflow nach JSON exportieren
  • delete - Workflow löschen

Verwendung:

docker exec espocrm php /var/www/html/custom/scripts/workflow_manager.php <action> [args]

check_and_rebuild.sh

Validierung und Rebuild:

  • JSON-Syntax-Prüfung
  • EspoCRM Rebuild
  • Cache-Bereinigung

custom/workflows/

Workflow-Definitionen als JSON:

  • Versionskontrolle für Workflows
  • Import/Export über workflow_manager.php
  • Sowohl Simple Workflows als auch BPM Flowcharts
  • Format-Dokumentation in README.md

Workflow-Typen:

  1. Simple Workflows - Regel-basierte Automationen

    • Trigger: afterRecordSaved, afterRecordCreated, scheduled, manual
    • Bedingungen: Feld-Vergleiche (equals, changed, contains, etc.)
    • Aktionen: sendEmail, createEntity, updateEntity, etc.
  2. BPM Flowcharts - Komplexe BPMN 2.0-Workflows

    • Visuelle Designer im Admin-Interface
    • Start-Events, Gateways, Tasks, End-Events
    • Für mehrstufige Geschäftsprozesse

Best Practices

Workflow-Entwicklung

  1. Workflow als JSON in custom/workflows/ erstellen
  2. Mit workflow_manager.php import einspielen
  3. Im Admin-Interface testen
  4. Bei Änderungen: Export → Anpassung → Import

Versionskontrolle

  • Alle JSON-Dateien in Git committen
  • Beschreibende Dateinamen (z.B. vmh-<entity>-<funktion>.json)
  • Regelmäßig Backups per export erstellen

Änderungen anwenden

Nach Metadata-Änderungen immer:

docker exec espocrm php /var/www/html/command.php rebuild
# oder
./custom/scripts/check_and_rebuild.sh

Nützliche Befehle

# Alle Workflows auflisten
docker exec espocrm php /var/www/html/custom/scripts/workflow_manager.php list

# Workflow importieren
docker exec espocrm php /var/www/html/custom/scripts/workflow_manager.php import \
  /var/www/html/custom/workflows/my-workflow.json

# Workflow exportieren (Backup)
docker exec espocrm php /var/www/html/custom/scripts/workflow_manager.php export \
  <workflow-id> /var/www/html/custom/workflows/backup-workflow.json

# System rebuilden
docker exec espocrm php /var/www/html/command.php rebuild

# Cache löschen
docker exec espocrm rm -rf /var/www/html/data/cache/*

Dokumentation

  • Hauptdokumentation: /README.md - Vollständige KI-Dokumentation für EspoCRM
  • Workflow-Formate: /custom/workflows/README.md - JSON-Format-Spezifikationen
  • EspoCRM Docs: https://docs.espocrm.com