Overview

Welcome to Bespin!
------------------

Bespin is a Mozilla Labs experiment on how to build an extensible Web code 
editor using HTML 5 technology.

Project home page: http://labs.mozilla.com/projects/bespin/
Live system: https://bespin.mozilla.com/

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).

Getting Started
---------------

*** 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 and either the libc-dev or libc6-dev package, if you 
do not already have them.

*** NOTE FOR MAC USERS: If you put your Bespin checkout in a directory
that has a space in the directory name, the bootstrap script will fail
with an error "no such file or directory" because there will be
scripts generated with an invalid shebang (#!) line.

Run::

  python bootstrap.py --no-site-packages
  
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::

  source bin/activate
  
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".

The first time around, you'll need to download Dojo and create the database::

  paver dojo create_db

You can start up the development server (runs on localhost:8080) by running::

  paver start

You can run the unit tests by running::

  nosetests backend/python/bespin

Updating the Required Files
---------------------------

If the "requirements.txt" file changes, you can re-install the
required packages by running::

  paver required
  
You can also force upgrade all of the packages like so::

  pip install -U -r requirements.txt

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://127.0.0.1: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:

1. some libraries used by Bespin try to compile C code (*)
2. some paths may not be correct on Windows systems

Microsoft offers free command line compilers that work well with
Python.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.