diff options
author | Will Kahn-Greene <willg@bluesock.org> | 2011-05-03 12:07:01 -0400 |
---|---|---|
committer | Will Kahn-Greene <willg@bluesock.org> | 2011-05-03 12:08:09 -0400 |
commit | 9610848c298fff67da83abd495a44be86dd4eea3 (patch) | |
tree | 1a4d2f0fb840f62d0b1b56ee81c756af43c2da8f /docs/codebase.rst | |
parent | 8ac897c3b6834120eeaec6e8cd1646032b1b3739 (diff) | |
download | mediagoblin-9610848c298fff67da83abd495a44be86dd4eea3.tar.lz mediagoblin-9610848c298fff67da83abd495a44be86dd4eea3.tar.xz mediagoblin-9610848c298fff67da83abd495a44be86dd4eea3.zip |
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
Diffstat (limited to 'docs/codebase.rst')
-rw-r--r-- | docs/codebase.rst | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/docs/codebase.rst b/docs/codebase.rst index 2c73e7d3..1f6ce220 100644 --- a/docs/codebase.rst +++ b/docs/codebase.rst @@ -7,6 +7,18 @@ This chapter covers the libraries that GNU MediaGoblin uses as well as various recipes for getting things done. +.. Note:: + + This chapter is in flux. Clearly there are things here that aren't + documented. If there's something you have questions about, please + ask! + + See `the join page on the website <http://mediagoblin.org/join/>`_ + for where we hang out. + +For more information on how to get started hacking on GNU MediaGoblin, +see :ref:`hacking-howto`. + Software Stack ============== @@ -59,6 +71,55 @@ Software Stack * `JQuery <http://jquery.com/>`_: for groovy JavaScript things + +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 + + +As you can see, all the code for GNU MediaGoblin is in the +``mediagoblin`` directory. + +Here are some interesting files and what they do: + +:routing.py: maps url paths to views +:views.py: views handle http requests +:models.py: holds the mongodb schemas---these are the data structures + we're working with + +You'll notice that there are several sub-directories: tests, +templates, auth, submit, ... + +``tests`` holds the unit test code. + +``templates`` holds all the templates for the output. + +``auth`` and ``submit`` are modules that enacpsulate authentication +and media item submission. If you look in these directories, you'll +see they have their own ``routing.py``, ``view.py``, and +``models.py`` in addition to some other code. + + Recipes ======= |