From 5740a0d6aa8647c182c39680fecf6b902485a9b2 Mon Sep 17 00:00:00 2001 From: Will Kahn-Greene Date: Sun, 24 Apr 2011 18:50:48 -0400 Subject: Updates to hacking howto * adds "what's where" section which isn't wildly interesting right now but it's somewhat interesting * adds "wiping environment" section --- docs/hackinghowto.rst | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) (limited to 'docs/hackinghowto.rst') diff --git a/docs/hackinghowto.rst b/docs/hackinghowto.rst index 96a7e1a4..50c59d08 100644 --- a/docs/hackinghowto.rst +++ b/docs/hackinghowto.rst @@ -41,7 +41,8 @@ If you're running Debian GNU/Linux or a Debian-derived distribution such as Mint or Ubuntu, running the following should install these requirements:: - sudo apt-get install mongodb git-core python python-dev python-lxml + sudo apt-get install mongodb git-core python python-dev \ + python-lxml Running bootstrap and buildout @@ -78,11 +79,26 @@ Updating dependencies --------------------- While hacking on GNU MediaGoblin over time, you'll eventually have to -update the dependencies. To do that, run:: +update your development environment. To do that, run:: ./bin/buildout +Wiping your environment for a clean-slate +----------------------------------------- + +Delete the following directories: + +* bin/ +* develop-eggs/ +* eggs/ +* mediagoblin.egg-info/ +* parts/ +* user_dev/ + +FIXME - how to drop data from mongodb? + + Running the server ================== @@ -99,6 +115,32 @@ Run:: ./bin/nosetests +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 + + + Quickstart for Django programmers ================================= -- cgit v1.2.3 From 9d952fdc7930dcdf1c2ee5ca6094c80a998d86ba Mon Sep 17 00:00:00 2001 From: Will Kahn-Greene Date: Wed, 27 Apr 2011 22:42:17 -0400 Subject: Reworked contributing docs based on Asheesh's thoughts I chatted with Asheesh on IRC today and asked him to look over the contributer howto. He had a lot of thoughts and I factored most/all of them in. It's much better now. --- docs/hackinghowto.rst | 61 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 3 deletions(-) (limited to 'docs/hackinghowto.rst') diff --git a/docs/hackinghowto.rst b/docs/hackinghowto.rst index 50c59d08..8b40e37d 100644 --- a/docs/hackinghowto.rst +++ b/docs/hackinghowto.rst @@ -8,8 +8,9 @@ So you want to hack on GNU MediaGoblin? ======================================= -First thing to do is check out the Web site where we list all the -project infrastructure including: +First thing to do is check out the `Web site +`_ where we list all the project +infrastructure including: * the mailing list * the IRC channel @@ -87,6 +88,13 @@ update your development environment. To do that, run:: Wiping your environment for a clean-slate ----------------------------------------- +.. Note:: + + Unless you're doing development and working on and testing creating + a new instance, you will probably never have to do this. Will + plans to do this work and thus he documented it. + + Delete the following directories: * bin/ @@ -96,7 +104,8 @@ Delete the following directories: * parts/ * user_dev/ -FIXME - how to drop data from mongodb? +FIXME - how to drop data from mongodb? we should probably write a +script. Running the server @@ -151,3 +160,49 @@ Bite-sized bugs to start with ============================= FIXME - write this + + +Tips for people new to coding +============================= + +Python +------ + +GNU MediaGoblin is written using a programming language called `Python +`_. + +There are two different incompatible iterations of Python which I'll +refer to as Python 2 and Python 3. GNU MediaGoblin is written in +Python 2 and requires Python 2.6 or 2.7. At some point, we might +switch to Python 3, but that's a future thing. + +You can learn how to code in Python 2 from several excellent books +that are freely available on the Internet: + +* `Learn Python the Hard Way `_ +* `Dive Into Pyton `_ +* `Python for Software Design `_ +* `A Byte of Python `_ + +These are all excellent texts. + +FIXME - are there good quality Python tutorial videos? + + +Libraries +--------- + +GNU MediaGoblin uses a variety of libraries in order to do what it +does. These libraries are listed in the :ref:`beardomatic-chapter` +along with links to the project Web sites and documentation for the +libraries. + +There are a variety of Python-related conferences every year that have +sessions covering many aspects of these libraries. You can find them +at `Python Miro Community `_ [0]_. + +.. [0] This is a shameless plug. Will Kahn-Greene runs Python Miro + Community. + +If you have questions or need help, find us on the mailing list and on +IRC. -- cgit v1.2.3