1. Chris Perkins
  2. c5t


Clone wiki

c5t / Home

Current Functionality

  • Calendars
    • Events
    • Month Viewing (much like iCal's month view)
  • Pages
    • Creatable simply by typing in the desired new url
    • Public or private
    • Files
      • Public or private (public files can be configured to be served by nginx or apache, which takes a load off your wsgi server and is very fast)
      • Stored in the filesystem
      • (Soon to be implemented: automatic revisioning)
  • Built-in authentication and authorization system (though you can use whatever you want)
  • Full text search over all pages
  • Everything runs on a MongoDB back-end, so it's super-fast.
  • Plugins


The three first steps are the hardest, and each deserve their own (forthcoming) page.

  1. Install Python.
  2. Install MongoDB and start a server (the default port of 27017 is great).
  3. Setup a virtualenv, and activate it.
  4. Make sure your virtualenv is activated: your command prompt will start with something like (myvirtualenv), which is just the name of your virtualenv in parentheses
  5. Within that virtualenv, run this command:
hg clone http://bitbucket.org/percious/c5t/
  1. Then run the following:
pip install -e hg+http://bitbucket.org/turbogears/tg-dev/#egg=tg
pip install -e hg+http://bitbucket.org/turbogears/tgdevtools-dev/#egg=tgdevtools
pip install -e hg+http://bitbucket.org/toscawidgets/tw2.core/#egg=tw2.core
pip install -e hg+http://bitbucket.org/toscawidgets/tw2.forms/#egg=tw2.forms
pip install -e hg+http://bitbucket.org/toscawidgets/tw2jquery/#egg=tw2.jquery
pip install -e git+https://github.com/ralphbean/tw2.jqplugins.ui.git/#egg=tw2.jqplugins.ui
pip install -e hg+http://bitbucket.org/josephtate/tw2.jqplugins.elrte/#egg=tw2.jqplugins.elrte
  1. At this point, it's probably a good idea to get PIL installed. Run pip install PIL. When completed, you should see something like this
    *** TKINTER support not available (Tcl/Tk 8.5 libraries needed)
    --- JPEG support available
    --- ZLIB (PNG/ZIP) support available
    --- FREETYPE2 support available
    *** LITTLECMS support not available
--- SNIP ---
Successfully installed PIL
  1. Okay! You now have everything you need to install manually, the rest is pretty automatic. (We hope!)
  2. cd into the c5t directory (which is in your virtualenv directory)
  3. If there is a development.ini file and a setup.py file in that directory, you're in the right place.
  4. Run the following, which will automatically get other dependencies python setup.py develop
  5. Run this to get some sandbox data — just a few example pages, users, events, and calendars: paster setup-app development.ini
  6. To start the server, run this: paster serve --reload development.ini
  7. Okay, it should tell you something like serving on view at
  8. Now your server is running. Open up your browser and go to http://localhost:8080/
  9. Awesome!
  10. You can login with this example user and password: manager, managepass
  11. And you're good to go!


We're at 98% coverage right now, here's how to run testing on your machine: Testing