1. 07 Sep, 2022 34 commits
  2. 06 Sep, 2022 2 commits
    • Kazuhiko Shiozaki's avatar
      Folder: fix objectValues(portal_type=...). · 48cfa07a
      Kazuhiko Shiozaki authored
      For example, Web Section can contain a Script (Python) to set Access
      Rule, but the parent section's objectValues(portal_type='Web Section')
      should not include such object.
      48cfa07a
    • Vincent Pelletier's avatar
      Products.CMFActivity: Fix poor performance with many family-bound activities · 62af8254
      Vincent Pelletier authored
      When there are many simultaneously-pending activities attached to any
      processing node family, the
        node>=0
      subquery becomes dominant (taking hundreds of time longer than the other
      subqueries). As a consequence, this starves processing nodes of activities
      and increases the CPU needs of the mariadb process hosting the activity
      tables.
      So, move this subquery out of the regular codepath, and only run it if no
      other subquery found any activity:
      - there is no activity preferentially targeting the current node
      - there is no activity bound to any of the current node's families
      - there is no activity without any node preference at all
      Also, simplify the content of that subquery: the effective priority can
      only be 3 * priority + 1 when this query is run, and node=0 rows can be
      excluded (they should not exist in the current database view).
      Also, factorise the logic producing "node=processing_node" and
      "node IN node_set" subqueries, for simplicity. In turn, this makes all
      family-dependent subqueries use a simple equality test, ensuring a stable
      query plan independently from the number of families the current node is
      member of.
      Also, use "UNION ALL" always, as now:
      - all subqueries have stritly distinct result sets
      - as per mariadb documentation, "UNION [DISTINCT] applies to all UNIONs
        on the left", so the original comment about where ALL is used was
        incorrect in assuming it was improving the effective query performance
      Also, line-split SQL queries as visible in the python source to be more
      readable, without effect on the produced SQL.
      Also, line-split a few non-trivial python expression to make their
      internal structure immediately apparent.
      
      Another effect of this change this change is to reduce activity theft
      (activities to be preferentially executed by one node being executed by
      another), potentially improving object cache hit-rate and hence decreasing
      I/O pressure on the ZODB.
      62af8254
  3. 30 Aug, 2022 1 commit
  4. 24 Aug, 2022 1 commit
  5. 22 Aug, 2022 2 commits
    • Jérome Perrin's avatar
      xhtml_style: remove hashes from icons.png URLs · 1b4d4ba9
      Jérome Perrin authored
      this change was made with:
      
          find product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_ckeditor/ckeditor/ -type f  | xargs sed -i 's/\\?t=445cf24ebd//g'
      1b4d4ba9
    • Jérome Perrin's avatar
      xhtml_style: remove timestamp from ckeditor URLs · 6e8cc3c9
      Jérome Perrin authored
      This timestamp break officejs offline capabilities.
      
      This reaplies 40f6c8fe ([erp5_xhtml_style] ckeditor: drop hardcoded
      timestamp parameter in URL, 2017-10-16) on the updated CKEditor
      
      This was done with:
      
          find product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_ckeditor/ckeditor/ -type f  | xargs sed -i 's/"M6K9"/""/g'
      
      M6K9 was the timestamp for this build, that we can see at the top of
      ckeditor.js
      6e8cc3c9