• Nicolas Dumazet's avatar
    Last chunk of portal type classes / zodb property sheets. · d02ba206
    Nicolas Dumazet authored
    After this, all ERP5 objects become instances of portal type classes
    
    Preferences:
    * all the trickery for preferences is gone and is handled by a specific
      accessor holder holding all preference methods
    
    Property holders
    * our Base.aq_portal_type property holders are not used anymore:
      the "property holder" becomes the portal type class itself and the
      set of accessor_holder classes in the mro of the portal type class:
      portal-type-specific methods are on the portal type class, while
      portal-type-independant method are put on the accessor holder ancestors
    * the portal type meta class now also inherits from "PropertyHolder" to
      provide the same introspection interface and methods.
      (In the future this class / interface will need to be refined)
    
    Bootstrap/migration:
    * bootstrapping/migration from older instances: provide with code able to
      import XML from ERP5/bootstrap/ to load necessary tools from almost any
      instance state
    * migrate in BusinessTemplate installation code all non-portal type classes
      objects to portal type classes
    * Change the way Tools are installed when creating a site, so that we create
      directly portal type classes objects instead of Documents
    
    Accessors:
    * add a generatePortalTypeAccessors method on the portal type class to generate
      portal-type-specific accessors
    * associate BaseAccessorHolder to all portal type classes to contain
      all common category related accessors
    * change the way workflow methods are generated to bind them directly on
      the portal type class
    * disable Base._aq_dynamic (while still keeping its code for debugging and
      reference, this can be cleanup up later)
    
    
    git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@42902 20353a03-c40f-0410-a6d1-a30d3c3de9de
    d02ba206
TranslationProviderBase.py 7.56 KB