Skip to content
Snippets Groups Projects
  1. Oct 03, 2015
  2. Sep 23, 2015
  3. Sep 17, 2015
  4. Sep 08, 2015
    • Christian Kuhn's avatar
      [!!!][TASK] The FormEngine is dead, long live the FormEngine! · b524fc86
      Christian Kuhn authored
      tl;dr: This patch makes FormEngine insanely flexible, extensions
      however should not rely on structures for now, since class names
      and array content will change.
      
      The patch applies a separation of concerns to the FormEngine
      class structure by extracting the data processing from rendering.
      
      As a main goal the render part consisting of container and element
      classes routed through the flexible NodeFactory only works on data
      created by the new FormDataCompiler class construct. This makes the
      FormEngine much more flexible and opens ways to not only use the render
      part in the context of database driven data, but on anything that is
      fed to it.
      
      This patch creates the main structure for this. The FormDataCompiler
      class returns a defined array container and elements can work on it.
      Data is added by single FormDataProvider, which are combined in
      FormDataGroups. FormDataProvider may depend on each other and a
      FormDataGroup "knows" its providers and calls them in a dedicated order.
      
      For instance, the "FullDatabaseRecord" FormDataGroup first calls a
      provider that fetches the record defined by uid and table name and
      a later called provider determines the given record type this record
      is assigned to, so another provider can then work on TCA to determine
      the list of record fields to be shown. The FormDataProvider used
      for the main FormDataGroup are defined in TYPO3_CONF_VARS, so
      extensions can add and remove their own providers to add or change
      certain data if needed. This is highly flexible and extensions are
      able to hook in at a specific position within the provider chain for
      the main data groups.
      
      This construct obsoletes the DataPreprocessor as well as several
      other side classes.
      
      With this patch the main architecture is created and lots of data
      preparation is transfered already, supported by a high unit test
      coverage.
      
      The FormEngine class itself is removed: The inline ajax entry point
      is moved to an own controller class, the getMainFields() and friends
      methods are substituted with FormDataCompiler / NodeFactory combinations
      and the data gathering is for now parked in a FormResultCompiler class.
      
      However, this process is not yet finished and lots of @todo
      statements are added to the code base to document open ends and to
      further separate the data handling from the render engine. Especially
      the IRRE data handling is currently still located within the render
      engine and makes the whole thing much more complicated than it should
      be. Lots of detail patches need to follow to bring this code
      to a level where it belongs to be.
      
      Warning: While this patch is already insanely huge touching more than
      22 thousands lines of code, lots of loose ends need to be tackled and
      the API is not final yet. The arrays will be reduced and sharpened
      during the next weeks, class names may change and structures will
      change.
      
      Change-Id: Ief1769f478373cc26d1bf6c49114258f0dae8355
      Resolves: #69568
      Releases: master
      Reviewed-on: http://review.typo3.org/41933
      
      
      Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Reviewed-by: default avatarFlorian Peters <fpeters1392@googlemail.com>
      Reviewed-by: default avatarMathias Schreiber <mathias.schreiber@wmdb.de>
      Tested-by: default avatarMathias Schreiber <mathias.schreiber@wmdb.de>
      Reviewed-by: default avatarAlexander Opitz <opitz.alexander@googlemail.com>
      Tested-by: default avatarAlexander Opitz <opitz.alexander@googlemail.com>
      Reviewed-by: default avatarWouter Wolters <typo3@wouterwolters.nl>
      Tested-by: default avatarWouter Wolters <typo3@wouterwolters.nl>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      b524fc86
  5. Sep 07, 2015
  6. Sep 03, 2015
  7. Aug 09, 2015
  8. Jul 22, 2015
  9. Jul 16, 2015
  10. Jul 15, 2015
  11. Jul 14, 2015
  12. Jul 09, 2015
  13. Jul 07, 2015
  14. Jun 26, 2015
  15. Jun 23, 2015
  16. Jun 20, 2015
  17. Jun 05, 2015
  18. May 18, 2015
  19. May 12, 2015
  20. May 09, 2015
  21. May 02, 2015
  22. Apr 27, 2015
  23. Apr 21, 2015
  24. Apr 16, 2015
  25. Apr 15, 2015
  26. Apr 07, 2015
  27. Apr 01, 2015
  28. Mar 30, 2015
  29. Mar 29, 2015
  30. Mar 26, 2015
  31. Mar 11, 2015
  32. Feb 02, 2015
  33. Jan 31, 2015
    • Benjamin Mack's avatar
      [!!!][TASK] Move old mailform to compatibility6 · 65b12009
      Benjamin Mack authored
      Due to the replacement of the better
      EXT:form logic, the fallback and default
      mailform when EXT:form is not installed,
      is moved to compatibility6.
      
      There are certain parts that are migrated
      as well and therefore removed from the
      main core installation.
      
       * Various methods in ContentObjectRenderer,
      and especially TypoScriptFrontendRenderer
      which specifically served the purpose.
       * The FORM Content Object
       * The TCA tt_content mailform configuration
       * The TypoScript from css styled content
       * The newContentElement wizard configuration
       * Related tests to the form-related methods
       * The preview functionality for a mailform in "Web"=>"Page"
      
      The submission class (DataSubmissionController)
      has been moved and renamed as well, and now
      hooks into the checkDataSubmission of TSFE.
      
      Additionally, the related tests to the methods
      have been removed.
      
      Resolves: #64668
      Releases: master
      Change-Id: Iefbaf11322678f811d5c38d82f7d81be56b1d378
      Reviewed-on: http://review.typo3.org/36479
      
      
      Reviewed-by: default avatarJan Helke <typo3@helke.de>
      Tested-by: default avatarJan Helke <typo3@helke.de>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      65b12009
  34. Jan 29, 2015