diff options
Diffstat (limited to 'docs/source/devel/codebase.rst')
-rw-r--r-- | docs/source/devel/codebase.rst | 148 |
1 files changed, 76 insertions, 72 deletions
diff --git a/docs/source/devel/codebase.rst b/docs/source/devel/codebase.rst index 5e8cbcc6..122a3297 100644 --- a/docs/source/devel/codebase.rst +++ b/docs/source/devel/codebase.rst @@ -34,78 +34,11 @@ various recipes for getting things done. for where we hang out. For more information on how to get started hacking on GNU MediaGoblin, -see `the wiki <http://wiki.mediagoblin.org/>`_. - - -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 - - * `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 - - * `SQLAlchemy <http://sqlalchemy.org/>`_: SQL ORM and database - interaction library for Python. Currently we support sqlite and - postgress as backends. - -* 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 - - * `werkzeug <http://werkzeug.pocoo.org/>`_: nice abstraction layer - from HTTP requests, responses and WSGI bits - - * `Beaker <http://beaker.groovie.org/>`_: for handling sessions and - caching - - * `Jinja2 <http://jinja.pocoo.org/docs/>`_: the templating engine - - * `WTForms <http://wtforms.simplecodes.com/>`_: for handling, - validation, and abstraction from HTML forms - - * `Celery <http://celeryproject.org/>`_: for task queuing (resizing - images, encoding video, ...) - - * `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 - - * `JQuery <http://jquery.com/>`_: for groovy JavaScript things - +see `the wiki <http://wiki.mediagoblin.org/>`_, and specifically, go +through the +`Hacking HOWTO <http://wiki.mediagoblin.org/HackingHowto>`_ +which explains generally how to get going with running an instance for +development. What's where @@ -177,3 +110,74 @@ including the following: :migrations.py: When creating a new migration (a change to the database structure), we put it here + +Software Stack +============== + +* Project infrastructure + + * `Python <http://python.org/>`_: the language we're using to write + this + + * `Py.Test <http://pytest.org/>`_: + for unit tests + + * `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 + + * `SQLAlchemy <http://sqlalchemy.org/>`_: SQL ORM and database + interaction library for Python. Currently we support sqlite and + postgress as backends. + +* 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 + + * `werkzeug <http://werkzeug.pocoo.org/>`_: nice abstraction layer + from HTTP requests, responses and WSGI bits + + * `itsdangerous <http://pythonhosted.org/itsdangerous/>`_: + for handling sessions + + * `Jinja2 <http://jinja.pocoo.org/docs/>`_: the templating engine + + * `WTForms <http://wtforms.simplecodes.com/>`_: for handling, + validation, and abstraction from HTML forms + + * `Celery <http://celeryproject.org/>`_: for task queuing (resizing + images, encoding video, ...) + + * `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 + + * `JQuery <http://jquery.com/>`_: for groovy JavaScript things + + |