Intern:Hauptseite/UVdesk: Unterschied zwischen den Versionen
Aus ArtisanCommerce Dokumentation
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Admin (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 8: | Zeile 8: | ||
=== Der Tech-Stack === | === Der Tech-Stack === | ||
Das System basiert auf einer modernen PHP-Architektur: | 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 === | === Eigenheiten & Unterschiede zu Standard-Symfony === | ||
Obwohl UVdesk auf Symfony basiert, gibt es einige architektonische Besonderheiten: | Obwohl UVdesk auf Symfony basiert, gibt es einige architektonische Besonderheiten: | ||
; Bundle-Architektur | |||
: UVdesk ist stark modularisiert. Fast alle Funktionen liegen in separaten Bundles unter {{SMC|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 == | == Initial Setup == | ||
''Dieser Bereich wird noch ergänzt. | ''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. | |||
--- | --- | ||
| Zeile 37: | Zeile 48: | ||
== Quirks & Fallstricke == | == 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). | |||
--- | --- | ||
| Zeile 44: | Zeile 57: | ||
== Debugging-History == | == Debugging-History == | ||
Hier werden spezifische Probleme | Hier werden spezifische Probleme dokumentiert, die in der ArtisanCommerce-Umgebung aufgetreten sind. | ||
=== Fall 01: Swiftmailer Alias & Memory Limit | === Fall 01: Swiftmailer Alias & Memory Limit === | ||
; Datum | |||
: Februar 2026 | |||
; Symptom | |||
: {{SMC|cache:clear}} schlägt fehl mit {{SMC|ServiceNotFoundException}} oder {{SMC|Memory Limit Exhausted}}. | |||
==== Lösung A: Swiftmailer Alias Fix ==== | ==== Lösung A: Swiftmailer Alias Fix ==== | ||
In der {{SMC|config/services.yaml}} den Alias manuell setzen: | |||
<syntaxhighlight lang="yaml"> | <syntaxhighlight lang="yaml"> | ||
| Zeile 62: | Zeile 77: | ||
==== Lösung B: Memory Limit via Wrapper ==== | ==== Lösung B: Memory Limit via Wrapper ==== | ||
; Option 1 (Dauerhaft) | |||
: In der {{SMC|.env}} oder {{SMC|.env.dev}} Variable setzen: {{SMC|MM{{=}}512}} | |||
; Option 2 (CLI) | |||
: Befehl manuell ausführen: {{SMC|MM=512 php bin/console cache:clear}} | |||
--- | |||
[[Kategorie:Software-Dokumentation]] | |||
[[Kategorie:Helpdesk]] | |||
[[Kategorie:Intern]] | |||
# | # heul | ||
# | # schluchz | ||
--- | --- | ||
Version vom 22. Februar 2026, 18:41 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 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:clearschlägt fehl mitServiceNotFoundExceptionoderMemory 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
.envoder.env.devVariable setzen:MM=512 - Option 2 (CLI)
- Befehl manuell ausführen:
MM=512 php bin/console cache:clear
---
- heul
- schluchz
---
