community.aegirproject.org
Extending Aegir
Aegir is designed to be easily extendable by developers. As it is made with Drupal and Drush, it is made of the hooks and command you know and love.
What can I extend exactly?
These extensions may come in the form of
- Adding new tasks to be performed against sites
- Adding new services or implementations of service types (postgres for the DB service, for example)
- Overriding or hooking into existing forms such as the site form, to send extra data to the backend - see this excellent article for more information on how to do this
- Using APIs to inject bits of configuration into configuration files such as settings.php and vhosts.
This area is be devoted to teaching you how to extend and develop for Aegir to encourage contributions to the Aegir project or to help you modify Aegir to suit your unique use case.
Aegir API documentation
The inline documentation is a good start to understand the various hooks and internals that allow you to extend and customize Aegir to your liking. The documentation is rendered on api.aegirproject.org daily.
See also the developer cheat sheet.
Please submit any suggestions or bug reports to the Aegir Project issue queue of your choice, under the "documentation" component.
Example modules
The contrib page documents all known Aegir extensions in existence. There are also specific developer documentation pages below.
Contrib developer documentation and roadmaps
Contrib developers are free to use this space to document the internals of their modules or their roadmaps. There is already this documentation:
- E-Commerce Integration Roadmap (uc_hosting)