Intern:Hauptseite/UVdesk: Unterschied zwischen den Versionen

Aus ArtisanCommerce Dokumentation
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 65: Zeile 65:


# 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|MM512 php bin/console cache:clear}}
# Befehl manuell ausführen: {{SMC|MM=512 php bin/console cache:clear}}


---
---

Version vom 22. Februar 2026, 18:26 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:

  1. In der .env oder .env.dev Variable setzen: MM 512
  2. Befehl manuell ausführen: MM=512 php bin/console cache:clear

---