FLOW3 1.1 Sneak Preview: Form API and -Builder
March 08, 2012
Author: 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 and a screencast!
If you are more the visual type of person, head straight over to the screencast which demonstrates the Form Builder!
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 TYPO3.Form. 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.
If you’re interested in this topic and have further ideas or questions please don’t hesitate to ask here or in the flow3.general mailing list, or just create an issue inthe forge project. And if you’re attending T3DD12 in April you might want to visit our session on the Form Project.
This work has been generously sponsored by AKOM360 - Multi Channel Marketing. Thank you for the great cooperation!