Export from Trac to Taskjuggler


This plugin allows you to export data from Trac to Taskjuggler to get a real management tool and planning ability. You can group your task by milestone and MacroTask. TaskJuggler is a free and Open Source project management tool.

Bugs/Feature Requests

Existing bugs and feature requests for TaskjugglerPlugin are here.

If you have any issues, create a new ticket.


0 / 1


Download the zipped source from here Attachment 3.


You can check out TaskjugglerPlugin from here using Subversion, or browse the source with Trac.


  • See the README File in the zip file.
  • To have some knowledges of Taskjuggler a complete manual is available here
  • You will need to have the following:
    • Some special custom fields.
    • Unfortunately I'm not a Python dev so I wrote in PHP requirement for it are : available for php 5.1.2


  1. Create new custom fields
    macro_task = select
    macro_task.label = Macro Task
    macro_task.options = MacroTask 1| MacroTask2 #change <- by your macro Task
    macro_task.order = 0
    estimatedhours = text
    estimatedhours.label = Plan 
    estimatedhours.value = 0
    estimatedhours.order = 2
    hours = text
    hours.label = Add Days
    hours.value = 0
    hours.order = 3
    estimatedfinal = text
    estimatedfinal.label = Actual
    estimatedfinal.value = 0
    estimatedfinal.order = 4
    totalhours = text
    totalhours.label = Nb days worked
    totalhours.value = 0
    totalhours.order = 5
    daysworked = textarea
    daysworked.label = days worked
    daysworked.cols = 23
    daysworked.rows = 6
    daysworked.order = 6
  2. Change the 2 settings on top of trac2TaskJuggler.php:
    PDO('sqlite:/home/intranet/intra/t3_trac/db/trac.db'); <- set your config
  3. Upload trac2TaskJuggler.php to your server.
  4. Edit trac.tjp for setting first_milestone macro AND as you want vacation, working hours.
  5. You can use your to retrieve your data automatically.
  6. The days worked area field will be set by the project manager or by the developer as explained here, one interval per line.
  7. You can add this js script into site_header.cs template to deliver information, see screenshots:
    <script language="javascript" type="text/javascript">
    function AddEventListener( elem, evt, func, capture){
        capture = capture || false;
        if(elem.addEventListener) elem.addEventListener( evt, func, capture);
        else elem.attachEvent('on'+evt, func);
        return func;
    add_legend = function() {
        var x = document.getElementById('daysworked');
        if(x) {
          var p = x.parentNode;
          var n = document.createElement('div')
 = "left";
          n.innerHTML = "Valeurs possibles : <ul><li>yyyy-mm-dd</li><li>yyyy-mm-dd - yyyy-mm-dd &nbsp;&nbsp;<u>/!\\</u> la 2ème valeur n'est pas inclus dans le calcul</li><li>yyyy-mm-dd +?d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u>/!\\</u> ? doit être remplacés par le nb de jour</li></ul>" ;
    AddEventListener(window, 'load', add_legend)


  • See attachments.
  • See here from



Recent Changes

2077 by mdelorme on 2007-03-05 17:39:16
New hack TaskjugglerPlugin, created by mdelorme


Author: mdelorme
Maintainer: Maxime Delorme

Last modified 10 months ago Last modified on Nov 2, 2015, 7:41:03 PM

Attachments (3)

Download all attachments as: .zip