Plugin form element
Regelbasierte Konfiguration so bereitstellen, dass Admins und Redakteure Bedingungen selbst kombinieren können, ohne jedes Mal ein Entwicklungsticket zu brauchen.
Worum geht es hierbei?
Disclaimer
Dieses Modul ist extrem technisch und abstrakt. Solche Module haben ihre Daseinsberechtigung im Drupal-Kosmos, sind aber schwer zu beschreiben. Sie vereinheitlichen "unter der Haube" Dinge, die sonst nicht einheitlich genug sind, verkĂŒrzen Bearbeitungswege fĂŒr Devs und machen komplexe Dinge wiedererkennbar.
Wir beschreiben dieses Modul anhand des besser greifbaren Anwendungsbeispiels Conditions, welches unmittelbar darauf aufbaut. Plugin form element ist dafĂŒr eine fĂŒr Redaktionen unsichtbare, aber technisch sinnvolle Voraussetzung.
Die Ausgangslage: Wenn Konfiguration ohne Entwickler möglich sein soll
In vielen Drupal-Projekten gibt es Inhalte oder Funktionen, die nicht einfach nur published oder unpublished (veröffentlicht / nicht veröffentlicht) sind. Sie hĂ€ngen von Bedingungen ab. Ein Banner soll nur fĂŒr eingeloggte Nutzer erscheinen. Eine Benachrichtigung soll nur an Kunden aus Deutschland gehen. Ein Prozessschritt soll nur fĂŒr bestimmte Nutzergruppen aktiv sein.
In der Praxis passiert dann oft etwas Unschönes: Jedes Mal, wenn eine neue Kombination aus Regeln gebraucht wird, muss ein Entwickler ran. Nicht, weil die Logik so kompliziert wĂ€re, sondern weil die Konfigurationsmaske fehlt oder jedes Mal neu gebaut werden muss. Jeder, der zusĂ€tzliche Conditions bereitstellen möchte fĂŒr eine Logik, muss normalerweise die hardcoded Conditions replizieren und eigene hinzufĂŒgen.
Das bremst Entwicklungsteams aus. Anpassungen werden teurer als sie sein sollten. Und aus âkönnten wir kurzâ wird schnell âmachen wir im nĂ€chsten Sprintâ.
Das konkrete Problem: Regeln sind da, aber die BedienoberflÀche fehlt
Drupal kann viel. Vor allem, wenn es um Plugins, Bedingungen und erweiterbare Logik geht. Der Haken ist hĂ€ufig nicht die Technik im Hintergrund, sondern die Ăbersetzung in eine OberflĂ€che, die im Alltag funktioniert.
Wenn jede neue Regel oder Regelkombination eine eigene Formularlogik braucht, entsteht ein wiederkehrendes Muster:
- Anforderungen Àndern sich laufend, weil Inhalte, Kampagnen oder interne Prozesse dynamisch sind.
- Das Team braucht eine Lösung, die Admins selbst bedienen können.
- Trotzdem landet jede Ănderung in der Entwicklung, weil die Konfiguration nicht flexibel genug ist.
Genau hier setzt Plugin form element an.
Warum war das nötig?
Wir haben in mehreren Projekten dieselbe Aufgabe immer wieder neu gelöst: flexible, regelbasierte Konfiguration fĂŒr Admins zugĂ€nglich machen.
Statt das jedes Mal projektspezifisch zu entwickeln, haben wir den Baustein einmal gebaut und als Contrib-Modul veröffentlicht. NatĂŒrlich Open Source. So wird er ĂŒber viele Projekte hinweg stabiler und kann von der Community weiter genutzt und verbessert werden.
Was sind die Vorteile?
- Weniger Entwicklungstickets fĂŒr Routine-Anpassungen: Regeln hinzufĂŒgen, anpassen oder entfernen geht per OberflĂ€che.
- Schnellere ReaktionsfÀhigkeit im Alltag: Teams können Anforderungen aus Marketing, Redaktion oder Betrieb kurzfristig umsetzen.
- Einheitliche Bedienlogik in groĂen Plattformen: Konfigurationspunkte folgen einem konsistenten Muster, statt jedes Mal anders zu funktionieren.
- Erweiterbar ohne UI-Neubau: Kriterien wie Sprache, Nutzerrolle, URL oder projektspezifische Bedingungen lassen sich ergÀnzen und tauchen automatisch in der OberflÀche auf.
- Wiederverwendbar: Einmal gelernt, kann der Baustein in vielen Drupal-Setups eingesetzt werden. Auch andere Module wie z.B. das eingangs erwÀhnte Conditions, bauen darauf auf.
Beispiele fĂŒr die Anwendung
Personalisierte Inhalte: Setup, Problem, Einsatz, Ergebnis
Ein Redaktionsteam betreibt eine mehrsprachige Website mit Login-Bereich. FĂŒr eine Kampagne soll ein Hinweisbanner nur bei bestimmten Besuchern erscheinen: eingeloggte Nutzer, bestimmte Rolle, bestimmte Sprache oder nur auf ausgewĂ€hlten Seiten.
Ohne einen geeigneten Konfigurationsbaustein lÀuft es oft auf Sonderlösungen hinaus. Jedes Banner braucht eigene Felder, eigene Formlogik und am Ende doch wieder ein Ticket.
Mit Plugin form element wird die Regel-Logik als konfigurierbare OberflĂ€che bereitgestellt. Admins kombinieren die Bedingungen selbst, passen sie bei Bedarf an und schalten Varianten um, ohne dass die Konfigurationsmaske dafĂŒr neu gebaut werden muss.
Das Ergebnis: Ănderungen passieren dort, wo sie hingehören. Im Betrieb, nah an der Anforderung, ohne Umweg ĂŒber die Entwicklung.
Weitere Anwendungen im selben Setup
- Regelbasierte Prozesse: Workflows oder automatische Aktionen lassen sich ĂŒber eine ĂŒbersichtliche OberflĂ€che konfigurieren, ohne jedes Mal neue Entwicklung einzuplanen.
- Plattformen mit vielen Konfigurationspunkten: GroĂe Drupal-Installationen bekommen eine wartbare, einheitliche Lösung, statt einer Sammlung individueller Formulare.
- Produktentwicklung mit Drupal: Agenturen und Produktteams nutzen den Baustein als gemeinsame Basis, die in unterschiedlichen Projekten wieder funktioniert.
Screenshot
Plugin form elements finden im Drupal-Backend statt. Im Screenshot sieht man rechts beispielhaft das Plugin-Formular einer "Timebased" condition. DafĂŒr ist zusĂ€tzlich das Conditions Modul erforderlich.
Links ist der Kern des Moduls erkennbar: Anstatt auf die Standard-Conditions angewiesen zu sein, können Redakteur:innen eigene hinzufĂŒgen und nicht benötigte weglassen. Normalerweise sieht man hier einen Standard-Satz, der umstĂ€ndlich via Deployments angepasst werden muss. Mit unserem Modul wird daraus ein konfigurierbarer und komplett flexibler Bereich.
Fazit
Plugin form element ist ein Grundlagenmodul. Es vereinheitlicht vor allem fĂŒr Entwickler:innen Workflows bei der Erstellung von Modulen oder Integrationen wie dem genannten Beispiel Conditions.
FĂŒr Endnutzer:innen ist davon nichts sichtbar. Das ist aber auch nicht nötig, denn die Freude kommt auf, wenn Redaktionsprozesse durch solche Module und die darauf aufbauenden im Endeffekt vereinfacht werden.
Typ
Contrib ModuleWeitere Contributions
Sichtbare Beteiligung: Zeige unter jedem Beitrag, wer zugestimmt hat, statt nur einer Zahl.
Sichtbare Beteiligung: Zeige unter jedem Beitrag, wer zugestimmt hat, statt nur einer Zahl.
Starre Inhalts-Layouts regelbasiert dynamisch anreichern und erweitern
Starre Inhalts-Layouts regelbasiert dynamisch anreichern und erweitern
Zentrale Bedingungslogik, um Regeln wie Sprache, Seiten, Datum und mehr einheitlich redaktionell zu nutzen.
Zentrale Bedingungslogik, um Regeln wie Sprache, Seiten, Datum und mehr einheitlich redaktionell zu nutzen.