1. 13 Jan, 2022 1 commit
  2. 12 Jan, 2022 1 commit
    • Christian Kuhn's avatar
      [TASK] Simplify Templating Bootstrap in BE Controllers · 37ac299f
      Christian Kuhn authored
      This patch introduces a new EXT:fluid view class
      "BackendTemplateView" to be used as main view for
      backend-related non-Extbase views.
      
      This class is the base of a new non-Extbase and
      non-request dependent backend view. The class is for
      now marked @internal and experimental since we'll
      probably add a factory to configure backend template
      overrides for any backend view later-on.
      
      A few ViewHelpers are changed to work without
      accessing the request if enough VH arguments are provided.
      
      This is the first patch in a series of patches that will
      switch from StandaloneView usages in backend
      controllers to this new BackendTemplateView.
      
      Basic strategy:
      * $view->getRequest()->setControllerExtensionName('SysNote')
        is removed. This is Extbase-specific and not needed nor
        wanted for common non-Extbase controllers.
      * Instantiate the View (for now with makeInstance, will be
        replaced with a factory later-on)
      * Set the needed paths via ->setTemplateRootPaths() etc.
        For these, we *always* use the main extension's entry
        templating paths, for instance
        'EXT:sys_note/Resources/Private/Templates' or
        'EXT:sys_note/Resources/Private/Partials'.
        We do *not* use sub directories here to clear up path
        logic.
      * ->assign() / ->assignMultiple() whatever is needed.
      * ->render('SubDirectory/TemplateName') the actual
        action / template, no '.html' suffix.
      
      As a demo, EXT:sys_note is adapted accordingly which hands
      over arguments to the above mentioned VH's in a way so
      these don't access the request object anymore. The sys_note
      code gets a couple of additional changes so the hooks can
      prepare request dependent arguments and set them as
      template variables (here: returnUrl).
      
      This patch triggers a hidden gem: Since ViewHelpers no
      longer receive an Extbase request, they also don't trigger
      Extbase magic anymore. The casual victim here is
      f:translate, which has already been prepared to not trigger
      Extbase's frontend TypoScript parsing if there is no
      Extbase request. This often improves backend view performance
      by 25% or more, depending on the amount of frontend
      TypoScript to parse.
      
      Further patches will adapt other core backend routes and will
      relate to this patch for reference.
      
      Change-Id: I4fec3ad690452a00e731c9f6928273048397dd89
      Resolves: #96513
      Related: #96473
      Releases: main
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72966
      
      Reviewed-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      Reviewed-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      Tested-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      37ac299f
  3. 11 Jan, 2022 1 commit
  4. 23 Dec, 2021 1 commit
  5. 07 Dec, 2021 1 commit
  6. 03 Dec, 2021 1 commit
  7. 26 Nov, 2021 1 commit
  8. 10 Nov, 2021 1 commit
  9. 03 Nov, 2021 1 commit
  10. 19 Oct, 2021 1 commit
  11. 07 Oct, 2021 1 commit
  12. 06 Oct, 2021 1 commit
  13. 30 Sep, 2021 1 commit
  14. 29 Sep, 2021 1 commit
    • Oliver Bartsch's avatar
      [TASK] Get rid of inline JavaScript in new content element wizard · 71924929
      Oliver Bartsch authored and Benni Mack's avatar Benni Mack committed
      This patch cleans up the NewContentElementController, used
      for the "new content element wizard". All inline JavaScript
      is removed, in favour of a custom web component and an improved
      JavaScript module, handling the two modes (create content
      with known colPos and create content while selecting the
      desired colPos).
      
      Previously, the wizard was triggered by a t3js-* class.
      Since e.g. the fluid based page module related templates
      might be overridden in extension code, a fallback layer
      is present to still support this way of initialization
      in v11.
      
      Due to the necessary refactoring, some related bugs are fixed:
      
      * Accessing the wizard via the context menu now works correctly
      * The "saveAndClose" feature is now also respected in case the
        user has to choose the desired colPos
      * Using a custom wizard endpoint (mod.newContentElementWizard.override)
        does no longer initialize the TYPO3 related JavaScript, which
        previously led to a JavaScript TypeError
      * A duplicated clear "icon" in the elements filter is removed
      
      Resolves: #95277
      Resolves: #95375
      Resolves: #95376
      Releases: master
      Change-Id: I6e9b260938c934222e479c1a93c69ba6f27eec4b
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71318
      
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Oliver Hader's avatarOliver Hader <oliver.hader@typo3.org>
      Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      Reviewed-by: Oliver Hader's avatarOliver Hader <oliver.hader@typo3.org>
      Reviewed-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      71924929
  15. 24 Sep, 2021 1 commit
  16. 22 Sep, 2021 1 commit
  17. 09 Sep, 2021 1 commit
  18. 31 Aug, 2021 1 commit
  19. 13 Aug, 2021 1 commit
  20. 11 Aug, 2021 1 commit
  21. 04 Aug, 2021 1 commit
  22. 03 Aug, 2021 1 commit
  23. 29 Jul, 2021 1 commit
  24. 28 Jul, 2021 1 commit
  25. 22 Jul, 2021 1 commit
  26. 12 Jun, 2021 1 commit
  27. 08 Jun, 2021 1 commit
  28. 26 May, 2021 1 commit
    • Richard Haeser's avatar
      [TASK] Set proper title of window in backend · 2cba0bac
      Richard Haeser authored and Benjamin Franzke's avatar Benjamin Franzke committed
      With the introduction of the new backend module web component router,
      the title of the backend windows will be set to the title of the
      main iframe. Most of the modules didn't provide a proper name though.
      
      For most modules we have a proper name now which will show up in the
      title of the backend window, if no title is propagated by the module,
      the backend router will fallback to the default backend title.
      
      As the format of the title is quite "personal". If you are used to have
      opened more TYPO3 backend windows, you would like to see which
      installation you have open. If you only work in one backend, you
      might want to see on which module you are currently working. It is
      possible to set the order of the title of the backend within your
      user settings now. By default it will be title - siteName [version]
      
      Resolves: #94182
      Releases: master
      Change-Id: I02602650370140217aa252bbd8e29ea4e05d994a
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69172
      
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Jochen's avatarJochen <rothjochen@gmail.com>
      Tested-by: Benjamin Franzke's avatarBenjamin Franzke <bfr@qbus.de>
      Reviewed-by: Jochen's avatarJochen <rothjochen@gmail.com>
      Reviewed-by: Benjamin Franzke's avatarBenjamin Franzke <bfr@qbus.de>
      2cba0bac
  29. 19 May, 2021 1 commit
  30. 06 May, 2021 1 commit
  31. 09 Apr, 2021 2 commits
  32. 05 Apr, 2021 1 commit
  33. 11 Mar, 2021 1 commit
  34. 19 Jan, 2021 1 commit
  35. 04 Jan, 2021 1 commit
  36. 20 Dec, 2020 1 commit
    • Matthias Stegmann's avatar
      [FEATURE] Introduce Bootstrap v5 for TYPO3 Backend · 793fc121
      Matthias Stegmann authored and Benni Mack's avatar Benni Mack committed
      This changes removes the frontend framework
      Bootstrap 3, and adds Bootstrap 5 beta 1 (we
      expect Bootstrap 5 final by the time we release TYPO3 v11 LTS).
      
      Bootstrap v3 is not supported by the Bootstrap
      team any longer, so an update is critical for TYPO3 Core.
      
      Bootstrap v5 adds a few accessibility improvements
      as well as flexbox for rendering
      containers and grids throughout TYPO3 Backend.
      
      All JS components are not bound to jQuery anymore,
      and have been reworked.
      
      A lot of HTML/CSS changes happened, which we
      slowly migrate (and not in a huge change)
      to TYPO3's templates, in order to keep
      this change managable.
      
      A legacy CSS/SCSS file is added to
      keep some backwards-compatibility classes
      to ease the migration for extension developers
      who have built their own backend modules.
      
      Key features of Bootstrap 5:
      * "rem" instead of "px" is used by default
      * CSS variables are introduced
      * Improved bootstrap focus outline styling (buttons / inputs / links)
      * Simplified grid functionality
      * use new button color mixin to increase contrast:
        Primary, Success and Warning Button color is now dark instead of white
      
      EXT:styleguide was used as a basis for
      upgrading to keep compatibility as much
      as possible, but more changes will be coming
      in the next few minor releases.
      
      Resolves: #92616
      Releases: master
      Change-Id: Iec989f39649b5460b055ec879199faf38e424f2b
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66247
      
      Tested-by: default avatarTYPO3com <noreply@typo3.com>
      Tested-by: Benjamin Franzke's avatarBenjamin Franzke <bfr@qbus.de>
      Tested-by: Oliver Hader's avatarOliver Hader <oliver.hader@typo3.org>
      Tested-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      Reviewed-by: Benjamin Franzke's avatarBenjamin Franzke <bfr@qbus.de>
      Reviewed-by: Oliver Hader's avatarOliver Hader <oliver.hader@typo3.org>
      Reviewed-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      793fc121
  37. 17 Dec, 2020 1 commit
    • Oliver Bartsch's avatar
      [!!!][TASK] Rework shortcut PHP API functionality · e4833fda
      Oliver Bartsch authored and Christian Kuhn's avatar Christian Kuhn committed
      To be able to introduce URL rewrites for the backend,
      the internal handling and registration of the shortcut
      PHP API is reworked.
      
      The Shortcut PHP API previously has the full URL of
      the shortcut target stored in the database. This lead
      to many problems such as shortcuts got invalid as soon
      as their target module changed its route path. Furthermore,
      this required unnecessary functionality like replacing
      tokens on URL creation.
      
      Therefore, a shortcut record now stores only the route
      identifier of the module to link to and necessary arguments
      in two new database columns. A upgrade wizard is in place
      to migrate existing data.
      
      The rework also required to deprecate some methods in
      the ShortcutButton API and a parameter signature change
      of the JavaScript function `TYPO3.ShortcutMenu.createShortcut()`
      which performs the AJAX call to create new shortcuts.
      
      Side effect, this also deprecated the last remains of
      xMOD_alt_doc.php in the core.
      
      Resolves: #93093
      Releases: master
      Change-Id: I07666a299651e4953b4adf2987fcd3469094c288
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/67143
      
      Tested-by: default avatarTYPO3com <noreply@typo3.com>
      Tested-by: Daniel Goerz's avatarDaniel Goerz <daniel.goerz@posteo.de>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: Daniel Goerz's avatarDaniel Goerz <daniel.goerz@posteo.de>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      e4833fda
  38. 15 Dec, 2020 1 commit
  39. 14 Dec, 2020 1 commit