Getting started with the OpenHatch code (moved)

From OpenHatch wiki
Revision as of 13:27, 21 February 2011 by imported>Ktarnowski (→‎Read more documentation)

This is a page about improving or modifying OpenHatch.

We call that "Hacking OpenHatch," and there is a whole category of pages about that.

To get your own instance of OpenHatch running, follow these five steps and then get in touch with us.

The code is written in Python. It uses the Django toolkit and tries to stick to good software testing practices. If you have Python experience, you should be able to get hacking pretty quickly even if you don't know Django or testing.

Clone our git repository

You will need to have the git version control system installed. Once you do, type this into a terminal:

$ git clone git://gitorious.org/openhatch/oh-mainline.git

It might take a while; it's kind of a big repository. (Like, a hundred megs.)

Follow the README

The repository is called oh-mainline so you have to "cd" into it:

$ cd oh-mainline

There you'll find a README.mkd file. Give it a careful read.

$ less README.mkd

That is what we really keep up to date with the necessary things.

It contains instructions you need to follow. Go ahead and do that. I can wait.

Run the tests

We have automated tests that help us know when we've broken functionality in the OpenHatch code. Running the tests is a good way to make sure your OpenHatch environment works properly! Try this:

$ ./bin/sqlite_mysite test missions

That runs the test suite for just the missions part of the code. It uses the sqlite-based test runner so it runs fast; the real website uses MySQL, not SQLite, but you'll discover that tests run about 10 times faster in the sqlite runner.

Play with your local install

Want a website?

Once you've gone through these steps, just visit your own OpenHatch instance on the web. You can start the server with:

$ ./bin/mysite runserver

and load up http://localhost:8000/ in your web browser.

Want a shell?

You can get a shell from which you can play with database objects and the entire codebase. This uses "IPython", similar to "IRB" if you know Ruby.

$ ./bin/mysite shell_plus

For more information on how to use and what you can do with the shell_plus, check the Shell_plus

Get in touch

The fifth mandatory step (okay, not quite mandatory) is that you say hello to us. There's always someone on the #openhatch IRC channel in freenode. And you can join our Devel mailing list.

Read more documentation

Before you start hacking OpenHatch, we strongly advise you to watch Learning new codebase talk by Justin Lilly given during DjangoCon 2010.

You can find more tips about hacking OpenHatch in other pages in the on this wiki.

You can find things to work on by browsing our bug tracker or asking us!