Skip to content
ccotter edited this page Dec 13, 2012 · 9 revisions

This page details how to setup a BSD- or Linux-based machine for development of the coweb framework itself. If you just want to use the framework in your own applications, see the deployment guide in the OpenCoweb manual.

Source control

  1. Install and configure the git client on your machine for GitHub access.
  2. If you have read/write access to the coweb and cowebx repositories, clone them:
$ git clone [email protected]:opencoweb/coweb.git
$ git clone [email protected]:opencoweb/cowebx.git
  1. If you want to start contributing but don't have access to our repos yet, follow the standard practice for GitHub forking and pull requests.

Python setup

If you plan to make changes to the JS, we recommend setting up a Python dev environment. This setup uses the uncompressed JS source so you can refresh your web app or test page to pickup any JS changes.

  1. Install Python 3.2 or higher if it's not already on your system. You can check with:
$ python --version
  1. Install virtualenv. We recommend using easy_install if it's available:
$ sudo easy_install virtualenv
  1. Create a coweb developer virtual environment and activate it:
$ virtualenv -p python3 ~/my/work/path
$ source ~/my/work/path/bin/activate
1. If you plan to work on the apps / widgets in cowebx, you can symlink the app using our convenience script:
```console
$ cd cowebx/cowebx-apps
$ python setup.py -a <APP> develop --force
  1. Start the server in the virtualenv:
$ run_server.py --port=PORT # default is 8080
  1. To deactivate the virtualenv later, run:
$ deactivate

Java setup

  1. Install a Java 1.6 JDK if one isn't already on your system. You can check with:
$ javac -version
  1. Install Maven 2 or 3 if it's not already installed. You can check with:
$ mvn --version
  1. Use Maven to install the coweb components from your local clone.
$ cd coweb/servers/java
$ mvn install
  1. If you plan to work on the apps / widgets in cowebx, you can use the Maven Jetty plug-in to deploy them easily:
$ cd cowebx
$ mvn install
$ cd cowebx-apps/$APP # APP is one of the app directory names: {launcher, coedit, cotree, ...}
$ mvn jetty:deploy-war -Djetty.port=PORT # default is 8080

Doc tools

  1. Install the Sphinx doc tool. We recommend using easy_install if it's available:
$ sudo easy_install Sphinx

Release tools

  1. Install GnuPG installed. For Mac, get GPGKeyChainAccess client from https://github.com/GPGTools/GPGKeychainAccess/downloads or http://www.gpgtools.org/projects.html.
  2. Import the OpenCoweb key pair into your GPG keychain.
  3. See the Release process page for the release procedure.