Some install profiles require data entry by the user.

An example of this is OpenPublish by Phase2 Technology: http://www.opensourceopenminds.com/openpublish/download

They ask the user to enter some API keys in the last install step, which is a valid part of the standard Drupal install profile in D6.

Unfortunately we don't yet seem to handle it in Aegir - and it fails silently, so while the installation seems to have worked ok, the site isn't properly set up and the last steps of installation haven't been completed - setting the themes etc, as well as setting the API keys.

Not sure how we could handle this - but it would be good if we could, as a lot of feature rich end-user-friendly install profiles will use it.

Comments

Anonymous’s picture

I don't know how we'd handle that: to me, Aegir's design logic is based on automation of tasks (such as installation which is all kicked off via provision). If a task in the middle of this requires user overrides, it feels to me to be the antithesis of Aegir.

That said, that's probably not a reason to not support such a thing.. I guess the main aim is to provide easier management of sites, so perhaps automation comes second. Do you have any ideas how we could introduce user-controlled modifications to a site mid-provision? Perhaps a new type of provision that doesn't automate the install tasks if a checkbox 'allow user overrides' is set or something when creating a new site, and instead just sets up the vhost config and creates the database, but doesn't fire off the install profile? (I don't know if this would even work, I'm just musing. But it sort of relates to #570980: allow vhosts of the same name on a different port, in that we currently need a way to create site nodes without actually instigating an install)

Thanks!

Anonymous’s picture

I wonder if we could have a multi_step form on site node creation that parses the install profile's hook_tasks() and 'simulate', as jonhattan puts it on IRC, the values of the form, store the values and apply them on provision. It would be tricky, but I can see the added value if Aegir can take control of such profiles that require user input

steveparks’s picture

I think there's two parts here:

1. On verifying the platform, provision should identify that hook_tasks() has created a form(s) and expects user input.
2. On installing a site on this platform, aegir adds these form fields to the site create page (or signup page), and then stores these values and submits them to the install profile (as mig5/johnhattan suggest above).

anarcat’s picture

The solution for this is within the core. See #525594: Installation should consist of 2 phases instead of one. Basically, Aegir should do the basic steps of the install profile that do *not* require manual intervention, then throw the user in the site, which will then run the remaining of the install profile wizard, using the above patch.

I'm not sure this is going into D7 at this point, unfortunatly, help needed.. :(

anarcat’s picture

Status: Active » Closed (duplicate)