Skip to content

Install Drupal with an installation profile #27

@victorkane

Description

@victorkane

Why "everything in code"?

If everything we do is either part of the original installation profile or is added as a feature, then we are complying with "everything in code".

The "Drupal development, staging and production problem" and the solution as "everything in code" was pointed out years ago by visionary prophets:

This is why we favor Zen over the Adaptive and especially over Omega base themes (see #20 Choose base theme), which store the results of their GUI based configuration in the database together with content.

This is why Backdrop CMS with serializable JSON file based configuration will definitely be a wonderful upgrade path for Drupal 7 site builders seeking to avoid Drupal 8 complexity and the associated learning curve.

  • Referenced in Architecture Document as architectural decision

Installation profiles in Drupal 7

References

First cut solution

The standard Drupal install uses database writes to set configuration values.

Drupal Lean Process uses the Install Profile API for Drupal 6. For Drupal 7 we could take advantage of the module dependency to start the install off with the third party modules we want to include, doing the rest with features. So, clone the standard Drupal install, add third party modules and specify them in .info, then add more stuff with features, which should be added to the .info file as dependencies (they will have their own dependencies too).

Second cut

Resources:

I'm not keen on the idea of using drush make alone since I actually want the modules and any required patches under version control.

Profiler only downloaded a handful of times. Profiler Builder looks very promising. It's very active and growing in usage. What it does is take a functioning Drupal site and spit out an install profile for that site, which you can download as a tarball.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions