# The TaskJuggler User Manual

Project Management beyond Gantt Chart drawing
Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012 by Chris Schlaeger <chris@linux.com>
Generated on 2012-12-17

### This manual covers TaskJuggler version 3.4.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
| 2.2.1.1 System Wide Installation
| 2.2.1.2 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.1 ABSOLUTE_ID
| 5.1.2 ID
| 5.1.3 INTEGER
| 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
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 Prerequesites
| 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 balance
| A.16 booking (resource)
| A.17 booking (task)
| A.18 caption
| A.19 cellcolor (column)
| A.20 celltext (column)
| A.21 center
| A.22 charge
| A.23 chargeset
| A.24 columnid
| A.25 columns
| A.26 complete
| A.27 copyright
| A.28 credits
| A.29 currency
| A.30 currencyformat
| A.31 dailymax
| A.32 dailymin
| A.33 dailyworkinghours
| A.34 date
| A.35 date (extend)
| A.36 definitions
| A.37 depends
| A.38 details
| A.39 disabled
| A.40 duration
| A.41 efficiency
| A.42 effort
| A.43 email
| A.44 enabled
| A.45 end
| A.46 end (column)
| A.47 end (limit)
| A.48 end (report)
| A.49 end (timesheet)
| A.50 endcredit
| A.51 epilog
| A.52 export
| A.53 extend
| A.54 fail
| A.55 flags
| A.56 flags (account)
| A.57 flags (journalentry)
| A.58 flags (report)
| A.59 flags (resource)
| A.60 flags (statussheet)
| A.61 flags (task)
| A.62 flags (timesheet)
| A.63 fontcolor (column)
| A.64 footer
| A.65 formats
| A.66 formats (export)
| A.67 functions
| A.68 gapduration
| A.69 gaplength
| A.70 halign (center)
| A.71 halign (column)
| A.72 halign (left)
| A.73 halign (right)
| A.74 hasalert
| A.75 header
| A.76 headline
| A.77 height
| A.78 hideaccount
| A.79 hidejournalentry
| A.80 hidereport
| A.81 hideresource
| A.82 hidetask
| A.83 icalreport
| A.84 include (macro)
| A.85 include (project)
| A.86 include (properties)
| A.87 inherit (extend)
| A.88 interval1
| A.89 interval2
| A.90 interval3
| A.91 interval4
| A.92 isactive
| A.93 ischildof
| A.94 isdependencyof
| A.95 isdutyof
| A.96 isfeatureof
| A.97 isleaf
| A.98 ismilestone
| A.99 isongoing
| A.100 isresource
| A.101 isresponsibilityof
| A.102 istask
| A.103 journalattributes
| A.104 journalentry
| A.105 journalmode
| A.106 leaveallowance
| A.107 leaves
| A.108 left
| A.109 length
| A.110 limits
| A.111 limits (allocate)
| A.112 limits (resource)
| A.113 limits (task)
| A.114 listitem (column)
| A.115 listtype (column)
| A.116 loadunit
| A.117 logicalexpression
| A.118 logicalflagexpression
| A.119 macro
| A.120 managers
| A.121 mandatory
| A.122 maxend
| A.123 maximum
| A.124 maxstart
| A.125 milestone
| A.126 minend
| A.127 minimum
| A.128 minstart
| A.129 monthlymax
| A.130 monthlymin
| A.131 navigator
| A.132 newtask
| A.133 nikureport
| A.134 note (task)
| A.135 now
| A.136 numberformat
| A.137 onend
| A.138 onstart
| A.139 opennodes
| A.140 overtime (booking)
| A.141 period (column)
| A.142 period (limit)
| A.143 period (report)
| A.144 period (task)
| A.145 persistent
| A.146 precedes
| A.147 priority
| A.148 priority (timesheet)
| A.149 project
| A.150 projectid
| A.151 projectid (task)
| A.152 projectids
| A.153 projection
| A.154 prolog
| A.155 properties
| A.156 purge
| A.157 rate
| A.158 rate (resource)
| A.159 rawhtmlhead
| A.160 reference (extend)
| A.161 remaining
| A.162 replace
| A.163 reportprefix
| A.164 resource
| A.165 resourceattributes
| A.166 resourceprefix
| A.167 resourcereport
| A.168 resourceroot
| A.169 resources (limit)
| A.170 responsible
| A.171 richtext (extend)
| A.172 right
| A.173 rollupaccount
| A.174 rollupresource
| A.175 rolluptask
| A.176 scale (column)
| A.177 scenario
| A.178 scenario (ical)
| A.179 scenarios
| A.180 scenarios (export)
| A.181 scenariospecific (extend)
| A.182 scheduled
| A.183 scheduling
| A.184 select
| A.185 selfcontained
| A.186 shift
| A.187 shift (allocate)
| A.188 shift (resource)
| A.189 shift (task)
| A.190 shift (timesheet)
| A.191 shifts (allocate)
| A.192 shifts (resource)
| A.193 shifts (task)
| A.194 shorttimeformat
| A.195 sloppy (booking)
| A.196 sloppy (projection)
| A.197 sortaccounts
| A.198 sortjournalentries
| A.199 sortresources
| A.200 sorttasks
| A.201 start
| A.202 start (column)
| A.203 start (limit)
| A.204 start (report)
| A.205 startcredit
| A.206 status (statussheet)
| A.207 status (timesheet)
| A.208 statussheet
| A.209 statussheetreport
| A.210 strict (projection)
| A.211 summary
| A.212 supplement
| A.213 supplement (resource)
| A.214 supplement (task)
| A.215 tagfile
| A.216 task
| A.217 task (statussheet)
| A.218 task (timesheet)
| A.219 taskattributes
| A.220 taskprefix
| A.221 taskreport
| A.222 taskroot
| A.223 taskroot (export)
| A.224 text (extend)
| A.225 textreport
| A.226 timeformat
| A.227 timeformat1
| A.228 timeformat2
| A.229 timeoff (nikureport)
| A.230 timesheet
| A.231 timesheetreport
| A.232 timezone
| A.233 timezone (export)
| A.234 timezone (report)
| A.235 timezone (shift)
| A.236 timingresolution
| A.237 title
| A.238 title (column)
| A.239 tooltip (column)
| A.240 tracereport
| A.241 trackingscenario
| A.242 treelevel
| A.243 vacation
| A.244 vacation (resource)
| A.245 vacation (shift)
| A.246 warn
| A.247 weeklymax
| A.248 weeklymin
| A.249 weekstartsmonday
| A.250 weekstartssunday
| A.251 width
| A.252 width (column)
| A.253 work
| A.254 workinghours (project)
| A.255 workinghours (resource)
| A.256 workinghours (shift)
| A.257 yearlyworkingdays

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012 by Chris Schlaeger <chris@linux.com>.TaskJuggler is a trademark of Chris Schlaeger.