aboutsummaryrefslogtreecommitdiffstats
path: root/docs/codebase.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/codebase.rst')
-rw-r--r--docs/codebase.rst130
1 files changed, 0 insertions, 130 deletions
diff --git a/docs/codebase.rst b/docs/codebase.rst
deleted file mode 100644
index 898eadfe..00000000
--- a/docs/codebase.rst
+++ /dev/null
@@ -1,130 +0,0 @@
-.. _codebase-chapter:
-
-========================
- Codebase Documentation
-========================
-
-.. contents:: Sections
- :local:
-
-
-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
-==============
-
-* Project infrastructure
-
- * `Python <http://python.org/>`_: the language we're using to write
- this
-
- * `Nose <http://somethingaboutorange.com/mrl/projects/nose/>`_:
- for unit tests
-
- * `buildout <http://www.buildout.org/>`_: for getting dependencies,
- building a runtime environment, ...
-
-* Data storage
-
- * `MongoDB <http://www.mongodb.org/>`_: the document database backend
- for storage
-
-* Web application
-
- * `Paste Deploy <http://pythonpaste.org/deploy/>`_ and
- `Paste Script <http://pythonpaste.org/script/>`_: we'll use this for
- configuring and launching the application
-
- * `WebOb <http://pythonpaste.org/webob/>`_: nice abstraction layer
- from HTTP requests, responses and WSGI bits
-
- * `Routes <http://routes.groovie.org/>`_: for URL routing
-
- * `Beaker <http://beaker.groovie.org/>`_: for handling sessions
-
- * `Jinja2 <http://jinja.pocoo.org/docs/>`_: the templating engine
-
- * `MongoKit <http://namlook.github.com/mongokit/>`_: the lightweight
- ORM for MongoDB we're using which will make it easier to define
- structures and all that
-
- * `WTForms <http://wtforms.simplecodes.com/>`_: for handling,
- validation, and abstraction from HTML forms
-
- * `Celery <http://celeryproject.org/>`_: for task queuing (resizing
- images, encoding video, ...)
-
- * `RabbitMQ <http://www.rabbitmq.com/>`_: for sending tasks to celery
-
-* Front end
-
- * `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 below 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
-=======
-
-FIXME - write this