1. 22 Oct, 2019 7 commits
  2. 11 Oct, 2019 3 commits
  3. 10 Oct, 2019 7 commits
  4. 09 Oct, 2019 7 commits
  5. 08 Oct, 2019 4 commits
  6. 07 Oct, 2019 7 commits
  7. 05 Oct, 2019 3 commits
  8. 04 Oct, 2019 2 commits
    • Julien Muchembled's avatar
      Optimize WorkflowHistoryList · 1ca655a3
      Julien Muchembled authored
      This is done by inheriting most of the code of ConflictFreeLog,
      i.e. using a doubly-linked list:
      - for fast iteration of the first elements, and in particular
        immediate access to the first element (used for creation date);
      - that keeps track of the history length;
      - that implement fast reverse iteration (although it could
        have been done without changing the data structure).
      
      The size of buckets is not fixed anymore to 16 items:
      like ConflictFreeLog, WorkflowHistoryList is also a good candidate
      to look at the estimated serialized size of the bucket in order to
      decide if elements should be added to a new one or not.
      Then developers won't have to care about using Pdata or not.
      
      The size is bigger than the ConflictFreeLog default,
      because workflow items look a lot alike and adding
      a few more is cheap when the ZODB compresses.
      
      No more optimized __getstate__ (except for workflow histories that
      have not been migrated) so BT export will be a bit more verbose.
      
      The BBB code is because of
        nexedi/erp5!934
      
      /reviewed-on nexedi/erp5!941
      1ca655a3
    • Arnaud Fontaine's avatar
      ZODB Components: Before migrating Interfaces from FS, there must be one... · 694c9fee
      Arnaud Fontaine authored
      ZODB Components: Before migrating Interfaces from FS, there must be one Interface class per source file matching its name.
      
      Same as Document class: this avoids registering Interfaces at startup and just do it
      when using the Interface. In assuming that portal_components/XXX has a class
      name equals to XXX.getRference(), it is easier to:
       * List all existing Interfaces (for example in Portal Type Class view): getReference()
         on all validated 'Interface Component' in portal_components.
       * Lookup for an 'Interface Component': 'from erp5.component.interfaces.XXX import XXX'.
      694c9fee