ENDPUNKTE
Eigene Wege unter deiner Adresse
Eine Middleware, die auf einen Pfad hört, JSON annimmt und JSON zurückgibt – mit derselben Anmeldung und denselben Rechten wie der Rest. Der Ort für alles, was ein Formular nicht kann.
Studio · Plugin-Werkstatt
Jedes Werkzeug hat eine Grenze. Der Unterschied ist, was dahinter kommt. Bei den meisten ein Formular mit dem Titel „Feature-Wunsch", das in ein Postfach fällt, aus dem nie eine Antwort kommt. Hier ein Editor. Du schreibst C#, der Server übersetzt es gegen die Version deiner Instanz, und danach läuft es als Plugin – mit eigenen Endpunkten, Batchjobs, HtmlItems und Entitäten. Kein Ticket, kein Wartelistenplatz, keine Roadmap, auf der dein Fall unter „wird beobachtet" steht.
01 — Der Weg
Ein Plugin-Projekt ergibt genau eine DLL. Du legst es an oder lädst ein vorhandenes als ZIP hoch, arbeitest an den Quelldateien und lässt bauen. Jeder Bau ist eine Version mit Protokoll – und was in der Instanz landet, steht als Liste im Abbild, nicht in jemandes Kopf.
02 — Hinter der Grenze
Vier Antworten auf denselben Satz — „das kann das System nicht". Drei davon kennst du.
Der Feature-Wunsch
„Wir nehmen das gerne auf."
Die Erweiterung vom Markt
„Dafür gibt es ein Plugin."
Der Dienst daneben
„Wir hängen was dran."
Die Plugin-Werkstatt
„Dann schreiben wir es eben."
03 — Was ein Plugin kann
Das ist kein Skript in einer Sandbox mit fünf erlaubten Funktionen und einem Zeitlimit von 200 Millisekunden. Es ist eine .NET-Bibliothek, die im selben Prozess läuft wie das CMS.
ENDPUNKTE
Eine Middleware, die auf einen Pfad hört, JSON annimmt und JSON zurückgibt – mit derselben Anmeldung und denselben Rechten wie der Rest. Der Ort für alles, was ein Formular nicht kann.
BATCHJOBS
Nächtliche Abgleiche, Aufräumläufe, Messungen im Minutentakt. Mit Zeitplan, Protokoll und der Möglichkeit, von Hand anzustoßen.
HTMLITEMS
Ein eigenes Tag, das der Redakteur in eine Seite schreibt und das dein Code füllt. So wird aus Serverlogik etwas, das ein Nicht-Entwickler benutzen kann – ohne dich zu fragen.
ENTITÄTEN
Ein Plugin bringt sein eigenes Datenmodell mit und legt es beim Ausrollen an. Es hängt nicht davon ab, dass jemand vorher die richtigen Felder geklickt hat.
04 — Bauen und Ausrollen
Welche Pluginversion in welchem Abbild liegt, ist eine Liste je Instanz. Aus dieser Liste entsteht das Dockerfile bei jedem Bau neu. Ohne sie wäre beim Ausrollen von Plugin B das Plugin A verschwunden – ein Fehler, den man erst bemerkt, wenn eine Seite weiß bleibt und niemand einen Zusammenhang sieht.
05 — Der Assistent
Das ist der Unterschied zu einem allgemeinen Codeassistenten: Er kennt die Schnittstellen dieser Serverversion, die Bauform der Middleware, die Regeln für Entitäten und den Weg zum Ausrollen. Er erfindet deutlich seltener Methoden, die es nur in einem anderen Framework gibt – und wenn, fällt es beim Bau auf.
06 — Was fehlt
Du hast Protokoll, Serverfehler und deine eigenen Ausgaben. Wer schrittweise durch den Code laufen will, tut das lokal in seiner eigenen Entwicklungsumgebung und lädt das Ergebnis hoch. Ja, das ist 2026 eine Zumutung. Es steht trotzdem hier und nicht im Kleingedruckten.
Gebaut wird gegen die Version der Zielinstanz. Ein Plugin, das eine neuere Schnittstelle braucht, wartet auf das Update dieser Instanz.
Was mit der Laufzeit des Servers kollidiert, scheitert beim Bau. Das ist unangenehm, aber ehrlicher als ein Plugin, das erst im Betrieb umkippt – nachts, im Batchjob.
Weiter im Studio
Landschaften, Transport mit Abhängigkeitsprüfung und ein Testplan als Tor.