Automatic ERP5 Site creation
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.
Showing with 137 additions and 9 deletions