FLOW3 1.1 Sneak Preview: Form API and -Builder

Categories: Development Created by Bastian Waidelich and Sebastian Kurfürst

FLOW3 1.1 will contain a powerful framework to create web forms, along with a graphical IDE for creating and editing them. Read on for details!

Webforms are a vital component of every interactive internet application. While a lot has changed with the popularization of AJAX and other Web 2.0 building blocks, forms are still the main way to enable data transmission from client to server.

In the current TYPO3 backend forms are also a central element, implemented by the two “giants” $TCA (Table Configuration Array) and TCE (TYPO3 Core Engine). Since version 4.6, we have a Form wizard that allows editors to intuitively create complex forms with validation rules for the frontend.

For Phoenix we wanted to have a common, well defined, API that can be used by all forms of the system itself (Configuration, Records, Setup, …) as well as by developers and editors.

In the last few weeks we had the chance to work on exactly that. We’re very happy to announce that we have just published the first preview of the Form Project, which will be part of FLOW3 1.1.

It consists of three individual parts:

1. Form API

The Form API is defined in the FLOW3 package. It is the base package of the Form Project and the only one that is required if you want to work with forms. It contains the following features:

  • Ready-to-use standard form elements
  • Creation of Multi-Step Forms
  • Server- and Client-Side Validation
  • highly flexible rendering of form elements, based on Fluid (or your custom renderer)
  • Extensible with new form elements
  • customizable Finishers which post-process the submitted information
  • robust, object oriented API
  • seamless integration with FLOW3

2. Form Example

The TYPO3.FormExample package serves as working demonstration for the tutorials of the Form documentation. It contains a handful of examples that illustrate some common use cases one can realize with the Form API. Besides, we use this package in order to assure the operability of the framework - in addition to the many unit and functional tests.

3. Form Builder

The Form Builder located in the package TYPO3.FormBuilder is the GUI that allows you to create complex interactive forms in the blink of an eye. It makes most of the API features available through a slick interface with drag and drop support and it allows you to save the created forms in various formats.

Closing Notes

If you’re interested in this topic and have further ideas or questions please don’t hesitate to ask here or in the mailing list, or just create an issue in he forge project. And if you’re attending T3DD12 in April you might want to visit our session on the Form Project.

Credits

This work has been generously sponsored by AKOM360 - Multi Channel Marketing. Thank you for the great cooperation!