• Julien Muchembled's avatar
    Automatic ERP5 Site creation · 64c3337f
    Julien Muchembled authored
    If the following configuration section is present:
    
    <product-config initsite>
      owner <user-id>
      id <site-id>
      <key> <value>
    </product-config>
    
    the ERP5 product automatically creates a site at startup if there's none.
    This is done by "extending" AppInitializer (OFS.Application).
    
    <key> is any string parameter accepted by manage_addERP5Site, including new
    ones to configure Cloudooo and install bt5. Cloudooo is often required by the
    configurator: apart from that, it does not deserve a field on the addERP5Site
    form.
    
    This deprecates erp5_promise, at least in its current form, for several reasons:
    
    - Since 7fe14b20, alarms aren't run often
      enough.
    
    - For the configuration of external services like memcached, using an alarm or
      anything not instantaneous to update them is wrong because it poses a risk to
      connect to wrong instances. erp5_promise does not handle the catalog because
      it could not and we have another mechanism for that (userhosts), so let's
      handle other services like the catalog.
    
    - The list of bt5 to have installed is only useful at site creation:
      - either (usually) to install configurators, which in turn decide of the list
        to have installed,
      - or a value provided the user, but SlapOS parameters aren't a place to
        duplicate the ERP5 UI.
    
    - With previous commit, the list of bt5 repositories does not depend anymore
      on the location of the software built by SlapOS, and we also don't want to
      duplicate the UI, so the only case where it would remain useful is when the
      list is changed by the software itself, which almost never happens.
      We'll reimplement the promise as a constraint when necessary.
    
    We end up with the minimum functionality to install a configurator
    automatically, and the user does not have to wait anymore for an alarm to be
    triggered.
    
    The default site preference in erp5_core does not come anymore with a default
    value that was specific to SlapOS. It was not enough for our needs and such
    setting should anyway go in a system preference.
    64c3337f
ERP5Site.py 90.8 KB