1. 14 Jan, 2022 2 commits
    • Jérome Perrin's avatar
      Workflow: don't change REQUEST when passing transition · 91af570a
      Jérome Perrin authored
      The new workflow implementation from df85ef46 (ERP5Workflow: DC Workflows
      are now ERP5 objects (!1378)., 2020-11-18) had a different behavior in
      the implementation of _executeTransition, it was setting all kwargs
      from the transition in REQUEST. The reasons for this are unclear, it
      seem to come from the first Workflow implementation, 81784db4 (Initial
      Import of ERP5Workflow porduct., 2010-10-15)
      
      The side effects are that calling a workflow method, for example:
      
        document.edit(key=value)
      
      would also alter the global request to set key=value in REQUEST, for the
      rest of the current request.
      
      It was causing subtle issues, especially in tests where the REQUEST
      lifetime is long.
      91af570a
    • Jérome Perrin's avatar
      workflow: fix Update Security Roles action on workflow · 55049a0c
      Jérome Perrin authored
      This was redirecting with the full list of updated documents URLs,
      causing too long URLs.
      
      This also simplifies code a bit, change the wording of messages and
      use translation.
      55049a0c
  2. 13 Jan, 2022 9 commits
  3. 12 Jan, 2022 2 commits
  4. 11 Jan, 2022 1 commit
  5. 07 Jan, 2022 9 commits
  6. 06 Jan, 2022 2 commits
  7. 04 Jan, 2022 1 commit
  8. 03 Jan, 2022 4 commits
  9. 31 Dec, 2021 4 commits
  10. 28 Dec, 2021 3 commits
  11. 27 Dec, 2021 1 commit
  12. 23 Dec, 2021 1 commit
    • Vincent Pelletier's avatar
      Products.CMFActivity.ActivityTool: Improve behaviour on single-node instances. · 041642d0
      Vincent Pelletier authored
      - Ignore node preference when spawning activities.
        Otherwise, activities which are not spawned with a preferred node will
        get an effective priority penalty compared to same-priority activities
        spawned *with* a node preference, despite both being to execute by the
        same processing node.
      - Break activity processing loop when the current processing node is also
        the activity validation node.
        This avoids pathological cases of activity accumulation, for example when
        reindexing an entire site: _recurseCallMethod is spawned in
        processing_node=0, but immediateReindexObject is spawned in
        processing_node=-1 because of serialization_tag dependency, so with such
        loop _recurseCallMethod will be executed over and over, piling indexation
        activities up until _recurseCallMethod does not self-respawn.
        In turn, such activity accumulation lead to an increased overhead, and
        decreased activity processing efficiency.
        This may also allow multi-node instances to more reliably use the
        validation node as a processing node.
      
      The cost for multi-node instances of these changes should be absolutely
      minimal (no extra IO necessary, minimal extra code).
      A possible drawback on single-node instances is that tic period may become
      more important because process_timer will return more often.
      041642d0
  13. 22 Dec, 2021 1 commit