Getting started with the OpenHatch code (moved): Difference between revisions

updating link
imported>Jessica
m (Added a link to the readme cause I'd rather open it in another monitor with a click than less or browsing to find it locally)
imported>Brittag
(updating link)
 
(42 intermediate revisions by 15 users not shown)
Line 1:
{{Hacking OpenHatch}}
To get your own instance of OpenHatch running, follow these '''five steps''' and then get in touch with us.
 
This page is now included in our project package, and is automatically generated by sphinx at openhatch.readthedocs.org: [http://openhatch.readthedocs.org/en/latest/getting_started/index.html Getting started with the OpenHatch code]
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. (Fifty megabytes, or so.)
 
== Follow the README ==
 
The repository is called '''oh-mainline''' so you have to "cd" into it:
 
$ cd oh-mainline
 
There you'll find a [http://gitorious.org/openhatch/oh-mainline/blobs/master/README.mkd 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 is to get in touch with us. (Okay, not quite mandatory, but we'll all be happier if you do)
 
# Join the [http://lists.openhatch.org/mailman/listinfo/devel Devel mailing list] and say hello.
# [[Chat with us on IRC|the #openhatch IRC channel in freenode]]. (If you can click IRC links: <irc://irc.freenode.net/openhatch>)
## We have weekly meetings, typically on Saturdays at 4pm EST (-5 UTC).
 
== Read more documentation ==
 
Before you start hacking OpenHatch, we strongly advise you to watch [http://python.mirocommunity.org/video/1882/djangocon-2010-learning-a-new- Learning new codebase] talk by Justin Lilly given during [http://python.mirocommunity.org/category/djangocon-2010 DjangoCon 2010].
 
You can find more tips about hacking OpenHatch in other pages in the [[Category:Hacking_OpenHatch|Hacking OpenHatch category]] on this wiki.
 
You can find things to work on by browsing our [http://openhatch.org/bugs/ bug tracker] or asking us!
 
== Start contributing patches! ==
 
We mark issues that are particularly good for new contributors with the "easy" keyword on our bug tracker. You can find the open easy issues [https://openhatch.org/bugs/issue?@columns=title,id,activity,status,assignedto&@sort=activity&@group=priority&@filter=status,keyword&@pagesize=50&@startwith=0&status=-1,1,2,3,4,5,6,7,9,10&keyword=1&@dispname=bitesized here].
 
If you find an issue you like and it isn't assigned to anyone, assign it to yourself and start hacking (you'll need an OpenHatch account to log in to the bug tracker). If it is assigned to someone already, but it looks like they haven't gotten around to working on it, leave a note on the ticket saying that you are interested in taking it (you can also try asking on IRC).
 
When you are ready to submit a patch for an issue, follow the guidelines at [[How we handle patches]].
 
If you ever feel like you are getting stuck or could use some design feedback, don't hesitate to ask for help on the IRC channel, on the devel mailing list, or on the issue ticket. Attending the weekly development meetings on IRC is a great time to ask for help or recommendations on issues to work on.
Anonymous user