Zum Inhalt
v26.3

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

  1. Plugin-DLL vom Anbieter erhalten
  2. In den plugins/-Ordner kopieren
  3. DiKAS neu starten
  4. Das Plugin ist automatisch aktiv

.feature-Paket installieren

.feature-Dateien sind ZIP-Archive mit Backend-DLL und Frontend-Code:

  1. .feature-Datei in den features/-Ordner kopieren
  2. DiKAS neu starten
  3. Das Paket wird automatisch extrahiert und geladen

Plugin deaktivieren

  1. DLL aus dem plugins/-Ordner entfernen
  2. DiKAS neu starten
  3. 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

  1. Neues .NET-Projekt erstellen (Dikas.Features.MeinPlugin)
  2. IFeatureModule implementieren (Einstiegspunkt)
  3. Entities definieren (Domain-Modelle)
  4. CQRS Handler schreiben (Commands & Queries)
  5. Controller erstellen (API-Endpoints)
  6. 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