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>
Generated on 2023-02-25
This manual covers TaskJuggler version 3.7.2.
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.