1. 15 Nov, 2018 2 commits
  2. 14 Nov, 2018 5 commits
  3. 13 Nov, 2018 2 commits
  4. 07 Nov, 2018 1 commit
    • Ayush Tiwari's avatar
      ERP5CatalogTool: Display view for portal_catalog when we access it on ERP5 UI · 3e889a76
      Ayush Tiwari authored
      Before this change, `index_html` for Catalog Tool was None that means trying to
      access view for CatalogTool from UI always make a function call to the
      ` __call__` which function was overridden with `searchResults`, which
      means everytime someone tried to access `portal_catalog/`, a useless query was
      being made and an undesirable query result was displyed on the UI.
      
      In this case, `index_html` is prefered whenever we try to access portal_catalog
      from UI.
      
      Also, add test for proper display of view when CatalogTool is accessed from XHTML UI
      
      /reviewed-on nexedi/erp5!793
      3e889a76
  5. 02 Nov, 2018 3 commits
  6. 01 Nov, 2018 8 commits
  7. 31 Oct, 2018 6 commits
  8. 30 Oct, 2018 12 commits
  9. 29 Oct, 2018 1 commit
    • Arnaud Fontaine's avatar
      ZODB Components: Modules loaded by one Request were being GC'ed while executing in another Request. · f523edc4
      Arnaud Fontaine authored
      Until this commit, loading a ZODB Component would add it to the current Request
      object to prevent its reference counter reaching 0 (thus its global being reset to
      None and then being later GC'ed) when a reset happens in another Request.
      
      This problem was found when investigating testFunctionalConfigurator failure
      when installing bt5s as requested by the Configurator:
        1. Request R1 calls Zuite_waitForActivities importing extension.erp5.ERP5Zuite (M1).
           => Add M1 to R1._module_cache_set.
           => M1 ref counter equals to 2 (sys.modules and R1._module_cache_set references).
        2. R1 terminates and is GC'ed.
           => M1 ref counter equals to 1 (sys.modules).
        3. Request R2 runs Configurator configuring the Site.
        4. testFunctionalConfigurator calls Zuite_waitForActivities to wait for the
           Configurator to finish (request R3 which may take ~15 minutes). This calls
           time.sleep() in a loop where 'time' module is imported at top-level.
        5. R2 installs bt5 triggering reset.
           => M1 ref counter equals to 0.
              ===> M1 global variables are reset to None and thus 'time' is set to None
                   raising an Exception in the next call of time.sleep() in the loop.
      
      The easiest way would be to have a hook on sys.modules dict lookup and thus add M1
      to R2._module_cache_set when being imported, but this is not supported... Instead
      create a global cache on erp5.component package.
      f523edc4