GCD Web Application
This file last updated: May 2015
See the Technical section on docs.comics.org for more detailed information about how we work and what has been done to date. This file just covers the essentials of branches and code reviews.
Please join the gcd-tech list for help and to find out where we could use your contributions:
Setting up a Development Environment
We recommend that you use our Vagrant-based development environment.
You can find manual instructions for various platforms in the Technical section of the GCD Docs wiki but they aren't necessarily up to date. As of May 2015 they should work.
Our primary collaboration space is the gcd-tech mailing list. Partially due to GitHub pull requests and reviews not working well with mailing lists, we use a Review Board installation at http://reviews.comics.org/ for discussing code changes.
Pull requests are welcome, but you might want to poke the mailing list if no one seems to be paying attention.
This is (generally) the production deployment. For the most part, work should not be done here directly.
This is the general-purpose development branch. It is often deployed to
the beta site, and most work should be done here.
Special-purpose development branches are based from
devel unless otherwise
mycomics predates regular use of the
devel branch so it is based off of
master, which is merged to
This branch is for work to migrate the system from Django 1.4 to 1.8, in
several stages. While this is moving from one LTS release of Django to the
next, it is our intention to keep up with each Django major release as much
as possible going forwards. This will
merge to devel once we are caught up.
Hopefully before Django 1.9 comes out.
There will probably be some modernization and code clean-up along the way.
This will be for developing the REST API, after the project has been moved
to the current version of Django (1.8 at the time of this writing).
This will likely also involve some code clean-up to move the web UI onto
the REST API. It is not yet determined how often this branch will merge
newsearch branch is dead- it was used to add Elasticsearch to the system.
History of the Code
This version of the GCD web application was initially written in Python using Django 0.96, and rushed into deployment in late 2009 when the prior system's host crashed after many years of service. Due to both of these facts, there remain some oddities and things that you would not see in a modern Django system.
The current production code runs on Django 1.4, although there is a project underway to bring it up to Django 1.8, which will likely involve a fair amount of modernization and cleanup of the code.
Reporting or Examining Bugs
Bugs and feature requests are currently tracked in Bugzilla, from before we were using GitHub. We don't currently use GitHub's issue tracking system.
* Bugs in the NEW state are available for work. * Bugs in the ASSIGNED state are being worked on.
Be sure to "Accept" a bug to put it in the ASSIGNED state before you start working on it. Unlike in many Bugzilla installations, "Accept"ing a bug will automatically reassign it to you.
If you are unfamiliar with the code, please contact the gcd-tech list before starting to submit fixes.
In addition to the contributors you see within the git log, we'd like to thank Jon Løvstadt for his work developing and running the previous iteration of the GCD web application.