Labs/Bespin/DeveloperGuide/Setup: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Getting Started: Make this continue to read properly.)
No edit summary
 
(21 intermediate revisions by 7 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).
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).
== Prerequisites ==
You will need the following installed on your system to get Bespin up and running:
*Mercurial
*Python 2.5 or 2.6
Python 2.6 is preferred.
'''NOTE FOR LINUX USERS:''' ''If you are running on a Linux system, you will likely need a "python-dev" and "ruby1.8-dev" (on Ubuntu; possibly "python-devel" elsewhere) package installed, if you do not already have it. If you want to build the embedded release, you will want libyaml: the package on Ubuntu is "libyaml-dev".''
'''NOTE FOR MAC USERS:''' ''You will need Xcode installed.''
'''NOTE FOR WINDOWS USERS:''' ''Most Bespin developers are using unix-like platforms. Bespin's server should be able to run on Windows, though. You'll need a C compiler, and you can use Microsoft's free [http://www.microsoft.com/Express/VC/ Visual C++] compiler. As an alternative, you can use [http://www.cygwin.com/ Cygwin] or [http://www.mingw.org/ MinGW] to have a unix-like environment on your Windows system.''


==Getting Started==
==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, if you do not already have it.''


Run:
Run:


<code>hg clone http://hg.mozilla.org/labs/bespin</code>
    hg clone http://hg.mozilla.org/labs/bespinclient
 
    hg clone http://hg.mozilla.org/labs/bespinserver
<code>cd bespin/</code>
    cd bespinclient


to download the Mercurial repository and enter the <code>bespin/</code> directory. (See the [[Labs/Bespin/DeveloperGuide/UsingMercurial|Using Mercurial]] article for more detailed instructions on using Mercurial.)
This will get the Bespin client and Python Bespin server code checked out. The <code>bespinclient/</code> directory is the "main" directory that you'll use. (See the [[Labs/Bespin/DeveloperGuide/UsingMercurial|Using Mercurial]] article for more detailed instructions on using Mercurial.)


To set up Bespin for the first time, run:
To set up Bespin for the first time, run:


<code>python bootstrap.py --no-site-packages</code>
    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:
to get the environment set up. This is built around [http://pypi.python.org/pypi/virtualenv virtualenv]. Please watch for helpful hints and instructions on screen.
 
In Unix-like environments, the next step is to activate the virtualenv using this command:


<code>source bin/activate</code>
    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:
on Windows, the command is Scripts/activate.bat


<code>paver dojo create_db</code>
Once the virtualenv is activate, you need to get the server set up:


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


<code>paver start</code>
And the first time around, you're also going to want to get a database set up:


If you already have something running on port 8080, or wish to listen on a specific IP address, you can run the server with a couple of additional arguments. For instance, to run it on 127.0.0.1:8000, you could run:
    paver create_db


<code>paver server.address=127.0.0.1 server.port=8000</code>
If you have some trouble on macos x like the error message: ImportError: No module named `xxx'
It's probably cause the server side is not completely installed so try
    cd ../bespinserver
    paver develop
    paver create_db


For a complete reference on all commands and their arguments, run <code>paver help</code> or <code>paver help &lt;command&gt;</code>.
==Starting the development server==


You can run the unit tests by running:
If you are no longer (or not yet) in the virtualenv environment run within the bespinclient directory:


<code>nosetests backend/python/bespin</code>
  source bin/activate


==Updating the Required Files==
To start the server execute:


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


<code>paver required</code>
This will start the Bespin server. You can now access the Bespin editor at http://localhost:8080/ in you browser.
 
You can also force upgrade all of the packages like so:


<code>pip install -U -r requirements.txt</code>
Have fun!


==More Documentation==
==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/.
The documentation of the last release is [https://bespin.mozillalabs.com/docs/ here].


==Contributing to Bespin==
==Contributing to Bespin==
Line 59: Line 74:
For details see:
For details see:
:[[Labs/Bespin/Contributing]]
:[[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

Latest revision as of 07:23, 23 June 2010

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

Prerequisites

You will need the following installed on your system to get Bespin up and running:

  • Mercurial
  • Python 2.5 or 2.6

Python 2.6 is preferred.

NOTE FOR LINUX USERS: If you are running on a Linux system, you will likely need a "python-dev" and "ruby1.8-dev" (on Ubuntu; possibly "python-devel" elsewhere) package installed, if you do not already have it. If you want to build the embedded release, you will want libyaml: the package on Ubuntu is "libyaml-dev".

NOTE FOR MAC USERS: You will need Xcode installed.

NOTE FOR WINDOWS USERS: Most Bespin developers are using unix-like platforms. Bespin's server should be able to run on Windows, though. You'll need a C compiler, and you can use Microsoft's free Visual C++ compiler. As an alternative, you can use Cygwin or MinGW to have a unix-like environment on your Windows system.

Getting Started

Run:

   hg clone http://hg.mozilla.org/labs/bespinclient
   hg clone http://hg.mozilla.org/labs/bespinserver
   cd bespinclient

This will get the Bespin client and Python Bespin server code checked out. The bespinclient/ directory is the "main" directory that you'll use. (See the Using Mercurial article for more detailed instructions on using Mercurial.)

To set up Bespin for the first time, run:

   python bootstrap.py --no-site-packages
 

to get the environment set up. This is built around virtualenv. Please watch for helpful hints and instructions on screen.

In Unix-like environments, the next step is to activate the virtualenv using this command:

   source bin/activate

on Windows, the command is Scripts/activate.bat

Once the virtualenv is activate, you need to get the server set up:

   paver install_server

And the first time around, you're also going to want to get a database set up:

   paver create_db

If you have some trouble on macos x like the error message: ImportError: No module named `xxx' It's probably cause the server side is not completely installed so try

   cd ../bespinserver
   paver develop
   paver create_db

Starting the development server

If you are no longer (or not yet) in the virtualenv environment run within the bespinclient directory:

 source bin/activate

To start the server execute:

 paver start

This will start the Bespin server. You can now access the Bespin editor at http://localhost:8080/ in you browser.

Have fun!

More Documentation

The documentation of the last release is here.

Contributing to Bespin

For details see:

Labs/Bespin/Contributing