[FEATURE] EXT:form - integrate new form framework
The main purpose of this patch is to integrate a flexible framework for building forms. It replaces the legacy 'form wizard' based on ExtJS and the depending frontend rendering system. The new backend 'form editor' relies on vanilla JS and jQuery. Different JS patterns have been applied to ensure a modern architecture, high flexibility and extensibility. A new backend module lists all existing forms and allows the creation of new ones. The 'mailform' content element is reworked. It lists available forms and enables the backend editor to override certain settings, e.g. 'finisher' settings (formerly known as 'postProcessors'). Till now it was not possible to customize and extend the 'form editor'. To allow the registration of new finishers, validators and pre-defined form elements a lot of architectural changes were needed. After a long conceptional phase the team decided to remove the former code base, backport the 'form' package of the Flow project and improve the given concepts. The result is a new form extension. A lot of code received major improvements and tons of additional features have been integrated. The list of features is long and impressive. The documentation - which is part of a future patch - will explain the ideas, concept and architecture as well as the functionality in detail. This patch marks the beginning of a series of patches. Further work is needed to implement a better UI and more tests. The currently integrated element tree cannot be finished for now. We plan to use the new TYPO3 SVG tree but have to wait for the drag and drop implementation. Furthermore, the old form wizard will be moved to a separate extension for backward compatibility. Resolves: #77910 Releases: master Change-Id: Idde8453bc573da835959fa3e51e30f57792d98b0 Reviewed-on: https://review.typo3.org/50311 Tested-by:TYPO3com <no-reply@typo3.com> Reviewed-by:
Bjoern Jacob <bjoern.jacob@tritum.de> Tested-by:
Bjoern Jacob <bjoern.jacob@tritum.de> Reviewed-by:
Ralf Zimmermann <ralf.zimmermann@tritum.de> Tested-by:
Ralf Zimmermann <ralf.zimmermann@tritum.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org> Tested-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Alexander Opitz <opitz.alexander@googlemail.com> Tested-by:
Alexander Opitz <opitz.alexander@googlemail.com> Reviewed-by:
Andreas Häfner <andreas.haefner@tritum.de> Tested-by:
Andreas Häfner <andreas.haefner@tritum.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
Showing
- Build/Resources/Public/Less/form.less 861 additions, 616 deletionsBuild/Resources/Public/Less/form.less
- composer.json 1 addition, 0 deletionscomposer.json
- composer.lock 51 additions, 51 deletionscomposer.lock
- typo3/sysext/core/Documentation/Changelog/master/Feature-77910-EXTform-IntroduceNewFormFramework.rst 54 additions, 0 deletions...aster/Feature-77910-EXTform-IntroduceNewFormFramework.rst
- typo3/sysext/form/Classes/ContentObject/FormContentObject.php 0 additions, 124 deletions...3/sysext/form/Classes/ContentObject/FormContentObject.php
- typo3/sysext/form/Classes/Controller/AbstractBackendController.php 91 additions, 0 deletions...ext/form/Classes/Controller/AbstractBackendController.php
- typo3/sysext/form/Classes/Controller/FormEditorController.php 445 additions, 0 deletions...3/sysext/form/Classes/Controller/FormEditorController.php
- typo3/sysext/form/Classes/Controller/FormFrontendController.php 138 additions, 0 deletions...sysext/form/Classes/Controller/FormFrontendController.php
- typo3/sysext/form/Classes/Controller/FormManagerController.php 463 additions, 0 deletions.../sysext/form/Classes/Controller/FormManagerController.php
- typo3/sysext/form/Classes/Controller/FrontendController.php 0 additions, 342 deletionstypo3/sysext/form/Classes/Controller/FrontendController.php
- typo3/sysext/form/Classes/Controller/WizardController.php 0 additions, 92 deletionstypo3/sysext/form/Classes/Controller/WizardController.php
- typo3/sysext/form/Classes/Domain/Builder/ElementBuilder.php 0 additions, 510 deletionstypo3/sysext/form/Classes/Domain/Builder/ElementBuilder.php
- typo3/sysext/form/Classes/Domain/Builder/FormBuilder.php 0 additions, 579 deletionstypo3/sysext/form/Classes/Domain/Builder/FormBuilder.php
- typo3/sysext/form/Classes/Domain/Builder/ValidationBuilder.php 0 additions, 254 deletions.../sysext/form/Classes/Domain/Builder/ValidationBuilder.php
- typo3/sysext/form/Classes/Domain/Configuration/ConfigurationService.php 61 additions, 0 deletions...orm/Classes/Domain/Configuration/ConfigurationService.php
- typo3/sysext/form/Classes/Domain/Configuration/Exception/PrototypeNotFoundException.php 8 additions, 13 deletions...in/Configuration/Exception/PrototypeNotFoundException.php
- typo3/sysext/form/Classes/Domain/Exception.php 8 additions, 10 deletionstypo3/sysext/form/Classes/Domain/Exception.php
- typo3/sysext/form/Classes/Domain/Exception/IdentifierNotValidException.php 9 additions, 13 deletions.../Classes/Domain/Exception/IdentifierNotValidException.php
- typo3/sysext/form/Classes/Domain/Exception/RenderingException.php 27 additions, 0 deletions...sext/form/Classes/Domain/Exception/RenderingException.php
- typo3/sysext/form/Classes/Domain/Exception/TypeDefinitionNotFoundException.php 28 additions, 0 deletions...sses/Domain/Exception/TypeDefinitionNotFoundException.php
Please register or sign in to comment