Intern:Hauptseite/UVdesk: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 64: | Zeile 64: | ||
Auf bplaced-Umgebungen überschreibt der PHP-Wrapper das Memory-Limit oft auf 64MB. Für Symfony-Operationen müssen mindestens 512MB erzwungen werden: | Auf bplaced-Umgebungen überschreibt der PHP-Wrapper das Memory-Limit oft auf 64MB. Für Symfony-Operationen müssen mindestens 512MB erzwungen werden: | ||
# In der {{SMC|.env}} oder {{SMC|.env.dev}} Variable setzen: {{SMC|MM 512}} | # In der {{SMC|.env}} oder {{SMC|.env.dev}} Variable setzen: {{SMC|MM{{=}}512}} | ||
# Befehl manuell ausführen: {{SMC|MM=512 php bin/console cache:clear}} | # Befehl manuell ausführen: {{SMC|MM=512 php bin/console cache:clear}} | ||
Version vom 22. Februar 2026, 18:27 Uhr
UVdesk Helpdesk System
Übersicht
UVdesk ist eine Enterprise-Grade Helpdesk-Lösung, die speziell für die Automatisierung von Support-Prozessen entwickelt wurde.
Der Tech-Stack
Das System basiert auf einer modernen PHP-Architektur:
- **Framework:** Symfony (v4.4 / v5.4 LTS)
- **Datenbank:** MySQL / MariaDB (Doctrine ORM)
- **Template-Engine:** Twig
- **Mail-Handling:** Swiftmailer (in neueren Versionen Symfony Mailer)
- **Paketverwaltung:** Composer
Eigenheiten & Unterschiede zu Standard-Symfony
Obwohl UVdesk auf Symfony basiert, gibt es einige architektonische Besonderheiten:
- **Bundle-Architektur:** UVdesk ist stark modularisiert. Fast alle Funktionen (Tickets, Knowledgebase, Mailbox) liegen in separaten Bundles unter
vendor/uvdesk/. - **Custom Routing:** Die Routing-Logik für Member- und Customer-Bereiche ist eng mit der Datenbank verknüpft.
- **Service Decoration:** Viele Kern-Services sind so konzipiert, dass sie durch eigene Implementierungen erweitert werden können (wichtig für unsere Anpassungen ohne Vendor-Patching).
---
Initial Setup
Dieser Bereich wird noch ergänzt. Hier folgen Informationen zu:
- Datenbank-Initialisierung
- Ersteinrichtung des Admin-Accounts
- Verzeichnisrechte auf bplaced
---
How-to's
Konfiguration der Mailbox
Beschreibung der Anbindung von IMAP/SMTP (iCloud, Office365 etc.)
---
Quirks & Fallstricke
- **Zugehörigkeit:** Achten Sie beim Erstellen von Agents darauf, dass die Rollen-Zuweisung (Role) korrekt erfolgt, da Symfony-Security-Voter den Zugriff steuern.
- **Cache:** Nach jeder Änderung an Konfigurationsdateien muss der Symfony-Cache physisch geleert werden (siehe Debugging-Sektion).
---
Debugging-History
Hier werden spezifische Probleme und deren Lösungen dokumentiert, die während des Betriebs im ArtisanCommerce-Netzwerk aufgetreten sind.
Fall 01: Swiftmailer Alias & Memory Limit (bplaced Umgebung)
Datum: Februar 2026
Symptom: cache:clear schlägt fehl mit ServiceNotFoundException oder Memory Limit Exhausted.
Lösung A: Swiftmailer Alias Fix
Da der interne Symfony-Compiler den Dienst swiftmailer.mailer erwartet, dieser aber bei benutzerdefinierten Mailer-Namen fehlt, muss ein Alias in der config/services.yaml gesetzt werden:
services:
# Fix für RegisterPluginsPass Bug
swiftmailer.mailer:
alias: swiftmailer.mailer.default
public: true
Lösung B: Memory Limit via Wrapper
Auf bplaced-Umgebungen überschreibt der PHP-Wrapper das Memory-Limit oft auf 64MB. Für Symfony-Operationen müssen mindestens 512MB erzwungen werden:
- In der
.envoder.env.devVariable setzen:MM=512 - Befehl manuell ausführen:
MM=512 php bin/console cache:clear
---
