Form Framework Initiative

Summary

The main goal of the form framework initiative is to provide a state of the art solution for powerful and extendible forms in TYPO3.

Background

The form framework is part of the core since TYPO3 v8. It provides editors and integrators with an easy way to add even complex forms to any website. The form extension provides both a GUI for creating forms as well as a framework integrators and developers can use to extend the forms with their use cases.During the last couple of years, the adaption of the form framework has increased dramatically from 10 to 90%. Our analysis of the usage provided us with insights into several areas for improvement. These shall be tackled by this initiative.

Goals

  • As an editor I want to be able to edit and create forms on my own. (DONE)
  • As an integrator I want to be able to create form variants to have one form with all translations which is easily maintainable. (DONE)
  • As an integrator I want to be able to create forms that are deployed via my CI server. (DONE)
  • As an editor I want tob e able to edit the email templates which are used by the email finishers.
  • As an editor I want to be able to add rich text like links and accentuations to the labels and descriptions of the form elements.
  • As an editor I want define multiple recipients within the email finishers.
  • As an editor I want to allow the user to attach multiple files to a form upload element.
  • As an editor I want to be able to add conditions to my form to display the field email address only if my form user wants to be contacted via email.
  • As an editor I want to be able to add variants to my form to be able to use different variants depending on my SEO campaign.
  • As an editor I want to have a self-explanatory UI for the form editor to easily add new forms without needing to read documentation.
  • As an editor I want to have a documentation providing me with step-by-step examples and best practices on how to use and create forms.
  • As an integrator I want to be able to configure a form field to read data from the database without needing to program PHP. 
  • As a developer I want to have an API documentation showing me how to use and extend the form framework according to my custom requirements.
  • As an integrator I want to have examples of different form solutions to copy to my project to get fast solutions.
  • As a blind user I want to use accessible forms that my screen reader can use.
  • As a user who prefers the keyboard I want to be able to use tab to go from field to field.
  • As an editor I want to have a responsive UI to be able to create forms while sitting in a meeting with my iPad.
  • As an editor I want to be able to have a history of my forms to be able to revert my actions.
Image about timing (calendar)

Timing

  • Short term goals should be done for 9 LTS.

Scope

Improvements of the Form Framework.

Out of scope

  • Generic Validation Component
  • E-Mail Framework
     

Milestones

  • Pending Condition / Variants patch merged (DONE)
  • Improved Mail Handling
  • Configuration Refactoring
  • YAML imports functionality
  • Component based approach for YAML configuration
  • UI / Concept for Conditions / Variants form editor
  • Implementation of UI for Conditions / Variants
  • New documentation
    • For editors
    • For integrators / developers with examples to copy and best-practice guides
    • For developers showing how to extend form

Get involved!

Team

Björn Jacob 
(Lead)

Mathias Brodala
(Dev)

Ralf Zimmermann
(Dev)

Rachel Foucard
(UX)

Andreas Steiger 
(UI Dev)

You?