diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2012-02-09 09:10:08 -0600 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2012-02-09 09:16:14 -0600 |
commit | 973f37e9c39a8784f21f97a256890509eefb6f31 (patch) | |
tree | 54db938ee80c0b90cd31c86b8e545a7f7c1f27cc /docs/source | |
parent | 0c8e20cf13db50f2e51ade41e204ae5e0501e4e5 (diff) | |
download | mediagoblin-973f37e9c39a8784f21f97a256890509eefb6f31.tar.lz mediagoblin-973f37e9c39a8784f21f97a256890509eefb6f31.tar.xz mediagoblin-973f37e9c39a8784f21f97a256890509eefb6f31.zip |
Updating codebase.rst to reflect the modern mediagoblin world
- adding/removing libraries listed as appropriate
- buildout->virtualenv references
- Updating directory structure description to reflect current reality
Diffstat (limited to 'docs/source')
-rw-r--r-- | docs/source/codebase.rst | 53 |
1 files changed, 42 insertions, 11 deletions
diff --git a/docs/source/codebase.rst b/docs/source/codebase.rst index 2518e48f..e784c9e5 100644 --- a/docs/source/codebase.rst +++ b/docs/source/codebase.rst @@ -48,8 +48,10 @@ Software Stack * `Nose <http://somethingaboutorange.com/mrl/projects/nose/>`_: for unit tests - * `buildout <http://www.buildout.org/>`_: for getting dependencies, - building a runtime environment, ... + * `virtualenv <http://www.virtualenv.org/>`_: for setting up an + isolated environment to keep mediagoblin and related packages + (potentially not required if MediaGoblin is packaged for your + distro) * Data storage @@ -67,21 +69,47 @@ Software Stack * `Routes <http://routes.groovie.org/>`_: for URL routing - * `Beaker <http://beaker.groovie.org/>`_: for handling sessions + * `Beaker <http://beaker.groovie.org/>`_: for handling sessions and + caching * `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 + * `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 (will be swapped out soon...) + + * `SQLAlchemy <http://sqlalchemy.org/>`_: SQL ORM and database + interaction library for Python. We'll be moving to this in the + upcoming move to SQL. + + * `Babel <http://babel.edgewall.org>`_: Used to extract and compile + translations. + + * `Markdown (for python) <http://pypi.python.org/pypi/Markdown>`_: + implementation of `Markdown <http://daringfireball.net/projects/markdown/>`_ + text-to-html tool to make it easy for people to write richtext + comments, descriptions, and etc. + + * `lxml <http://lxml.de/>`_: nice xml and html processing for + python. + +* Media processing libraries + + * `Python Imaging Library <http://www.pythonware.com/products/pil/>`_: + used to resize and otherwise convert images for display. + + * `GStreamer <http://gstreamer.freedesktop.org/>`_: (Optional, for + video hosting sites only) Used to transcode video, and in the + future, probably audio too. + + * `chardet <http://pypi.python.org/pypi/chardet>`_: (Optional, for + ascii art hosting sites only) Used to make ascii art thumbnails. * Front end @@ -92,7 +120,8 @@ Software Stack What's where ============ -After you've run buildout, you're faced with the following directory +After you've run checked out mediagoblin and followed the virtualenv +instantiation instructions, you're faced with the following directory tree:: mediagoblin/ @@ -102,12 +131,14 @@ tree:: | |- auth/ | \- submit/ |- docs/ # documentation + |- devtools/ # some scripts for developer convenience | - | # the below directories are generated by buildout. + | # the below directories are installed into your virtualenv checkout | |- bin/ # scripts |- develop-eggs/ - |- eggs/ + |- lib/ # python libraries installed into your virtualenv + |- include/ |- mediagoblin.egg-info/ |- parts/ |- user_dev/ # sessions, etc |