On this page
- The relationship between Open Atrium and Drupal
- How to contribute a code improvement or bug fix
- How to share new features or modules
Open Atrium is built on a Drupal infrastructure, and much of its functionality comes from Drupal modules distributed on Drupal.org. Because of this, a lot of the community development work for Open Atrium actually happens on Drupal.org, through module issue queues.
There are some modules in Open Atrium that are not part of Drupal.org, but the general pattern for community development is the same. This document will help point you to the right resources to determine how and where you can made code contributions.
First of all, were your improvements made? Use the table below to determine where where the code came from.
|/profiles/openatrium/modules/atrium_features||code.developmentseed.org||This folder contains modules generated by the Feature module. This entire folder is part of a single GIT repository.|
|/profiles/openatrium/modules/contrib||Drupal.org||This folder includes contributed Drupal modules found on Drupal.org|
|/profiles/openatrium/modules/custom||code.developmentseed.org||This folder contains modules that are hosted on developmentseed.org. Each module has its own GIT repository.|
|/profiles/openatrium/modules/developer||Drupal.org||This folder includes contributed Drupal modules that are useful specifically for development purposes|
|/profiles/openatrium/modules/l10n||Drupal.org||This folder includes contributed Drupal modules that are specific to localization (i.e. translation)|
|/profiles/openatrium/themes||code.developmentseed.org||This folder contains themes distributed by Development Seed.|
|/sites/*||??||Most files in the /sites folder will have been added after the initial install of Open Atrium. These files can be contributed or custom modules, contributed or custom themes, or uploaded resource files.|
|Most other folders||Drupal.org||Nearly everything else is part of core Drupal|
Now that you know where the code came from, you'll have a better idea of where to contribute your changes.
For modules distributed on Drupal.org:
- Find the respective module page (http://drupal.org/project/your-module-name)
- Review that module's issue queue to find out if discussion around the issue you're having is already happening (http://drupal.org/project/issues/your-module-name)
- If an issue does not exist already, create a new issue that contains a description of your problem and your fix with line numbers, either in code tags, or as an attached patch (see here for more information about patches)
For modules or themes distributed on code.developmentseed.org, the simplest method is to post an issue at https://community.openatrium.com/issues/casetracker with the solution in code tags or a patch (see here for an example of creating a patch with GIT).
Alternately, you can fork Development Seed's module or theme repository on GITHub, and make a pull request to alert the maintainer that you have made a code improvement you would like to see integrated.
To share features generated through the Features module, read this document about how we decide what goes into core Open Atrium, and how to distribute your own features. If you created a module that extends the functionality of Open Atrium, we'd suggest releasing your module on Drupal.org.