Problem/Motivation

Currently, if it knows about multiple app servers, Apps presents at install time a listing of those servers with checkboxes for each server's apps. This approach allows a lot of flexibility in terms of which apps are installed but relies on a lot of knowledge on the part of the individual installing the site. Multiple app servers may offer apps that cover a given use case (e.g., event management). Certain apps may integrate well while others may have known compatibility issues.

The existing solution lacks tools that would allow a developer to provide suggestions as to recommended combinations of apps.

Proposed resolution

Alongside the existing interface, it would be good to support one that offers multiple profiles, each consisting of a set of apps, which may be from multiple providers. This approach would facilitate an install profile offering customized, preselected combinations of apps that meet broad use cases.

A solution could draw on or parallel what is done in the Subprofiles module, see this screenshot of the current Subprofiles UI. An implementation might look like:

  • In an install profile's .info module, designate an array of subprofiles, each consisting of a set of apps, which may be from multiple servers and which have a default state (enabled or disabled). (Alternately these data could be returned through a hook implementation.)
  • At install time, if such an array is designated, offer a list of available subprofiles. The user may select which to install. When selecting one, its apps are listed as checked or unchecked depending on their default state so the user can make adjustments.

Remaining tasks

No work done yet.

User interface changes

Changes the UI for app installation at install time to one that offers multiple subprofiles.

API changes

Would introduce either a new .info file data key or a new hook.

Comments

nedjo’s picture

Added a link to the Subprofiles UI screenshot at http://drupal.org/files/images/subprofiles.png.

nedjo’s picture

Issue summary: View changes

Add link to subprofiles screenshot.

nedjo’s picture

Drupal Gardens provides a good example of this sort of approach. At install time, you can select from several options (blog, campaign, product, etc.), each of which has specific features associated with it.

nedjo’s picture

Issue summary: View changes

Update subprofiles screenshot link.