Glossar

FlexForm

Zusätzliche Einstellungsfelder pro Datensatz, gespeichert als XML in einer einzelnen Datenbankspalte.

Wofür FlexForms gedacht sind

Manche Einstellungen gelten nicht für eine ganze Tabelle, sondern nur für einzelne Datensätze eines bestimmten Typs. Ein Plugin, das eine Liste ausgibt, braucht vielleicht die Anzahl der Einträge pro Seite und eine Sortierrichtung. Andere Inhaltselemente brauchen diese Felder nie.

Für solche Fälle bietet FlexForm eine eigene Feldstruktur an, die nur bei diesem Typ erscheint und in einer einzigen Spalte abgelegt wird.

Wie es sich im Backend zeigt

Für die Redaktion ist der Unterschied kaum sichtbar. Die Felder erscheinen wie andere auch, meist in einem eigenen Reiter des Datensatzes.

Diese Unauffälligkeit ist der Grund, warum FlexForm gern für mehr eingesetzt wird, als sinnvoll ist. Wenn die Zahl der Felder wächst, wird aus einer praktischen Ergänzung eine schwer wartbare Konstruktion.

Grenzen im Blick behalten

Zwei Dinge sollte man vorher wissen. Erstens sind die Werte nicht ohne Weiteres durchsuchbar, weil sie in XML stecken. Zweitens ist eine spätere Strukturänderung Handarbeit, weil bestehende Datensätze nicht automatisch mitwandern.

Wer das einkalkuliert, hat mit FlexForm ein nützliches Werkzeug. Wer es als bequemen Ersatz für richtige Felder benutzt, zahlt später dafür.

Häufige Fragen

Wann nimmt man FlexForm und wann ein normales Feld?

Ein normales Feld ist die bessere Wahl, wenn der Wert für alle Datensätze der Tabelle sinnvoll ist und wenn danach gesucht oder sortiert werden soll. Solche Werte gehören in eine eigene Spalte.

FlexForm passt für Einstellungen, die nur für eine bestimmte Variante eines Elements gelten, etwa die Anzeigeoptionen eines einzelnen Plugins. Dafür eine Spalte anzulegen, die bei allen anderen Datensätzen leer bleibt, wäre unverhältnismäßig.

Warum gilt FlexForm als unhandlich?

Weil die Werte als XML in einer Spalte liegen. Sie lassen sich dadurch nicht ohne Weiteres per Datenbankabfrage auswerten, und Änderungen an der Struktur wirken sich nicht automatisch auf bereits gespeicherte Datensätze aus.

Wer ein Feld umbenennt, findet es in bestehenden Datensätzen unter dem alten Namen wieder. Solche Migrationen muss man bewusst einplanen.

Einstellungen, die niemand mehr überblickt?

Wenn FlexForms zur Sammelstelle geworden sind, lohnt sich ein Blick darauf, was davon in richtige Felder gehört.