Development Processes¶
Bug Tracker¶
You can find our bug tracker at: http://code.mvpafrica.org/.
Mailing List¶
We do not have a public developer mailing list (yet). You can reach the ChildCount+ developers on our internal mailing list at dev at mvpafrica dot org.
Repo and Branches¶
Repositories
The ChildCount+ code repository is online here:
The installation and server configuration files for ChildCount+ installations are online here:
Stages and Versions
Different versions of the ChildCount+ code often require different server configurations. We refer to each successive server configuration as a “stage” while each release of the source code is a “version.” We use letters (A, B, C, ...) to refer to stages, and numbers (0, 1, 2, ...) to refer to versions. The version numbers reset with each stage.
So, if the latest code is stageE-v1
and a developer
creates a release that does not require changes to the
server configuration, the next release will be stageE-v2
.
Afterwards, if the next release does require changes to
the configuration files, the release tag will be stageF-v0
.
Branches
The ChildCount+ code repository has two two main branches: ccdev and ccstable.
If a software developer wants to create a new ChildCount+ feature, the process generally goes like this:
- Developer creates a new branch from
ccdev
, let’s call this branchtwitter
and pretend that it adds some Twitter functionality to ChildCount+. - Developer does the work on the
twitter
branch, merging changes fromccdev
intotwitter
to make sure thattwitter
stays current. - When the developer is satisfied that the Twitter feature works
as hoped, she merges
twitter
into theccdev
branch. - Every few months, the release developer merges all of the changes
from
ccdev
intoccstable
. The release developer tests all of these features and makes sure that the translations and localization works properly for French- and Tigrinya-speaking sites. - The release developer adds a git tag of the format
stageX-vY
(whereX
is the stage code andY
is the version number) to theccstable
branch. - If a new stage is being created: The release developer writes up a textual description of how to update the server to accommodate the new code and posts it on http://we.mvpafrica.org.
- The release developer pushes the
ccstable
code out to the sites. In MVP lingo, this is a “stage”.
Documentation¶
This documentation is hosted on GitHub and is created using Sphinx.
We develop the documentation on the ccdev
branch, then
built HTML documentation files into the root of the
gh-pages
branch.
The gh-pages
branch
is a special branch for the GitHub Pages
feature. Files pushed there end up being served at
http://mvpdev.github.com/rapidsms/.
The documentation mirror at http://docs.childcount.org/
should copy the documentation from http://mvpdev.github.com/rapidsms/
after every commit to the GitHub repository.
Who to Contact¶
The best way to get in touch with the ChildCount+ Developers is to look for the contact information listed on http://www.childcount.org/. Those contacts are the most likely to be up to date. You can also catch us at @childcount.