Intern:Hauptseite/UVdesk

Aus ArtisanCommerce Dokumentation

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 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.

---

Initial Setup

Dieser Bereich wird noch ergänzt. Geplante Themen:

DB-Init
Initialisierung der Schemata via Doctrine.
Admin-Setup
Ersteinrichtung über die CLI.
bplaced-Permissions
Spezifische Rechte für das Temp-Verzeichnis.

---

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-Inkonsistenz
Nach jeder Änderung an Konfigurationsdateien muss der Symfony-Cache physisch geleert werden (siehe Debugging-Sektion).

---

Debugging-History

Hier werden spezifische Probleme dokumentiert, die in der ArtisanCommerce-Umgebung aufgetreten sind.

Fall 01: Swiftmailer Alias & Memory Limit

Datum
Februar 2026
Symptom
cache:clear schlägt fehl mit ServiceNotFoundException oder Memory Limit Exhausted.

Lösung A: Swiftmailer Alias Fix

In der config/services.yaml den Alias manuell setzen:

services:
    # Fix für RegisterPluginsPass Bug
    swiftmailer.mailer:
        alias: swiftmailer.mailer.default
        public: true

Lösung B: Memory Limit via Wrapper

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

---

  1. heul
  2. schluchz

---