EntwicklerMitarbeiter-Handbuch

Plugin-Authoring

Wie du eigene Plugins für den sellx Hub baust, sie als .sellxpkg paketierst und im Hub installierst.

Entwickler-Handbuch · Plugin-Authoring

Überblick

Ein sellx-Plugin ist ein verschlüsseltes ZIP-Archiv mit:

  • manifest.json — Metadaten, Queries, Parameter, Berechtigungen
  • sql/*.sql — eine oder mehrere parametrisierte T-SQL-Queries
  • Optional: Icons, Beispielkonfigurationen, Doku

Der Hub installiert das Plugin, verschlüsselt die SQL-Files mit einem Lizenz-abgeleiteten Schlüssel und führt sie gegen die JTL-Wawi-Datenbank aus.

Workflow

textworkflow.txt
1. SQL-Queries schreiben & testen (in SSMS gegen eazybusiness)
2. manifest.json erstellen (Queries, Parameter, Berechtigungen)
3. .sellxpkg packen (ZIP mit .sellxpkg-Endung)
4. Lokal im Hub installieren (via /plugins)
5. Im Hub testen — vor Veröffentlichung mit Kunden
6. Signieren lassen & auf sellx Central hochladen

Voraussetzungen

ToolZweck
SQL Server Management Studio (SSMS)Queries entwickeln, gegen eazybusiness testen
Kenntnis der JTL-Wawi-DB-StrukturTabellen: tArtikel, tKunde, tBestellung, …
Kenntnis der Hub-BerechtigungenDB-Rolle, Plugin-Kategorie, Lizenz-Slot
ZIP-Tool.sellxpkg ist ein normales ZIP

Themen

ThemaInhalt
Package-FormatAufbau einer .sellxpkg-Datei
manifest.jsonAlle Felder mit Beispielen
SQL-KonventionenT-SQL-Stil, Parameter, Jinja-Templating
Security-RichtlinienWas die SqlSecurityValidator ablehnt
BeispieleVollständige Beispiel-Plugins zum Kopieren

Wichtige Constraints

  • Nur parametrisierte Queries — keine String-Konkatenation mit User-Input
  • Nur ein Statement pro Query — keine ;-getrennten Batches
  • Keine Kommentare im finalen SQL — werden beim Packen entfernt
  • Read-only by default requiresDbRole: "read" in der Manifest
  • Keine EXEC/sp_/xp_ — der Validator lehnt das ab

Mehr dazu in Security-Richtlinien.

Schnellstart (5 Minuten)

Wenn du bereits eine funktionierende SQL-Query hast:

1

Verzeichnis anlegen

bashinit.sh
mkdir mein-plugin
mkdir mein-plugin/sql
2

manifest.json schreiben

3

Query-Datei schreiben

bashwrite-query.sh
echo "SELECT TOP 10 cName FROM tArtikel ORDER BY kArtikel" > mein-plugin/sql/top-articles.sql
4

Packen

bashpack.sh
cd mein-plugin
zip -r ../mein-plugin.sellxpkg .
5

Im Hub installieren

Im Hub: /plugins .sellxpkg installieren mein-plugin.sellxpkg wählen.