Plugin-System¶
DiKAS hat ein modulares Plugin-System. Feature-Module werden als separate DLLs entwickelt und zur Laufzeit geladen.
Übersicht¶
DiKAS Core (dikascore.exe)
├── Kern-Kasse (POS, Artikel, Kunden, Personal, ...)
└── plugins/
├── Dikas.Features.Disco.dll ← Disco-Modul
├── Dikas.Features.Licensing.dll ← Lizenz-Modul
└── Dikas.Features.Warehouse.dll ← Lager-Modul
Der Kern funktioniert ohne Plugins. Plugins erweitern das System um zusätzliche Entities, API-Endpoints und Frontend-Seiten.
Für Administratoren: Plugins installieren¶
DLL installieren¶
- Plugin-DLL vom Anbieter erhalten
- In den
plugins/-Ordner kopieren - DiKAS neu starten
- Das Plugin ist automatisch aktiv
.feature-Paket installieren¶
.feature-Dateien sind ZIP-Archive mit Backend-DLL und Frontend-Code:
.feature-Datei in denfeatures/-Ordner kopieren- DiKAS neu starten
- Das Paket wird automatisch extrahiert und geladen
Plugin deaktivieren¶
- DLL aus dem
plugins/-Ordner entfernen - DiKAS neu starten
- Die Plugin-Daten bleiben in der Datenbank erhalten (können später wieder aktiviert werden)
Für Entwickler: Plugin erstellen¶
Eine ausführliche Entwickler-Anleitung finden Sie im Plugin-Entwickler-Guide.
Kurzübersicht¶
- Neues .NET-Projekt erstellen (
Dikas.Features.MeinPlugin) IFeatureModuleimplementieren (Einstiegspunkt)- Entities definieren (Domain-Modelle)
- CQRS Handler schreiben (Commands & Queries)
- Controller erstellen (API-Endpoints)
- Frontend-Extension registrieren (Angular)
Architektur¶
Dikas.Api.Domain ← Entities, Interfaces
↑
Dikas.Api.Application ← CQRS Handlers, Services
↑
Dikas.Api.Contracts ← DTOs (kein Domain-Bezug!)
↑
Dikas.Api.Infrastructure ← Datenbank, externe Services
↑
Dikas.Features.MeinPlugin ← Ihr Plugin
Referenz-Implementierungen¶
| Plugin | Komplexität | Besonderheiten |
|---|---|---|
| Disco | Einfach | 3 Entities, Standard-CRUD |
| Licensing | Komplex | PKI, Rate-Limiting, Legacy-API |
Nächster Schritt¶
→ FAQ — Häufige Fragen