Skip to content
Snippets Groups Projects
  1. Sep 11, 2024
  2. Jul 06, 2024
    • Christian Kuhn's avatar
      [FEATURE] Add default TCA columns from ctrl · 2c0df92f
      Christian Kuhn authored
      This patch adds a layer to the "load and create final TCA"
      process. When "base" TCA files in 'Configuration/TCA' define
      'ctrl' capabilities like 'languageField=sys_language_uid',
      these fields need according 'columns' definitions.
      
      The core now adds default definitions of such columns
      if they do not exist after loading 'Configuration/TCA'
      files, and before loading 'Configuration/TCA/Overrides'
      files.
      
      Developers no longer need to define such columns and
      can rely on core adding them, if a capability is
      enabled in 'ctrl'. There are two advantages: First,
      it adds a level of control for these columns away
      from extensions to the core, which is good for
      future development in this area. Secondly, extension
      developers no longer need to take care of nasty
      configuration details of these columns and can
      remove lots of boilerplace TCA definitions that had
      to be maintained manually before. The patch shows
      this: About 6000 lines of TCA definitions can be
      removed.
      
      These colummn are now handled automatically:
      
      * ['ctrl']['enablecolumns']['disabled'] - typically set to
        "disabled" or "hidden"
      * ['ctrl']['enablecolumns']['starttime'] - typically set
        to "starttime"
      * ['ctrl']['enablecolumns']['endtime'] - typically set to
        "endtime"
      * ['ctrl']['enablecolumns']['fe_group'] - typically set to
        "fe_group"
      * ['ctrl']['editlock'] - used less often, typically set to
        "editlock"
      * ['ctrl']['descriptionColumn'] - typically set to
        "description"
      * ['ctrl']['languageField'] - typically set to
        "sys_language_uid"
      * ['ctrl']['transOrigPointerField'] - typically set to
        "l10n_parent"
      * ['ctrl']['transOrigDiffSourceField'] - typically set to
        "l10n_diffsource"
      * ['ctrl']['translationSource'] - typically set to
        "l10n_source"
      
      In the backend, this patch streamlines a couple of
      details, by for instance using the same / default label
      in all situations.
      
      There are a couple of specific overrides to deviate from
      defaults now defined by core. For example, new "pages"
      should be disabled=1, but the default "disabled" columns
      definition does not set disabled=1. "pages" thus overrides
      the core default in a Configuration/TCA/Overrides file.
      
      A couple of tests have a dependency to the order of columns
      in TCA, and need minor as well. Some code in TcaPreparation
      is now obsolete, together with a functional test.
      
      Resolves: #104311
      Related: #104288
      Related: #88057
      Releases: main
      Change-Id: I155a96163d75cf6692ae23ea96656285895d1c36
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/85095
      
      
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
      Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
      Tested-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
      Reviewed-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
      Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
      Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      2c0df92f
  3. Jun 13, 2024
  4. Dec 19, 2023
  5. Nov 20, 2023
  6. Apr 04, 2023
  7. Mar 24, 2023
    • Frank Naegler's avatar
      [FEATURE] Outgoing Webhooks for TYPO3 · 26229cba
      Frank Naegler authored
      
      A webhook is an automated message sent from one application
      to another via HTTP. Most modern web applications have the ability
      to communicate either via outgoing or incoming webhooks.
      This way of communication allows application users to integrate
      multiple systems without writing code (so-called no-code/low-code
      integrations).
      
      TYPO3 provides the incoming webhooks part via the system extension
      "reactions". This feature now allows configuring
      outgoing webhooks in the TYPO3 backend - completing the round trip.
      
      A new backend module is added called "Webhooks" where any
      administrative user can create a webhook. At its' core a webhook
      consists of a trigger (when something should happen) and a
      target URL (what should happen). Every time the webhook is triggered,
      an HTTP request is sent to the target URL. With this feature,
      the request can be either a POST or a GET request. POST requests
      commonly contain data, and GET requests can trigger actions
      in third-party systems.
      
      The webhooks extension provides various triggers as examples - for
      example a trigger when a page is created or updated, or a file is added
      or removed - however, additional triggers can be provided in the future
      and custom triggers can be written by extension authors and project
      developers.
      
      The backend module also enforces the setting of a secret for each webhook
      which can be used to verify that the webhook request originated from the
      TYPO3 system and its' payload has not been modified in the meantime.
      
      Under the hood, the webhooks extension uses the TYPO3 queue and
      therefore the Symfony messenger component, which provides a flexible
      and extensible way for handling messages either synchronously or
      asynchronously.
      
      Co-authored-by: default avatarOliver Bartsch <bo@cedev.de>
      Co-authored-by: default avatarSusanne Moog <look@susi.dev>
      Co-authored-by: default avatarBenni Mack <benni@typo3.org>
      Resolves: #99629
      Releases: main
      Change-Id: I44eac0f1bd77cb2cbab9ebe3963c849ab366d538
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77362
      
      
      Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
      Tested-by: default avatarcore-ci <typo3@b13.com>
      Tested-by: default avatarBenni Mack <benni@typo3.org>
      Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
      Tested-by: default avatarOliver Bartsch <bo@cedev.de>
      Reviewed-by: default avatarBenni Mack <benni@typo3.org>
      Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
      26229cba