This is the official manual for the latest Org-mode release.
TaskJuggler is a project management tool. It provides an optimizing scheduler that computes your project time lines and resource assignments based on the project outline and the constraints that you have provided.
The TaskJuggler exporter is a bit different from other exporters, such as the
HTML and LaTeX exporters for example, in that it does not export all the
nodes of a document or strictly follow the order of the nodes in the
document.
Instead the TaskJuggler exporter looks for a tree that defines the tasks and a optionally tree that defines the resources for this project. It then creates a TaskJuggler file based on these trees and the attributes defined in all the nodes.
org-export-as-taskjuggler)org-export-as-taskjuggler-and-open)Create your tasks as you usually do with Org mode. Assign efforts to each
task using properties (it is easiest to do this in the column view). You
should end up with something similar to the example by Peter Jones in
http://www.contextualdevelopment.com/static/artifacts/articles/2008/project-planning/project-planning.org.
Now mark the top node of your tasks with a tag named
:taskjuggler_project: (or whatever you customized
org-export-taskjuggler-project-tag to). You are now ready to export
the project plan with C-c C-e J which will export the project plan and
open a gantt chart in TaskJugglerUI.
Next you can define resources and assign those to work on specific tasks. You
can group your resources hierarchically. Tag the top node of the resources
with :taskjuggler_resource: (or whatever you customized
org-export-taskjuggler-resource-tag to). You can optionally assign an
identifier (named ‘resource_id’) to the resources (using the standard
Org properties commands, see Property syntax) or you can let the exporter
generate identifiers automatically (the exporter picks the first word of the
headline as the identifier as long as it is unique—see the documentation of
org-taskjuggler-get-unique-id). Using that identifier you can then
allocate resources to tasks. This is again done with the ‘allocate’
property on the tasks. Do this in column view or when on the task type
C-c C-x p allocate <RET> <resource_id> <RET>.
Once the allocations are done you can again export to TaskJuggler and check in the Resource Allocation Graph which person is working on what task at what time.
The exporter also takes TODO state information into consideration, i.e., if a task is marked as done it will have the corresponding attribute in TaskJuggler (‘complete 100’). Also it will export any property on a task resource or resource node which is known to TaskJuggler, such as ‘limits’, ‘vacation’, ‘shift’, ‘booking’, ‘efficiency’, ‘journalentry’, ‘rate’ for resources or ‘account’, ‘start’, ‘note’, ‘duration’, ‘end’, ‘journalentry’, ‘milestone’, ‘reference’, ‘responsible’, ‘scheduling’, etc. for tasks.
The exporter will handle dependencies that are defined in the tasks either with the ‘ORDERED’ attribute (see TODO dependencies), with the ‘BLOCKER’ attribute (see org-depend.el) or alternatively with a ‘depends’ attribute. Both the ‘BLOCKER’ and the ‘depends’ attribute can be either ‘previous-sibling’ or a reference to an identifier (named ‘task_id’) which is defined for another task in the project. ‘BLOCKER’ and the ‘depends’ attribute can define multiple dependencies separated by either space or comma. You can also specify optional attributes on the dependency by simply appending it. The following examples should illustrate this:
* Preparation
:PROPERTIES:
:task_id: preparation
:ORDERED: t
:END:
* Training material
:PROPERTIES:
:task_id: training_material
:ORDERED: t
:END:
** Markup Guidelines
:PROPERTIES:
:Effort: 2d
:END:
** Workflow Guidelines
:PROPERTIES:
:Effort: 2d
:END:
* Presentation
:PROPERTIES:
:Effort: 2d
:BLOCKER: training_material { gapduration 1d } preparation
:END:
TaskJuggler can produce many kinds of reports (e.g., gantt chart, resource
allocation, etc). The user defines what kind of reports should be generated
for a project in the TaskJuggler file. The exporter will automatically insert
some default reports in the file. These defaults are defined in
org-export-taskjuggler-default-reports. They can be modified using
customize along with a number of other options. For a more complete list, see
M-x customize-group <RET> org-export-taskjuggler <RET>.
For more information and examples see the Org-taskjuggler tutorial at http://orgmode.org/worg/org-tutorials/org-taskjuggler.html.