diff options
| author | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-03-17 14:16:19 -0500 | 
|---|---|---|
| committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-03-17 14:16:19 -0500 | 
| commit | 6b92dca59d450004d65b4dfb7a81685f8b10ea10 (patch) | |
| tree | 23bbe5dc271eedc7296c122f564f6cffc9d61d2a /docs/source | |
| parent | f6097b2eac3d436cefd3e17992fa0b448672214a (diff) | |
| download | mediagoblin-6b92dca59d450004d65b4dfb7a81685f8b10ea10.tar.lz mediagoblin-6b92dca59d450004d65b4dfb7a81685f8b10ea10.tar.xz mediagoblin-6b92dca59d450004d65b4dfb7a81685f8b10ea10.zip | |
Better description of the structure of the application
Diffstat (limited to 'docs/source')
| -rw-r--r-- | docs/source/devel/codebase.rst | 41 | 
1 files changed, 31 insertions, 10 deletions
| diff --git a/docs/source/devel/codebase.rst b/docs/source/devel/codebase.rst index 73e938e7..5e8cbcc6 100644 --- a/docs/source/devel/codebase.rst +++ b/docs/source/devel/codebase.rst @@ -117,13 +117,27 @@ tree::      mediagoblin/      |- mediagoblin/              # source code -    |  |- tests/ -    |  |- templates/ -    |  |- auth/ -    |  \- submit/ +    |  |- db/                    # database setup +    |  |- tools/                 # various utilities +    |  |- init/                  # "initialization" tools (arguably should be in tools/) +    |  |- tests/                 # unit tests +    |  |- templates/             # templates for this application +    |  |- media_types/           # code for processing, displaying different media +    |  |- storage/               # different storage backends +    |  |- gmg_commands/          # command line tools (./bin/gmg) +    |  |- themes/                # pre-bundled themes +    |  | +    |  |  # ... some submodules here as well for different sections +    |  |  # of the application... here's just a few +    |  |- auth/                  # authentication (login/registration) code +    |  |- user_dev/              # user pages (under /u/), including media pages +    |  \- submit/                # submitting media for processing +    |      |- docs/                     # documentation      |- devtools/                 # some scripts for developer convenience      | +    |- user_dev/                 # local instance sessions, media, etc +    |      |  # the below directories are installed into your virtualenv checkout      |      |- bin/                      # scripts @@ -131,8 +145,7 @@ tree::      |- lib/                      # python libraries installed into your virtualenv      |- include/      |- mediagoblin.egg-info/ -    |- parts/ -    |- user_dev/                 # sessions, etc +    \- parts/  As you can see, all the code for GNU MediaGoblin is in the @@ -142,8 +155,7 @@ 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 sqlalchemy schemas---these are the data structures -             we're working with +:forms.py:   wtforms stuff for this submodule  You'll notice that there are several sub-directories: tests,  templates, auth, submit, ... @@ -154,5 +166,14 @@ templates, auth, submit, ...  ``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. +see they have their own ``routing.py``, ``view.py``, and forms.py in +addition to some other code. + +You'll also notice that mediagoblin/db/ contains quite a few things, +including the following: + +:models.py:      This is where the database is set up +:mixin.py:       Certain functions appended to models from here +:migrations.py:  When creating a new migration (a change to the +                 database structure), we put it here + | 
