FlexForms sind seit TYPO3 3.6 eine neue Art Eingabemasken im Backend zu definieren. Sie erlauben mittels XML die Struktur und Funktion eines Formulars zu bestimmen. Ein Vorteil dieser Methode ist es, dass nicht für jedes Eingabefeld im Backend ein entsprechendes Feld in der Datenbank vorhanden sein muss. Dies gibt dem Entwickler die Möglichkeit, Formulare sehr flexibel zu erstellen und zu verwalten. Die Extension DynaFlex erweitert dieses Prinzip, indem sie erlaubt, FlexForms dynamisch beim Aufruf des Formulars zu erzeugen und anzupassen.
FlexForms werden im Normalfall zur Konfiguration von PlugIns benutzt. Dies reicht in den meisten Fällen auch aus, da die Eingaben im Normalfall lediglich zur Konfiguration dienen und im Frontend nicht direkt ausgegeben werden. Es können jedoch Anwendungsfälle auftreten, in denen man dem Benutzer Konfigurationsmöglichkeiten bieten möchte, die davon abhängig sind, welche Daten bereits in der Datenbank vorhanden sind oder davon, was in einem anderen Feld des Formulars eingetragen wurde. Etwa, wenn für jede der eingerichteten Webseitensprachen eine Datei in einem PlugIn hinterlegt werden soll.
Im Rahmen der Entwicklung der "commerce"-Extension (Advanced Shop System) [1] wurden Funktionalitäten gewünscht, die sich mit den gegebenen Möglichkeiten nicht umsetzen ließen. Um die großen Mengen an Daten in komfortablen Backend-Eingabemasken verarbeiten zu können, musste ein Weg gefunden werden, die Formulare im Backend in Abhängigkeit zu vorhanden Daten anzupassen.
Ein Weg, komplexere Eingabemöglichkeiten zu realisieren, sind so genannte „user defined fields“. Diese haben jedoch den Nachteil, dass man sich selbst um die Darstellung und Validierung der Daten kümmern muss. Der elegantere Weg besteht darin, diese Arbeit TYPO3 zu überlassen und stattdessen die Eingabemasken dynamisch zu erzeugen. Man nutzt also die bereits vorhandenen Eingabemöglichkeiten von TYPO3, erzeugt sie aber nach den aktuellen Bedürfnissen der eigenen Anwendung.







