This project is mirrored from git://git.typo3.org/Packages/TYPO3.CMS.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. 02 Aug, 2021 1 commit
    • Oliver Bartsch's avatar
      [FEATURE] Introduce TCA type "category" · 1e7653ce
      Oliver Bartsch authored and Benni Mack's avatar Benni Mack committed
      A new TCA type "category" is introduced, which
      allows to simplify the configuration of category
      TCA columns. Besides the benefit for integrators,
      this allows to deprecate the CategoryRegistry
      in the next step.
      
      The new type can also be used for other use cases.
      Therefore, the TCA option "relationship" is available
      for this TCA type. Besides "manyToMany" (default), this
      can also be set to "oneToOne" or "oneToMany".
      
      Using the new type, FormEngine will always render a
      category tree. This means, no additional `renderType`
      is defined. In such case, TCA type "select" can
      still be used as before, without any limitation. However,
      all relevant places in core are adjusted in this patch.
      
      The category element is rendered through a custom element
      (web component), reducing inline javascript.
      
      Resolves: #94622
      Releases: master
      Change-Id: I1b95c42288b070fa6bac114266f5ad246a045b21
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69899
      
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      1e7653ce
  2. 28 Jul, 2021 1 commit
  3. 21 Jul, 2021 1 commit
  4. 20 Jul, 2021 1 commit
  5. 12 Jul, 2021 2 commits
  6. 09 Jul, 2021 2 commits
  7. 29 Jun, 2021 3 commits
    • Oliver Bartsch's avatar
      [BUGFIX] Extract switch user handling from EXT:beuser · 70f8559a
      Oliver Bartsch authored and Benni Mack's avatar Benni Mack committed
      The switch user handling was previously placed in EXT:beuser,
      more precisely in the BackendUserControllers' indexAction.
      It was therefore necessary to link to the extbase based
      controller with a mix of prefixed arguments and the non
      prefixed "switchUser" argument. Latter was internally
      evaluated with GU:_GP(). This means, switching users was
      done via GET requests in an extbase action, but only in
      case a non extbase prefixed argument was set.
      
      In #94209 this got worse when the BackendUserGroupController
      was merged into BackendUserController. Since this controller
      features a "remember my last action" functionality, switch user
      could no longer reliably be triggered. The evaluation of the
      non extbase prefixed "switchUser" argument only took place in
      the "user listing" (indexAction) and the success of the call
      therefore depended on the users' last called action, as this
      action was automatically used.
      
      This patch now extracts the switch user functionality fr...
      70f8559a
    • Oliver Bartsch's avatar
      [TASK] Avoid usages of sys_language in site configuration · da9c6df5
      Oliver Bartsch authored and Benni Mack's avatar Benni Mack committed
      This patch removes the last remains of sys_language in the
      site configurations' TCA.
      
      Therefore, the TCA of `site` and `site_langauge` is changed
      to always retrieve possible site languages via an itemsProcFunc,
      instead of using a relation to sys_language.
      
      As new site languages now have to be created in the module
      directly, a new internal TCA type "siteLanguage" is introduced.
      The new type behaves similar to type "inline", but contains some
      necessary features, e.g. unique record selector box next to a
      "create new" button, which are not available in type "inline".
      Also some not needed functionality is omitted.
      
      Instead of the sys_language records, all available site languages
      from all existing site configurations are now presented in the
      selector box. On selecting one of them, a new site language record
      is created, with most of the fields pre filled.
      
      Resolves: #94399
      Releases: master
      Change-Id: I60ac5b4259aa3c9d90a4aba9881bc1dc2341b464
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69188
      
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      da9c6df5
    • Jochen Roth's avatar
      [BUGFIX] Undefined array key in install tool · fb67447d
      Jochen Roth authored and Christian Kuhn's avatar Christian Kuhn committed
      A click on "Image Processing", "Configure Installation-Wide Options"
      or "Configuration Presets" in the install tool returns
      an error in PHP8.
      
      Add fallback for unefined array keys to workaround
      the array undefined key warnings.
      
      Add acceptance tests for InstallTool -> Settings module
      to make sure settings of each card can be loaded and saved.
      
      Resolves: #94425
      Releases: master
      Change-Id: Icf3b11b0e4c490f8054605cd531f77906dfa7ac6
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69633
      
      Tested-by: Benni Mack's avatarBenni Mack <benni@typo3.org>
      Tested-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      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>
      fb67447d
  8. 14 Jun, 2021 1 commit
  9. 11 Jun, 2021 1 commit
  10. 10 Jun, 2021 1 commit
  11. 08 Jun, 2021 1 commit
    • Oliver Bartsch's avatar
      [FEATURE] Simplify sharing of backend urls · 24f43811
      Oliver Bartsch authored and Benni Mack's avatar Benni Mack committed
      Atfer a lot of preperation in #93048 and #93988,
      it's finally possible to share URLs to TYPO3 backend
      modules. Even special modules such as FormEngine.
      
      To ease the use for editors, the ShortcutButton
      is extended for a new option. If enabled, which
      is the default behaviour, the shortcut button
      in the module header is replaced. The new button
      allows to open a dropdown with the additional
      possibility to copy the URL of the current
      page to the operating systems' clipboard. Next
      to the already exisiting "Add shortcut" option.
      
      Since those URLs should not contain the user
      specific token, the UriBuilder features a new
      constant "SHAREABLE_URL". If set as $referenceType
      in one of the supporting methods, e.g. buildUriFromRoute(),
      an absoulte URL without the token is returned.
      
      To copy the URL to the operating systems' clipboard,
      a new web component "CopyToClipboard" is introduced.
      This component is added without any dependency to
      the URL sharing functionality and can ther...
      24f43811
  12. 07 Jun, 2021 1 commit
  13. 01 Jun, 2021 2 commits
  14. 30 May, 2021 1 commit
  15. 27 May, 2021 1 commit
  16. 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
  17. 19 May, 2021 1 commit
    • Benjamin Franzke's avatar
      [TASK] Streamline spinner web component size and animation · 1cfbf51a
      Benjamin Franzke authored
      This change performs the following optimizations:
      
      * Detach spinner from content flow using a relative+absolute
        position normalization, allowing an equivalent positioning
        to the regular backend icons.
        This is to ensure that both, <typo3-backend-spinner> and
        <typo3-backend-icon> render equally when used in inline(-block)
        containers (for example .svg-toolbar__drag-node).
        <typo3-backend-spinner> used to cause vertical alignment offsets,
        when the spinner was positioned in inline text-flow and therefore
        caused the vertical flow to cause offsets.
      
      * Add a variant="light|dark" attribute to select
        between the available TYPO3 spinner variants.
        By default the current color is now used.
      
      * Adapt sizing to inherit size from current font-size when used
        without a specific size attribute. Also apply that to the
        backend icon component to stay interchangeable.
      
      * Render spinner via SVG and only animate the spinning part
        instead of the entire shape. This is to avoid the bouncing-icon
        effect that CSS animations on the entire element cause
        (as often seen with font-awesome spinners for example).
      
      Releases: master
      Resolves: #94149
      Change-Id: I00d2e4915a0644726f78abe485fd9e276b539259
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69162
      
      Tested-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Tested-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Benjamin Franzke's avatarBenjamin Franzke <bfr@qbus.de>
      Reviewed-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: Christian Kuhn's avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: Benjamin Franzke's avatarBenjamin Franzke <bfr@qbus.de>
      1cfbf51a
  18. 17 May, 2021 1 commit
  19. 14 May, 2021 2 commits
  20. 13 May, 2021 2 commits
  21. 11 May, 2021 1 commit
  22. 03 May, 2021 2 commits
  23. 02 May, 2021 1 commit
  24. 01 May, 2021 2 commits
  25. 30 Apr, 2021 1 commit
    • Benjamin Franzke's avatar
      [FEATURE] Introduce backend module web component router · de74be87
      Benjamin Franzke authored
      A custom Lit-based web componenent router is added which
      reflects module URLs into the browser adress bar and
      at the same time prepares for native web components to
      be used as future iframe module alternatives.
      
      Such modules will be implemented as JavaScript modules,
      that provide an implementation for a custom HTML Web
      Component. The first of such components (added within
      this change) is a wrapper component for traditional
      iframe-based backend modules.
      
      Module state changes are advertised via DOM events and
      propagated to the browser address bar, browser title,
      and the module menu.
      
      Adress bar updates
      ==================
      
      The module URL to address bar synchronisation enables sharable
      module deeplinks to be copied from the browser address bar.
      Whenever a component advertises a state change (e.g.
      iframe change), a sharable deep link is generated and
      shown in the browser adressbar.
      
      Technical preparation for the required deeplinking has been
      added with #93674.
      
      History Management
      ==================
      
      Browser history state is managed via the iframe
      history context of the content module frame
      (that is unlike other modern Single Page Applications
      which use history.pushState and history.replaceState).
      
      This approach required some synchronisation work, but there are
      technical limitations that prevent a combination of iframe history
      updates in combination for newer API like history.pushState.
      (The limitation is: state added by history.pushState is skipped
      by iframe history handling).
      
      The advantage of this compromise is: All "traditional" modules will
      preserve their state handling as before, no breaking/behavioral
      changes for iframe-based modules.
      
      Routing
      =======
      
      The router uses two parameters to perform routing:
       * module – Module name as defined in ext_tables.php
       * endpoint – (json) api to be used by the component (= module URL)
      The module attribute is used to perform the actual routing
      to the respective backend module component, while the endpoint
      attribute serves as API to parse/fetch the state of the module.
      
      A named slot is used to switch between the available module components.
      That means only one of the routers childNodes will be visible at a
      time, while all modules are actively attached to the DOM.
      State is therefore preserved when switching between modules
      and the iframe is always kept active, allowing to act as history
      state-container (as described in "History Management").
      
      Example of two modules that are attached to the DOM, where
      only <typo3-configuration-module> is visible as the <slot>
      in the shadow root puts a reference to this childNode:
      
      <typo3-backend-module-router module="system_config" endpoint="…">
        #shadow-root
          <slot name="TYPO3/CMS/Lowlevel/ConfigurationModule"></slot>
        <typo3-iframe-module endpoint="…"
          slot="TYPO3/CMS/Backend/Module/Iframe"></…>
        <typo3-configuration-module endpoint="…"
          slot="TYPO3/CMS/Lowlevel/ConfigurationModule"></…>
      </typo3-backend-module-router>
      
      Note: The "TYPO3/CMS/Lowlevel/ConfigurationModule" component is not
      yet part of this commit, and only serves as an example (will be
      implemented later on). The slot name is resolved from
      the module key.
      
      Out of scope for this patch (will follow later)
      ===============================================
      
       * Link based routing interception via data-module tag for anchor tags.
         To be added as an additional convenience API on top of the
         router module and endpoint attribute (current API).
       * Convenience components for module layout
       * Integration into shortcut handler
       * Install-tool URLs do not reflect into addressbar right now
         Install-tool modules are redirected, therefore url updates can not
         be mapped as backend URLs right now
         Solution will probably be to integrate the install tool
         components as web component into the backend.
      
      Resolves: #93988
      Related: #93674
      Releases: master
      Change-Id: I682e89649b597c8c74b6a0a8f198f6bcf5bbc347
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/67464
      
      Tested-by: core-ci's avatarcore-ci <typo3@b13.com>
      Tested-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Tested-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
      Tested-by: Benjamin Franzke's avatarBenjamin Franzke <bfr@qbus.de>
      Reviewed-by: Oliver Bartsch's avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
      Reviewed-by: Benjamin Franzke's avatarBenjamin Franzke <bfr@qbus.de>
      de74be87
  26. 27 Apr, 2021 1 commit
  27. 23 Apr, 2021 3 commits
  28. 22 Apr, 2021 1 commit
  29. 20 Apr, 2021 1 commit