1. 15 Feb, 2021 2 commits
    • Jérome Perrin's avatar
      web: repair inconsistent proxy fields · d2ba9601
      Jérome Perrin authored
      Since 459093f3 (ERP5Form: implement a basic checkConsistency for
      ProxyField, 2021-01-26) we can detect inconsistentencies in ProxyFields
      internal data structures. These are the changes after using
      checkConsistency(fixit=True) for erp5_web
      d2ba9601
    • Jérome Perrin's avatar
      web: fix "Default Pages" on web sites/web sections · 82ce9be0
      Jérome Perrin authored
      This relation field is used to select the web pages that will be displayed,
      by using the standard ERP5 document management feature of selecting the
      best applicable page with the same reference, but this list did not show
      the reference of the web page
      82ce9be0
  2. 12 Feb, 2021 1 commit
    • Jérome Perrin's avatar
      web_renderjs_ui: don't use manage_FTPget to get page code · 5560a450
      Jérome Perrin authored
      manage_FTPget is an API to serve the file content to response, it is not
      suitable to just get the file/page template content like we need here.
      It was causing issues when running through activities, because timerserver
      responses does not have the setBase method, but is also wrong because
      large files are streamed to response directly.
      
      Zope does not really offer an unified API to get the source of page
      templates or files, except the PrincipiaSearchSource method which it uses
      for its builtin search engine. It seems suitable to use here as well.
      
      Also add a test for the case where web pages are in a OFS.File, only
      the case of PageTemplate was covered.
      5560a450
  3. 10 Feb, 2021 4 commits
  4. 09 Feb, 2021 1 commit
    • Vincent Pelletier's avatar
      CMFActivity: Simplify validation queries further. · e4273c58
      Vincent Pelletier authored
      The query planner does not seem to notice that we are trying to know if
      any row exists matching a set of dependency values, and it keeps scanning
      multiple row for each value - which is unproductive.
      So split dependency queries from (pseudo-code)
        WHERE <column{,s}> IN <values{, pairs}>
      to unions of
        WHERE <column{,s}> = <value{, pair}> LIMIT 1
      which produces query plans which do stop immediately when finding a
      candidate row.
      On a serialization_tag query with 40 values and real-world indexations,
      this reduces the number of rows scanned by mariadb from 500 (<10%
      efficiency) to 40 (100% efficiency).
      The produced SQL is significantly larger (~3x, around 500kB on
      real-world sample data, but may vary a lot depending on value length),
      but if this has any effect is is more than compensated by the improved
      query plan efficiency.
      e4273c58
  5. 08 Feb, 2021 3 commits
  6. 05 Feb, 2021 3 commits
  7. 04 Feb, 2021 6 commits
  8. 03 Feb, 2021 2 commits
  9. 02 Feb, 2021 14 commits
  10. 01 Feb, 2021 4 commits