diff options
Diffstat (limited to 'docs/hackinghowto.rst')
-rw-r--r-- | docs/hackinghowto.rst | 73 |
1 files changed, 41 insertions, 32 deletions
diff --git a/docs/hackinghowto.rst b/docs/hackinghowto.rst index 26267b7f..fe2411bb 100644 --- a/docs/hackinghowto.rst +++ b/docs/hackinghowto.rst @@ -9,16 +9,20 @@ So you want to hack on GNU MediaGoblin? ======================================= First thing to do is check out the `Web site -<http://mediagoblin.org>`_ where we list all the project +<http://mediagoblin.org/join/>`_ where we list all the project infrastructure including: -* the mailing list * the IRC channel -* the bug tracker +* the mailing list +* the issue tracker Additionally, we have information on how to get involved, who to talk to, what needs to be worked on, and other things besides! +Second thing to do is take a look at :ref:`codebase-chapter` where +we've started documenting how GNU MediaGoblin is built and how to add +new things. + How to set up and maintain an environment for hacking ===================================================== @@ -80,10 +84,16 @@ Updating dependencies --------------------- While hacking on GNU MediaGoblin over time, you'll eventually have to -update your development environment. To do that, run:: +update your development environment because the dependencies have +changed. To do that, run:: ./bin/buildout +.. Note:: + + You only need to do this when dependencies are updated. You don't + need to do this when you've made code changes. + Wiping your environment for a clean-slate ----------------------------------------- @@ -104,8 +114,12 @@ Delete the following directories: * parts/ * user_dev/ -FIXME - how to drop data from mongodb? we should probably write a -script. + +.. YouCanHelp:: + + If you're familiar with MongoDB and bash, we'd love to get a bash + script that removes all the GNU MediaGoblin data from an existing + MongoDB instance. Let us know! Running the server @@ -124,42 +138,34 @@ Run:: ./bin/nosetests -What's where -============ +Quickstart for Django programmers +================================= -After you've run buildout, you're faced with the following directory -tree:: +We're not using Django, but the codebase is very Django-like in its +structure. - mediagoblin/ - |- mediagoblin/ source code - | |- tests/ - | |- templates/ - | |- auth/ - | \- submit/ - |- docs/ documentation - | - | the rest of these directories are generated by - | buildout. - | - |- bin/ scripts - |- develop-eggs/ - |- eggs/ - |- mediagoblin.egg-info/ - |- parts/ - |- user_dev/ sessions, etc +* ``routing.py`` is like ``urls.py`` in Django +* ``models.py`` has mongokit ORM definitions +* ``views.py`` is where the views go +We're using MongoDB. Basically, instead of a relational database with +tables, you have a big JSON structure which acts a lot like a Python +dict. -Quickstart for Django programmers -================================= +.. YouCanHelp:: -FIXME - write this + If there are other things that you think would help orient someone + new to GNU MediaGoblin but coming from Django, let us know! Bite-sized bugs to start with ============================= -FIXME - write this +**May 3rd, 2011**: We don't have a list of bite-sized bugs, yet, but +this is important to us. If you're interested in things to work on, +let us know on `the mailing list <http://mediagoblin.org/join/>`_ or +on the `IRC channel <http://mediagoblin.org/join/>`_. Tips for people new to coding @@ -186,7 +192,10 @@ that are freely available on the Internet: These are all excellent texts. -FIXME - are there good quality Python tutorial videos? +.. YouCanHelp:: + + If you know of other good quality Python tutorials and Python + tutorial videos, let us know! Learning Libraries GNU MediaGoblin uses |