# 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, 2019, 2020 by Chris Schlaeger <cs@taskjuggler.org>

### This manual covers TaskJuggler version 3.8.1.

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
| 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 markdate
| A.127 maxend
| A.128 maximum
| A.129 maxstart
| A.130 milestone
| A.131 minend
| A.132 minimum
| A.133 minstart
| A.134 monthlymax
| A.135 monthlymin
| A.136 navigator
| A.137 newtask
| A.138 nikureport
| A.139 note (task)
| A.140 novevents
| A.141 now
| A.142 number (extend)
| A.143 numberformat
| A.144 onend
| A.145 onstart
| A.146 opennodes
| A.147 outputdir
| A.148 overtime (booking)
| A.149 period (column)
| A.150 period (limit)
| A.151 period (report)
| A.152 period (task)
| A.153 persistent
| A.154 precedes
| A.155 priority
| A.156 priority (timesheet)
| A.157 project
| A.158 projectid
| A.159 projectid (task)
| A.160 projectids
| A.161 projection
| A.162 prolog
| A.163 properties
| A.164 purge
| A.165 rate
| A.166 rate (resource)
| A.167 rawhtmlhead
| A.168 reference (extend)
| A.169 remaining
| A.170 replace
| A.171 reportprefix
| A.172 resource
| A.173 resourceattributes
| A.174 resourceprefix
| A.175 resourcereport
| A.176 resourceroot
| A.177 resources (limit)
| A.178 responsible
| A.179 richtext (extend)
| A.180 right
| A.181 rollupaccount
| A.182 rollupresource
| A.183 rolluptask
| A.184 scale (column)
| A.185 scenario
| A.186 scenario (ical)
| A.187 scenarios
| A.188 scenarios (export)
| A.189 scenariospecific (extend)
| A.190 scheduled
| A.191 scheduling
| A.192 schedulingmode
| A.193 select
| A.194 selfcontained
| A.195 shift
| A.196 shift (allocate)
| A.197 shift (resource)
| A.198 shift (task)
| A.199 shift (timesheet)
| A.200 shifts (allocate)
| A.201 shifts (resource)
| A.202 shifts (task)
| A.203 shorttimeformat
| A.204 sloppy (booking)
| A.205 sloppy (projection)
| A.206 sortaccounts
| A.207 sortjournalentries
| A.208 sortresources
| A.209 sorttasks
| A.210 start
| A.211 start (column)
| A.212 start (limit)
| A.213 start (report)
| A.214 startcredit
| A.215 status (statussheet)
| A.216 status (timesheet)
| A.217 statussheet
| A.218 statussheetreport
| A.219 strict (projection)
| A.220 summary
| A.221 supplement
| A.222 supplement (resource)
| A.223 supplement (task)
| A.224 tagfile
| A.225 task
| A.226 task (statussheet)
| A.227 task (timesheet)
| A.228 taskattributes
| A.229 taskprefix
| A.230 taskreport
| A.231 taskroot
| A.232 taskroot (export)
| A.233 text (extend)
| A.234 textreport
| A.235 timeformat
| A.236 timeformat1
| A.237 timeformat2
| A.238 timeoff (nikureport)
| A.239 timesheet
| A.240 timesheetreport
| A.241 timezone
| A.242 timezone (export)
| A.243 timezone (report)
| A.244 timezone (shift)
| A.245 timingresolution
| A.246 title
| A.247 title (column)
| A.248 tooltip (column)
| A.249 tracereport
| A.250 trackingscenario
| A.251 treelevel
| A.252 vacation
| A.253 vacation (resource)
| A.254 vacation (shift)
| A.255 warn
| A.256 weeklymax
| A.257 weeklymin
| A.258 weekstartsmonday
| A.259 weekstartssunday
| A.260 width
| A.261 width (column)
| A.262 work
| A.263 workinghours (project)
| A.264 workinghours (resource)
| A.265 workinghours (shift)
| A.266 yearlyworkingdays

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