kproject

[toc]

Pour faire le suivi de mon temps, j'utilise kproject, un module Drupal développé par Koumbit. En plus d'avoir toutes sortes de rapports possibles (par Views), c'est aussi possible de "puncher" par messagerie instantanée (IRC ou Jabber).

Installation de kproject

Dans un Drupal 6.x, télécharger et activer les modules suivants:

  • git clone git://git.koumbit.net/drupal/contrib/modules/kproject.git
  • git clone git://git.koumbit.net/drupal/contrib/modules/ktimetracker.git

Les modules date et jquery_ui sont également suggérés.

Une fois installé:

  • activer les modules "kproject", "ktimetracker" et "kpirc",
  • spécifier que les "tasks" sont "punchables" dans /admin/settings/ktimetracker
  • copier la librairie "optionparser" dans le répertoire "libraries" (voir le README de kproject pour plus d'information).

Installation de gozerbot

# apt-get install gozerbot gozerbot-plugins

Puis configurer le bot pour qu'il se connecte à IRC:

  • ses fichiers de configuration sont dans /etc/gozerbot/ (principalement "mainconfig" et "fleet/default/config")
  • faire démarrer le bot dans les configurations globales du système, i.e. /etc/default/gozerbot, définir "RUN=yes".
  • démarrer le bot: /etc/init.d/gozerbot start

Le bot est un peu cryptique à utiliser.. en bref on doit s'authentifier au bot par son "hostname" (donc généralement le réseau IRC doit fournir un "cloak").

Installation du plugin pour puncher par IRC

  • créer le répertoire /var/lib/gozerbot/myplugs
  • y placer une copie du code:

    cd /var/lib/gozerbot/myplugs svn co https://phptimetracker.svn.sourceforge.net/svnroot/phptimetracker/trunk/phptimetracker/gozerbot/ timetracker

i.e. de sorte que le code sera dans /var/lib/gozerbot/myplugs/timetracker/ttracker.py (et autres)

  • copier le fichier /usr/share/python-support/gozerbot-plugins/gozerplugs/__ init __.py dans /var/lib/gozerbot/myplugs (sinon le bot risque de ne pas trouver les modules -- attention: pas d'espaces dans le nom de fichier __ init __, c'est juste que sinon mon éditeur le transforme en caractères gras).

Sur IRC, charger le module:

moi> ~load timetracker
bot> reloaded: ttracker .. timetracker

Sur le serveur web qui héberge le site Drupal, obtenir la clé privée du site qui authorise les commandes xml-rpc:

$ drush @nom.site.net vget drupal_private_key

Puis la configurer dans le bot:

moi> ~ttracker-cfg kproject_key [... clé de 32 caractères en hexadécimal ...]
moi> ~ttracker-cfg kproject_site http://travail.bidon.ca

Pour plus de convivialité, on peut aussi définir les alias suivants:

moi> ~alias-set pi tt-punchin
moi> ~alias-set po tt-punchout