Skip to content
Snippets Groups Projects
typo3

typo3

Project ID: 81
Select Git revision
0 results
  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Christian Kuhn authored
    The workspaces notification system is quite complex to allow
    fine grained selection and pre-selection of persons to notify
    when records transition to other stages.
    
    Both 'internal' stages (draft, publish, publish execute) and
    custom stages have a checkbox to notifity 'Editors' on record
    stage changes. The intention (which we found by reading the
    code, there is no documentation abouth this one) is to find
    and notify editors that were involved in the editing process,
    but are not direct or group related members through one of the
    plenty other fields. The solution is broken:
    
    * The logic is based on lookups in sys_history per affected
      record, but looks only for the initial creator, not for anyone
      else who may have edited.
    * The result of that lookup immediately gets lost in method
      getRecipientsOfStage() since that method does not iterate on
      the result set, but a different one. It looks as if that faulty
      behavior is the case since 'ever'. Users found this way are thus
      never rendered in the notification selection window and don't
      receive any notification.
    * Even if it would work, that detail is questionable: A record
      may have been created years ago, and "current" users who should
      take care of stage changes are most likely part of some other
      group or workspace related notification field already ("owner",
      "member", "default recipient" or "responsible person"), and thus
      notified.
    * The naming "Editors" of that toggle is so misleading that
      probably only very few people understand what it is supposed to
      do. There is also no reported issue about this toggle questioning
      its behavior.
    
    The patch removes the entire thing: For 'internal' stages the
    editor checkbox is gone. In custom stages we keep the checkbox
    as 'unused' since removing it at position 3 would move the bitset
    of position 4, which would be breaking. This is a limitation of
    TCA type=check, and we will most likely create a v14 change that
    will allow integrators to deal with this and similar scenarios.
    Keeping a dummy value however allows us to backport this change
    to v13 as well, which is why we decided for this path.
    
    Resolves: #107079
    Releases: main, 13.4
    Change-Id: I4482b3356d09d01aff7a2e2b90ef5b2ec3d920f5
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/90054
    
    
    Tested-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
    Reviewed-by: default avatarGarvin Hicking <garvin@hick.ing>
    Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    Reviewed-by: default avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
    Tested-by: default avatarGarvin Hicking <garvin@hick.ing>
    Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    Tested-by: default avatarcore-ci <typo3@b13.com>
    c31431ca
    History
    Name Last commit Last update