This project is mirrored from https://git.typo3.org/typo3/typo3.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 17 Oct, 2015 1 commit
  2. 08 Oct, 2015 2 commits
  3. 06 Oct, 2015 1 commit
  4. 05 Oct, 2015 1 commit
  5. 28 Sep, 2015 1 commit
  6. 20 Sep, 2015 1 commit
  7. 12 Sep, 2015 1 commit
  8. 10 Sep, 2015 1 commit
  9. 09 Sep, 2015 1 commit
  10. 08 Sep, 2015 1 commit
    • 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: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Tested-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Reviewed-by: default avatarFlorian Peters <fpeters1392@googlemail.com>
      Reviewed-by: Mathias Schreiber's avatarMathias Schreiber <mathias.schreiber@wmdb.de>
      Tested-by: Mathias Schreiber's avatarMathias Schreiber <mathias.schreiber@wmdb.de>
      Reviewed-by: Alexander Opitz's avatarAlexander Opitz <opitz.alexander@googlemail.com>
      Tested-by: Alexander Opitz's avatarAlexander Opitz <opitz.alexander@googlemail.com>
      Reviewed-by: Wouter Wolters's avatarWouter Wolters <typo3@wouterwolters.nl>
      Tested-by: Wouter Wolters's avatarWouter Wolters <typo3@wouterwolters.nl>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      b524fc86
  11. 07 Sep, 2015 2 commits
  12. 04 Sep, 2015 3 commits
  13. 02 Sep, 2015 1 commit
  14. 01 Sep, 2015 1 commit
  15. 12 Aug, 2015 1 commit
  16. 06 Aug, 2015 2 commits
  17. 18 Jul, 2015 2 commits
  18. 17 Jul, 2015 1 commit
  19. 16 Jul, 2015 1 commit
  20. 13 Jul, 2015 1 commit
  21. 01 Jul, 2015 1 commit
  22. 26 Jun, 2015 1 commit
  23. 16 Jun, 2015 1 commit
  24. 03 Jun, 2015 1 commit
    • Christian Kuhn's avatar
      [!!!][FEATURE] FormEngine: The extendables · 0ee65b8f
      Christian Kuhn authored and Anja Leichsenring's avatar Anja Leichsenring committed
      For details, see the ReST files with examples for new API
      and TCA changes.
      
      * Split TCA config "type" to "type" and "renderType":
        TCA config "type" is a technical debt since it both defines the
        database storage as well as the widget that is used to render
        a certain field in FormEngine. While "type" is kept, the
        render widget is now extracted to a "renderType".
      
      * t3editor uses this "renderType" now. type=text with
        renderType=t3editor will call the new T3editorElement provided
        by ext:t3editor, and falls back to TextElement if t3editor is
        not loaded.
      
      * t3editor is now enabled for "setup" and "constants" of
        sys_template records if opening the whole record.
      
      * t3editor now works when configured in a flex form.
      
      * Introduce an API in FormEngine NodeFactory to register new
        renderType, used by t3editor.
      
      * Introduce a resolver API in FormEngine NodeFactory to change
        the class that renders a widget or container.
      
      * Split TextElement into TextElement that only renders a textarea
        and RichTextElement provided by ext:rtehtmlarea that renders RTE.
        ext:rtehtmlarea uses the new resolver API to route rendering to
        its own class in case RTE is enabled and configured for a field.
      
      * In TCA section "types" a new array "columnsOverrides" is
        introduced that allows overwriting some column configurations
        of fields. Currently, this works for some View/FormEngine related
        settings like renderType and defaultExtras.
      
      * TCA Migration is introduced to dynamically rewrite TCA before
        it is put into cache.
      
      * TCA migration is called a second time in ext:compatibility6 in
        case TCA is still registered via ext_tables.php. This has performance
        penalty since it is done on every frontend and backend call.
      
      * TCA migration is also called dynamically for flex form definitions.
      
      * TCA migration moves configured t3editor wizards to type=text with
        renderType=t3editor.
      
      * TCA migration removes the 5th parameter "style pointer" from
        types showitem
      
      * TCA migration moves the 4th showitem parameter "extra configuration"
        to "defaultExtras" of "columnsOverrides" of given TCA type.
      
      Change-Id: Ia2c2bc16463a01021c7a6be765b4efa872a130fd
      Resolves: #67229
      Releases: master
      Reviewed-on: http://review.typo3.org/39662
      
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: default avatarFrank Nägler <typo3@naegler.net>
      Tested-by: default avatarFrank Nägler <typo3@naegler.net>
      Reviewed-by: Markus Klein's avatarMarkus Klein <markus.klein@typo3.org>
      Tested-by: Markus Klein's avatarMarkus Klein <markus.klein@typo3.org>
      Reviewed-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Tested-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      0ee65b8f
  25. 18 May, 2015 2 commits
  26. 11 May, 2015 1 commit
  27. 28 Apr, 2015 1 commit
    • Christian Kuhn's avatar
      [!!!][TASK] House of forms · 736cbfc9
      Christian Kuhn authored
      This patch introduces a structural code refactoring to the
      FormEngine class and its related friend classes.
      
      FormEngine used to call itself over and over again with itself
      and sub classes writing to public properties of FormEngine keeping
      a global state that is then magically merged to sometimes working
      output.
      
      The patch introduces a tree approach with lots of small containers
      doing an encapsulated part of the rendering process and calling
      sub containers for inner details.
      As main construct a "globalOptions" array is modified in containers
      and given down to sub containers (tree knots) or elements (leaves),
      while sub structures always return a defined array that is
      merged by the parent and accumulates the full result.
      Goal is to have a better encapsulated code structure with better
      visible impact on changes done to this system.
      
      The patch creates this main structure. There is still a lot of
      mess around and additional patches can further improve the overall
      situation with smaller changes.
      
      Change-Id: I56b898dc0eaae8de4d31016997cfefe8d14ec53e
      Releases: master
      Resolves: #63846
      Resolves: #63854
      Resolves: #63856
      Resolves: #63858
      Resolves: #63859
      Resolves: #63860
      Resolves: #63861
      Resolves: #63862
      Resolves: #63863
      Resolves: #63865
      Resolves: #63876
      Resolves: #63881
      Resolves: #63882
      Resolves: #63883
      Resolves: #63893
      Reviewed-on: http://review.typo3.org/38433
      
      Reviewed-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Tested-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Reviewed-by: default avatarMarkus Klein <klein.t3@reelworx.at>
      Tested-by: default avatarMarkus Klein <klein.t3@reelworx.at>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      736cbfc9