Labs/Bespin/DeveloperGuide: Difference between revisions

From MozillaWiki
< Labs‎ | Bespin
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
Thanks for downloading the code to the Bespin project. You can easily get Bespin's Python server running on your local Mac or Linux machine (see note about Windows below).
Welcome to the Bespin Developer Guide.


==Getting Started==
This document will be the starting point for developers interested in coding and contributing to Bespin.


'''NOTE FOR LINUX USERS:''' ''If you are running on a Linux system, you will likely need a "python-dev" (on Ubuntu; possibly "python-devel" elsewhere) package installed, if you do not already have it.''
There are a few things you may be interested in:


Run:
* [[Labs/Bespin/DeveloperGuide/Setup|Setup Bespin]] will show you how to install and setup a Bespin server for development
* [[/Labs/Bespin/DesignDocs|Design Documents]] on various features are available for you...... to implement! :)
* [[/Labs/Bespin/DesignDocs/ConfigIntegration|Configuration Integration]] shows you how you can extend Bespin through your configuration environment.


<code>python bootstrap.py --no-site-packages</code>
== Source Code ==
 
to get the environment set up. This is built around virtualenv. All of the required packages will automatically be installed. Once this is set up, you can run:


<code>source bin/activate</code>
* [http://hg.mozilla.org/labs/bespin/ The Bespin Source Code]: It all starts here
 
* [https://bespin.mozilla.com/docs/ Bespin Code Documentation]: Thanks to code illumination
to enter the virtualenv. Alternatively, you can just prefix the commands you run with "bin/". If you wish to restore your command line environment, you can type "deactivate".
** [https://bespin.mozilla.com/docs/events.html Events API]: Explicit documentation on the various custom events you can publish and subscribe too
* [[Labs/Bespin/Contributing|Contributing to Bespin]]: How to contribute code
* [[Labs/Bespin/ServerAPI|Server API]]: Fancy implementing a Bespin server?
* [[Labs/Bespin/Architecture|Architecture]]: What are the parts and pieces of Bespin
* [[Labs/Bespin/ReleaseNotes|Release Notes]]: This is where we will update each release with info on what is in there.
* [[Labs/Bespin/CodingStyle|Coding Style]]: A (brief) guide to sharing code


The first time around, you'll need to download Dojo and create the database:
TO DO: We will be adding full architecture documentation to show you the high level picture, as well as a more flushed out plugin API.
 
<code>paver dojo create_db</code>
 
You can start up the development server (runs on localhost:8080) by running:
 
<code>paver start</code>
 
You can run the unit tests by running:
 
<code>nosetests backend/python/bespin</code>
 
==Updating the Required Files==
 
If the "requirements.txt" file changes, you can re-install the required packages by running:
 
<code>paver required</code>
 
You can also force upgrade all of the packages like so:
 
<code>pip install -U -r requirements.txt</code>
 
==More Documentation==
 
Documentation for Bespin's code and APIs are actually part of every instance of the Bespin server. To view the docs on your local instance, just browse to http://localhost:8080/docs/.
 
==Contributing to Bespin==
 
For details see:
:https://wiki.mozilla.org/Labs/Bespin/Contributing
 
The source repository is in Mercurial at:
:http://hg.mozilla.org/labs/bespin/
 
==Note about running on Windows==
 
The current, up-to-date Bespin backend is written in Python. Because Python is cross-platform, it should be possible (and likely not too difficult) to make the backend work on Windows once Python 2.5 is installed. However, this has not been tested and there are likely two issues:
 
# some libraries used by Bespin try to compile C code
# some paths may not be correct on Windows systems

Revision as of 16:04, 11 March 2009

Welcome to the Bespin Developer Guide.

This document will be the starting point for developers interested in coding and contributing to Bespin.

There are a few things you may be interested in:

  • Setup Bespin will show you how to install and setup a Bespin server for development
  • Design Documents on various features are available for you...... to implement! :)
  • Configuration Integration shows you how you can extend Bespin through your configuration environment.

Source Code

TO DO: We will be adding full architecture documentation to show you the high level picture, as well as a more flushed out plugin API.