Website of Grand Comics Database
Python HTML JavaScript CSS
Permalink
Failed to load latest commit information.
apps
docs
locale
static
templates
.gitignore
.gitmodules Don't make gcd-managed-content a submodule. Jul 30, 2016
.reviewboardrc Provide a .reviewboardrc, update .gitignore. Aug 25, 2016
README.md
manage.py
requirements.txt
settings.py fix overdue problems for some changes, add expires info on editing, u… Nov 12, 2016
urls.py urls.py fix for RQ usage. Aug 22, 2016
wsgi.py Add Django1.4-style wsgi.py Oct 26, 2012

README.md

GCD Web Application

This file last updated: February 2017

This is the current implementation of the Grand Comics Database, hosted at http://www.comics.org/ (production) and http://beta.comics.org/ (public beta for new features).

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:

http://groups.google.com/group/gcd-tech/

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.

Workflow

Our primary collaboration space is the gcd-tech mailing list. Partially due to GitHub pull requests and reviews not working for us in code review, we used a Review Board installation at http://reviews.comics.org/ for discussing code changes for a long time. We now use the inbetween improved GitHub code review system.

Pull requests are welcome, but you might want to poke the mailing list if no one seems to be paying attention.

Branches

master

This is (generally) the production deployment. For the most part, work should not be done here directly.

Contact: gcd-tech-team via gcd-tech

beta

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 beta unless otherwise noted.

Contact: gcd-tech-team via gcd-tech

experimental

This branch is for experimental work to refactor the system in several stages.

There will probably be some modernization and code clean-up along the way.

Contact: handrews via gcd-tech

Future branch rest

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 to devel.

Contact: handrews via gcd-tech

Closed branches

The newsearch branch is dead- it was used to add Elasticsearch to the system.

The mycomics branch is dead - it was used to collection management to the site.

The django-17 branch is dead - it was used to upgrade to django 1.7.

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 recorded in GitHub's issue tracking system. We previously used an instance of Bugzilla but all bugs/requests from that system have been moved to GitHub.

If you are unfamiliar with the code, please contact the gcd-tech list before starting to submit fixes.

Acknowledgements

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.