Labs/Bespin/DeveloperGuide: Difference between revisions

no edit summary
(Basic text from README.txt; the following presentation has been edited for content and formatted to fit your screen.)
 
No edit summary
 
(8 intermediate revisions by 4 users not shown)
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/ProductionDeployment|Production Deployment]] how Bespin is deployed in production.


<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/bespinclient/ The Bespin Client-side Source Code]: It all starts here
 
* [http://hg.mozilla.org/labs/bespinserver/ The Bespin Python Server Source Code]: The primary backend
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".
* [[Labs/Bespin/DeveloperGuide/UsingMercurial|Using Mercurial]]: We all integrate our work using Mercurial. Here are some best practices on how to most easily all work together using the tools at our disposal.
 
* [[Labs/Bespin/Contributing|Contributing to Bespin]]: How to contribute code
The first time around, you'll need to download Dojo and create the database:
* [[Labs/Bespin/DeveloperGuide/Tabs|Tabs]]: How to deal with variable-length tabs when writing Bespin code
 
* [[Labs/Bespin/ServerAPI|Server API]]: Fancy implementing a Bespin server?
<code>paver dojo create_db</code>
* [[Labs/Bespin/Architecture|Architecture]]: What are the parts and pieces of Bespin
 
* [[Labs/Bespin/ProjectTemplates|Project Templates]]: creating new project templates for your server
You can start up the development server (runs on localhost:8080) by running:
* [[Labs/Bespin/SyntaxHighlighting|Custom Syntax Highlighting]]: create support for new languages via syntax highlighting
 
* [[Labs/Bespin/ReleaseNotes|Release Notes]]: This is where we will update each release with info on what is in there.
<code>paver start</code>
* [[Labs/Bespin/CodingStyle|Coding Style]]: A (brief) guide to sharing code
 
You can run the unit tests by running:
 
<code>py.test 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
canmove, Confirmed users, Bureaucrats and Sysops emeriti
1,093

edits