1. 23 Jul, 2021 1 commit
  2. 18 Jun, 2021 1 commit
  3. 11 Jun, 2021 1 commit
  4. 29 May, 2021 1 commit
  5. 27 May, 2021 1 commit
    • Christian Kuhn's avatar
      [TASK] Deprecate ext:backend ModuleLayout view helpers · 5a456090
      Christian Kuhn authored
      A while after the PHP based ModuleTemplate API has been
      introduced back in 2015, a couple of fluid view helpers
      have been added to ext:backend as a second way to handle
      full backend module content like the doc header.
      It found an example use in ext:beuser.
      
      Development however stopped at this point, the provided
      view helpers are only a sub set of the PHP based API and
      they didn't find broader use within the core - all other
      backend modules stick to the ModuleTemplate based API.
      
      On a structural level, those view helpers are questionable:
      They move functionality to the view component which is
      arguably more a controller task. The ext:beuser module
      proofes this since it had to assign controller knowledge
      like the current action and controller name to the view
      in order to render the doc header module down and shortcut
      buttons.
      
      The patch drops usages of these view helpers in ext:beuser,
      plus the minor usages of the outer ModuleLayout view helper
      in ext:install and ext:belog, substitutes them with the
      PHP ModuleTemplate API within controllers, and deprecates
      the full set of ModuleLayout view helpers.
      
      The change sharpens our separation between controller and
      view: The "outer" module handling like doc header buttons
      and menus are tied to controller logic and should be
      located there, while the module body is rendered by a
      fluid view.
      
      As a bonus, a couple of issues within ext:beuser are
      fixed along the way, since they can now be easily solved
      and were rather hard to tackle with the view helper based
      approach:
      * The beuser module now remembers state and jumps to
        for instance the group sub module when a user selected
        this last. This is now in line with many other backend
        modules that do the same.
      * Shortcuts to single user details work.
      * The main doc header drop down can now contain all possible
        sub modules, including those that are available only
        indirectly, for instance the single user details view.
        This is good when calling these from shortcuts.
      
      Change-Id: Idef3aa6975e97677c1da0cef57f70c855bd2ea9f
      Resolves: #94209
      Releases: master
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69269
      
      
      Tested-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Tested-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Tested-by: Jochen's avatarJochen <rothjochen@gmail.com>
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Reviewed-by: Jochen's avatarJochen <rothjochen@gmail.com>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      5a456090
  6. 01 May, 2021 1 commit
  7. 20 Nov, 2020 1 commit
  8. 14 Nov, 2020 1 commit
  9. 31 Aug, 2020 1 commit
  10. 21 Aug, 2020 1 commit
  11. 03 Aug, 2020 1 commit
  12. 05 Jun, 2020 1 commit
  13. 04 Jun, 2020 1 commit
  14. 31 May, 2020 3 commits
  15. 30 May, 2020 2 commits
  16. 29 May, 2020 4 commits
  17. 26 May, 2020 1 commit
  18. 18 Apr, 2020 1 commit
  19. 16 Apr, 2020 1 commit
  20. 14 Apr, 2020 1 commit
  21. 12 Apr, 2020 1 commit
  22. 04 Apr, 2020 1 commit
  23. 13 Mar, 2020 1 commit
  24. 10 Mar, 2020 1 commit
  25. 06 Mar, 2020 1 commit
    • Benni Mack's avatar
      [TASK] Deprecate Extbase's SignalSlot Dispatcher · bdd8d12a
      Benni Mack authored and Susanne Moog's avatar Susanne Moog committed
      Extbase's SignalSlot Dispatcher has had its good run - it served
      as a possible successor instead of Hooks but lacked a good standardized
      API for stopping propagation, and defining interfaces for slots.
      
      The new PSR-14 based event system has superseded SignalSlot
      logic from Extbase. Everybody is encouraged to not use Signal Slot
      logic anymore. TYPO3 Core does not use SignalSlots anymore, and the
      SignalSlot Dispatcher will be removed in TYPO3 v11.0 - and is therefore
      annotated as deprecated.
      
      Several advantages of PSR-14 over Signal Slot logic defined here again:
      - PSR-14 has a stoppable interface so event listeners can define that an event should not propagate anymore.
      - PSR-14 events are pure and plain PHP classes so it is VERY clear what can be read or modified.
      - TYPO3's implementation is fully compatible with other frameworks PSR-14 event-based system, so everything can be developed against the interface, not a concrete implementation (thanks to DI), and TYPO3 can exchange its own implementation against a different one.
      - All available listeners are registered during "DI-build-time" and not in ext-localconf.php anymore
      which can have an impact on performance.
      
      Please note that using SignalSlot Dispatcher will not trigger a
      deprecation warning as it is still used throughout many extensions.
      
      Resolves: #90625
      Releases: master
      Change-Id: I09764b5056777fd3673a9e158762c9d5a9182997
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63099
      
      
      Tested-by: Daniel Goerz's avatarDaniel Goerz <daniel.goerz@posteo.de>
      Tested-by: default avatarTYPO3com <noreply@typo3.com>
      Tested-by: Susanne Moog's avatarSusanne Moog <look@susi.dev>
      Reviewed-by: Daniel Goerz's avatarDaniel Goerz <daniel.goerz@posteo.de>
      Reviewed-by: Susanne Moog's avatarSusanne Moog <look@susi.dev>
      bdd8d12a
  26. 28 Feb, 2020 1 commit
  27. 18 Feb, 2020 1 commit
  28. 21 Nov, 2019 1 commit
    • Benni Mack's avatar
      [FEATURE] Unified PageTS resolving and parsing · ef8190c5
      Benni Mack authored and Anja Leichsenring's avatar Anja Leichsenring committed
      This change introduces two new API classes relevant for PageTSconfig:
      
      - PageTsConfigLoader
      - PageTsConfigParser
      
      The loader class collects all PageTS found in a rootline, which was
      previously available in two places - BackendUtility and TSFE, although
      they were similar, they were not the same and error-prone in the past.
      
      The previous "TsConfigParser" class had an unusal dependency to
      the BackendConditionMatcher only, which did not even allow to send in
      custom arguments.
      
      The TSFE part is now also evaluating TSconfig conditions properly,
      which was not the case in the past. This part is also now cached properly.
      
      The TSconfig inclusion ("include from the list of TSconfig inclusions")
      functionality is now built into the Info module.
      
      In addition, the hard-coded "ConditionMatcher" is now seamlessly
      injected into the parsing process, allowing
      - Decoupling of Logic and Implementation of parsing in different contexts
      - Making the ConditionMatcher extensible by having a new ConditionMatcherInterface
      
      In the next steps:
      - the UserTsConfig parsing can be applied separately and split from BE_USER
      - ConditionMatcher Interface can be used properly
      - TypoScriptParser can be split up
      - BackendUtility can be cleaned up further.
      
      The following functionality is deprecated:
      - TYPO3\CMS\Core\Configuration\TsConfigParser
      - TYPO3\CMS\Backend\Utility\BackendUtility::getRawPagesTSconfig()
      
      Resolves: #89718
      Releases: master
      Change-Id: Ibd0a2d086d7e5166f16213fa4aadffd41ecb645c
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62349
      
      
      Tested-by: default avatarTYPO3com <noreply@typo3.com>
      Tested-by: Georg Ringer's avatarGeorg Ringer <georg.ringer@gmail.com>
      Tested-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Reviewed-by: Georg Ringer's avatarGeorg Ringer <georg.ringer@gmail.com>
      Reviewed-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      ef8190c5
  29. 15 Nov, 2019 1 commit
  30. 09 Nov, 2019 1 commit
  31. 03 Sep, 2019 1 commit
  32. 26 Aug, 2019 1 commit
  33. 22 Jul, 2019 1 commit
  34. 17 Jul, 2019 1 commit