]po[ TaskJuggler Package

This is the ]project-open[ interface with TaskJuggler . TaskJuggler is an open source project scheduling and resource leveling application, allowing to calculate the start- and end dates of project tasks, depending on the available resources and the project and task prioritization.

Please see the user documentation on how to use the TaskJuggler integration.

Operation Overview

  1. The interface creates a TaskJuggler ".tjp" project description file from a ]project-open[ project, including resources, resource availability (vacation and other absences), current task completion and past timesheet hours spent on the project.
  2. Based on this information, TaskJuggler can calculate the schedule for the project with high precision and based on updated information.
  3. ]project-open[ then imports the TaskJuggler schedule and sets the start- and end dates of tasks and sub-projects accordingly. It also updates resource assignment information.

Status, Maturity and Roadmap

The integration has been tested and works for standard use-cases in ]po[ V5.1.

TJ3 Constraints

There are differences concerning the enforcement of constraints between ]po[ and TaskJuggler, with ]po[ being more permissive than TJ3. This can lead to error messages by TJ3 in certain cases, for example:

  • Hours logged before the official start of a project create a TJ3 error.
  • Tasks without a start constraint create TJ3 error.

Scheduling of Single Projects, Programs and Portfolios

The TaskJuggler integration currently (]po[ V5.1, 2021-02-10) only supports scheduling a single project. However, an extension to programs, portfolios or the entire list of projects is very easy and can be created on demand.


Please follow the instructions on how to download and install packages in order to install the TaskJuggler integration. The name of the package is "intranet-taskjuggler".

You will also need to install TaskJuggler 3.7.1 or higher in the binary available in /usr/local/bin/tj3 using the command "gem install taskjuggler".



Related Packages:

  • Gantt Editor for creating (TaskJuggler) schedules interactively

Related Modules:

Package Documentation 

Procedure Files

tcl/intranet-taskjuggler-procs.tcl       Integrate ]project-open[ tasks and resource assignations with GanttProject and its data structure 


im_taskjuggler_task_path       Returns a TJ "absolute" path for a task. 
im_taskjuggler_write_subtasks       Returns a TJ specification of the project's tasks 
im_taskjuggler_write_task       Write out the information about one specific task and then call a recursive routine to write out the stuff below the task. 

SQL Files


Content Pages

      taskjuggler-import.tcl Create a TaskJuggler .tpj file for scheduling
      taskjuggler.tcl Create a TaskJuggler .tpj file for scheduling

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)


 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com