Sistema di plugin¶
DiKAS dispone di un sistema di plugin modulare. I moduli funzionali vengono sviluppati come DLL separate e caricati in fase di esecuzione.
Panoramica¶
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
Il nucleo funziona senza plugin. I plugin estendono il sistema con entità, endpoint API e pagine frontend aggiuntive.
Per gli amministratori: installare i plugin¶
Installare una DLL¶
- Ottenere la DLL del plugin dal fornitore
- Copiarla nella cartella
plugins/ - Riavviare DiKAS
- Il plugin è automaticamente attivo
Installare un pacchetto .feature¶
I file .feature sono archivi ZIP con la DLL del backend e il codice frontend:
- Copiare il file
.featurenella cartellafeatures/ - Riavviare DiKAS
- Il pacchetto viene estratto e caricato automaticamente
Disattivare un plugin¶
- Rimuovere la DLL dalla cartella
plugins/ - Riavviare DiKAS
- I dati del plugin restano nel database (possono essere riattivati in seguito)
Per gli sviluppatori: creare un plugin¶
Una guida dettagliata per gli sviluppatori è disponibile nella Guida per sviluppatori di plugin.
Breve panoramica¶
- Creare un nuovo progetto .NET (
Dikas.Features.MeinPlugin) - Implementare
IFeatureModule(punto di ingresso) - Definire le Entities (modelli di dominio)
- Scrivere i CQRS Handler (Commands & Queries)
- Creare i Controller (endpoint API)
- Registrare la Frontend-Extension (Angular)
Architettura¶
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
Implementazioni di riferimento¶
| Plugin | Complessità | Particolarità |
|---|---|---|
| Disco | Semplice | 3 entità, CRUD standard |
| Licensing | Complesso | PKI, rate limiting, API legacy |
Passo successivo¶
→ FAQ — Domande frequenti