GREY Proposal for an improved Form moduleGREYAllow building web applications with a better, more flexible form module in Magnolia. NEEDS REVIEW
Forms before Magnolia 4 are very basic. The 4.0 release of Magnolia adds a form module with some added functionality, however it is still a basic form handler aimed to send emails.
An extended form handler should allow a content editor and a developer to create a form based application within Magnolia and then tie the application to a backend for further application handling. This type of form building should allow Magnolia to break out of the web content management into a content platform targeted for easy web application building.
Goals of an advanced form module:
- multi page form handler (support of rules to enable pages in a flow)
- multiple forms per page support
- conditional fields (enable/disable fields based on other fields or conditions)
- choices driven from repository (data or configuration), adapters or inline data
- a form is considered one paragraph and edited at once (easier editing)
- drag and drop form creation (multi row capable)
- file upload is working even if there is an error (direct upload, tracking of time to upload)
- AJAX support for related changes on the screen according to a selection
- wysiwyg multiline text editing
- error messages customized per field
- row based and field/label based rules
- simple data structure for rendering purpose with different frameworks
- list editing (repeating sections for multi row data entries)
- client and server side field validation
The form handling is intended to provide an abstract base for any type of module needing forms on a website. An example module could be a contact module logging and reporting all contacts in the data module and preparing the information for reporting and export (emails for mailing list for example).
The ideas listed above are taken from the work that went intohttp://www.cbciplan.comand other form based projects implemented with Magnolia. The form handling within the exposed web site should be at least as good if not better than the form handling used within the management console for the CMS.