Skip to content
Andrew Mleczko edited this page Jul 31, 2013 · 3 revisions

Since version 1.5.3 Penelope can been integrated with Karma. Here you will find instruction how to use it.

Setup with virtualenv under Debian

The following procedure has been tested with a clean ''64bit Debian Wheezy'' server: it should work ''as is'' under Squeeze (or perhaps even Lenny) and with 32bit architectures. The same procedure should also apply to recent Ubuntu servers. It should also work with minimal changes for other Linux distributions (namely, the package names and the procedures to install the server environment).

Setup the server environment

The following is the minimal set of packages needed on the server (with older Debian releases you can use the PostgreSQL provided by the system, it is not important to have the 9.1 release):

# apt-get install postgresql-9.1 python-all-dev python-setuptools \
            postgresql-server-dev-all libxslt1-dev \
            libxml2-dev make gcc g++ subversion python-virtualenv

Next, as user ''postgres'' create the database, a user and setup a password (in the following we assume that the database and the user are called ''dashboard'', and we setup a silly ''mypassword''):

# su - postgres 
$ createuser --no-createdb --no-createrole --no-superuser --pwprompt dashboard
Enter password for new role: mypassword
Enter it again: mypassword
$ createdb --owner=dashboard dashboard

See also:

Setup the application environment

First of all checkout the code, setup the virtual environment and activate it:

$ git clone https://github.com/getpenelope/getpenelope.buildout.git
$ virtualenv --python=python2.6 --no-site-package getpenelope.buildout
$ cd getpenelope.buildout 
$ . ./bin/activate
$ python bootstrap.py -c karma.cfg

Modify or extend karma.cfg adding the following stanza:

[dashboard] 
db_string = postgresql://dashboard:mypassword@localhost:5432/dashboard

and the karma integration link:

[settings]
karmaurl = http://mykarma.intranet.com/

somewhere in the file, and then run:

$ bin/buildout -c karma.cfg 

The http://mykarma.intranet.com/ should respond with JSON list of available Karma projects, something like:

 [{"Id":1,"ExternalId":0,"Titolo":"Progetto1"},
  {"Id":2,"ExternalId":0,"Titolo":"Progetto2"},
  {"Id":3,"ExternalId":0,"Titolo":"Progetto3"}]

Running Penelope

You can populate the system with some dummy data. The first option is to use ''populate_with_dummies'':

$ ./bin/populate_with_dummies etc/development.ini

that will create a lot of dummy entries (users, projects, customers, time entries, etcetera), the second option is to use ''populate_penelope'':

$ ./bin/populate_penelope etc/development.ini

which will create just a minimal dataset (use only one of them, not both, and only if you want to ''pollute'' penelope with mocks).

Now you can run penelope:

$ ./bin/dashboard serve etc/development.ini

Enjoy.