Drush, features, patterns and installation profiles
The last few months I've been diving into different ways to quickly build, setup and manage drupal sites or create distributions (or packages if you will). Mainly:
You can create powerful combinations using these techniques. For example: Open Atrium is basically a Drupal package with features and installation profile. And Aegir leverages the power of drush in combination with an installation profile (among other things). All these projects are moving fast and there is some overlap but the big difference often is between site-building (infrastructure) and site-configurations (settings, database).
Tool which allows you to communicate with and manage a Drupal install from the command line. This is a real time-saver and a must have.
- Provides a tool for site-building
- Makes downloading, enabling and updating modules easy
- Modules can provide their own drush commands
- Growing in popularity
Group modules which allow for a complete set of functionalities to be enabled imported/exported. It requires the Context and Spaces modules and compiles a module which holds the configuration for your feature.
- Provides a tool for site-building and site-configuration
- Very impressive (watch the screencast)
- Integrates with Drush
Module which uses an XML format to store configurations for your site which can be easily managed.
- Provides a tool for site-configuration
- Some overlap with Features
- Bypasses some limitations which installations profile have (see also FAQ)
- Lots of discussion, also with in relation with Features about common goals
Method to configure your Drupal site.
- Provides a tool for site-configuration.
- Included in core
- Has many limitations
- Drupal 7 should be a lot better
Conclusion? The big problem for all projects the lack of one Drupal data import/export API which would make life a lot easier. But that won't be available until at leaast Drupal 8. Until then you will probably need a combination of above techniques to get the most of your distribution. However, I do hope install profiles actually become usable in D7.
There are also other projects, but they seem either to have little support or moving very slowly. Like the package management project. Other related projects, but more focussing on migration/backup/deployment are: Deploy, Backup and Migrate and YAMM.
- A group about Drupal distributions.