The TaskJuggler User Manual

Project Management beyond Gantt Chart drawing
Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 by Chris Schlaeger <>
Generated on 2018-05-28

This manual covers TaskJuggler version 3.7.0.

1 Introduction
1.1 About TaskJuggler
1.2 License and Copyright
1.3 Features and Highlights
1.3.1 Basic Properties
1.3.2 Advanced Scheduling
1.3.3 Accounting
1.3.4 Reporting
1.3.5 Scaling and Enterprise Features
1.3.6 Web Publishing and Groupware Functions
1.4 TaskJuggler on the Web
1.5 TaskJuggler 2.x Migration
1.6 Using TaskJuggler 2.x and TaskJuggler 3.x in parallel
1.7 Reporting Bugs and Feature Requests
2 Installation
2.1 Requirements
2.1.1 Supported Operating Systems
2.1.2 Other required Software
2.2 Installation Steps for Users
2.2.1 The easy way System Wide Installation Installation into a local Directory
2.2.2 The manual way
2.3 Update from older TaskJuggler 3.x versions
2.4 Installing TaskJuggler from the Git Repository
2.5 Quickly switching between various TaskJuggler 3.x versions
2.6 Installing a newer Ruby version
2.7 Installing the Vim Support
2.8 How to Contribute
2.8.1 Why contribute?
2.8.2 Preparing a contribution
2.8.3 Creating a Patch
2.8.4 Contributing to the User Manual
2.8.5 Contributing to the Test Suite
2.8.6 Contributing to the Ruby code
2.8.7 Some final words to Contributors
3 Getting Started
3.1 Basics
3.2 Structure of a TJP File
4 The Tutorial: Your first Project
4.1 Starting the project
4.2 Global Attributes
4.3 Macros
4.4 Declaring Flags
4.5 Declaring Accounts
4.6 Declaring Resources
4.7 Specifying the Tasks
4.8 Specifying Milestones
4.9 Visualizing the Project
5 The TaskJuggler Syntax
5.1 Understanding the Syntax Reference
5.1.2 ID
5.1.4 STRING
5.2 Predefined Macros
5.3 Environment Variable Expansions
5.4 Rich Text Attributes
5.4.1 Block Markups
5.4.2 In-Line Markups
5.4.3 Block and Inline Generators
5.5 List Attributes
6 The TaskJuggler Software
6.1 tj3
6.2 tj3man
6.3 tj3d
6.4 tj3client
6.5 tj3webd
7 Day To Day Juggling
7.1 Working with multiple scenarios
7.2 Important and fall-back Tasks
7.3 Tracking the Project
7.4 Recording Progress
7.4.1 Using completion values
7.4.2 Using bookings
7.5 Tracking status and actuals
7.5.1 The reporting and tracking cycle
7.6 Implementing the status tracking system
7.6.1 Prerequisites
7.6.2 The Time Sheet Template Sender
7.6.3 The Time Sheet Receiver
7.6.4 Time Sheet Template Requests
7.6.5 Time Sheet Summaries
7.6.6 Updating the Project Plan
7.7 Recording actual Resource Usage
7.7.1 Status Sheets
7.7.2 The Status Sheet Template Sender
7.7.3 Requesting Status Sheet Templates
7.7.4 The Status Sheet Receiver
8 TaskJuggler Internals
8.1 How the Scheduler works
9 GNU Free Documentation License
A Syntax Reference
A.1 account
A.2 account (task)
A.3 accountprefix
A.4 accountreport
A.5 accountroot
A.6 active
A.7 adopt (task)
A.8 aggregate
A.9 alert
A.10 alertlevels
A.11 allocate
A.12 alternative
A.13 author
A.14 auxdir
A.15 auxdir (report)
A.16 balance
A.17 booking (resource)
A.18 booking (task)
A.19 caption
A.20 cellcolor (column)
A.21 celltext (column)
A.22 center
A.23 charge
A.24 chargeset
A.25 columnid
A.26 columns
A.27 complete
A.28 copyright
A.29 credits
A.30 currency
A.31 currencyformat
A.32 dailymax
A.33 dailymin
A.34 dailyworkinghours
A.35 date
A.36 date (extend)
A.37 definitions
A.38 depends
A.39 details
A.40 disabled
A.41 duration
A.42 efficiency
A.43 effort
A.44 effortdone
A.45 effortleft
A.46 email
A.47 enabled
A.48 end
A.49 end (column)
A.50 end (limit)
A.51 end (report)
A.52 end (timesheet)
A.53 endcredit
A.54 epilog
A.55 export
A.56 extend
A.57 fail
A.58 flags
A.59 flags (account)
A.60 flags (journalentry)
A.61 flags (report)
A.62 flags (resource)
A.63 flags (statussheet)
A.64 flags (task)
A.65 flags (timesheet)
A.66 fontcolor (column)
A.67 footer
A.68 formats
A.69 formats (export)
A.70 functions
A.71 gapduration
A.72 gaplength
A.73 halign (center)
A.74 halign (column)
A.75 halign (left)
A.76 halign (right)
A.77 hasalert
A.78 header
A.79 headline
A.80 height
A.81 hideaccount
A.82 hidejournalentry
A.83 hidereport
A.84 hideresource
A.85 hidetask
A.86 icalreport
A.87 include (macro)
A.88 include (project)
A.89 include (properties)
A.90 inherit (extend)
A.91 interval1
A.92 interval2
A.93 interval3
A.94 interval4
A.95 isactive
A.96 ischildof
A.97 isdependencyof
A.98 isdutyof
A.99 isfeatureof
A.100 isleaf
A.101 ismilestone
A.102 isongoing
A.103 isresource
A.104 isresponsibilityof
A.105 istask
A.106 isvalid
A.107 journalattributes
A.108 journalentry
A.109 journalmode
A.110 leaveallowance
A.111 leaves
A.112 left
A.113 length
A.114 limits
A.115 limits (allocate)
A.116 limits (resource)
A.117 limits (task)
A.118 listitem (column)
A.119 listtype (column)
A.120 loadunit
A.121 logicalexpression
A.122 logicalflagexpression
A.123 macro
A.124 managers
A.125 mandatory
A.126 maxend
A.127 maximum
A.128 maxstart
A.129 milestone
A.130 minend
A.131 minimum
A.132 minstart
A.133 monthlymax
A.134 monthlymin
A.135 navigator
A.136 newtask
A.137 nikureport
A.138 note (task)
A.139 now
A.140 number (extend)
A.141 numberformat
A.142 onend
A.143 onstart
A.144 opennodes
A.145 outputdir
A.146 overtime (booking)
A.147 period (column)
A.148 period (limit)
A.149 period (report)
A.150 period (task)
A.151 persistent
A.152 precedes
A.153 priority
A.154 priority (timesheet)
A.155 project
A.156 projectid
A.157 projectid (task)
A.158 projectids
A.159 projection
A.160 prolog
A.161 properties
A.162 purge
A.163 rate
A.164 rate (resource)
A.165 rawhtmlhead
A.166 reference (extend)
A.167 remaining
A.168 replace
A.169 reportprefix
A.170 resource
A.171 resourceattributes
A.172 resourceprefix
A.173 resourcereport
A.174 resourceroot
A.175 resources (limit)
A.176 responsible
A.177 richtext (extend)
A.178 right
A.179 rollupaccount
A.180 rollupresource
A.181 rolluptask
A.182 scale (column)
A.183 scenario
A.184 scenario (ical)
A.185 scenarios
A.186 scenarios (export)
A.187 scenariospecific (extend)
A.188 scheduled
A.189 scheduling
A.190 schedulingmode
A.191 select
A.192 selfcontained
A.193 shift
A.194 shift (allocate)
A.195 shift (resource)
A.196 shift (task)
A.197 shift (timesheet)
A.198 shifts (allocate)
A.199 shifts (resource)
A.200 shifts (task)
A.201 shorttimeformat
A.202 sloppy (booking)
A.203 sloppy (projection)
A.204 sortaccounts
A.205 sortjournalentries
A.206 sortresources
A.207 sorttasks
A.208 start
A.209 start (column)
A.210 start (limit)
A.211 start (report)
A.212 startcredit
A.213 status (statussheet)
A.214 status (timesheet)
A.215 statussheet
A.216 statussheetreport
A.217 strict (projection)
A.218 summary
A.219 supplement
A.220 supplement (resource)
A.221 supplement (task)
A.222 tagfile
A.223 task
A.224 task (statussheet)
A.225 task (timesheet)
A.226 taskattributes
A.227 taskprefix
A.228 taskreport
A.229 taskroot
A.230 taskroot (export)
A.231 text (extend)
A.232 textreport
A.233 timeformat
A.234 timeformat1
A.235 timeformat2
A.236 timeoff (nikureport)
A.237 timesheet
A.238 timesheetreport
A.239 timezone
A.240 timezone (export)
A.241 timezone (report)
A.242 timezone (shift)
A.243 timingresolution
A.244 title
A.245 title (column)
A.246 tooltip (column)
A.247 tracereport
A.248 trackingscenario
A.249 treelevel
A.250 vacation
A.251 vacation (resource)
A.252 vacation (shift)
A.253 warn
A.254 weeklymax
A.255 weeklymin
A.256 weekstartsmonday
A.257 weekstartssunday
A.258 width
A.259 width (column)
A.260 work
A.261 workinghours (project)
A.262 workinghours (resource)
A.263 workinghours (shift)
A.264 yearlyworkingdays

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 by Chris Schlaeger <>.TaskJuggler is a trademark of Chris Schlaeger.