Lots of documentation changes

* added a YouCanHelp directive to replace FIXMEs and encourage contributors
  to help out
* moved some bits around between the hacking howto and the codebase documents
* expanded on the stub nature of the theming howto
* tweaked some other text
This commit is contained in:
Will Kahn-Greene
2011-05-03 12:07:01 -04:00
parent 8ac897c3b6
commit 9610848c29
8 changed files with 159 additions and 39 deletions

View File

@@ -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
============
After you've run buildout, you're faced with the following directory
tree::
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
Quickstart for Django programmers
=================================
FIXME - write this
We're not using Django, but the codebase is very Django-like in its
structure.
* ``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.
.. YouCanHelp::
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