taskjuggler 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (338) hide show
  1. data/CHANGELOG +35 -0
  2. data/data/tjp.vim +21 -7
  3. data/lib/taskjuggler/Allocation.rb +27 -3
  4. data/lib/taskjuggler/Attributes.rb +3 -2
  5. data/lib/taskjuggler/HTMLDocument.rb +3 -1
  6. data/lib/taskjuggler/KateSyntax.rb +213 -0
  7. data/lib/taskjuggler/Limits.rb +22 -0
  8. data/lib/taskjuggler/Log.rb +1 -1
  9. data/lib/taskjuggler/MessageHandler.rb +20 -10
  10. data/lib/taskjuggler/PTNProxy.rb +6 -1
  11. data/lib/taskjuggler/Project.rb +10 -4
  12. data/lib/taskjuggler/ProjectFileParser.rb +1 -2
  13. data/lib/taskjuggler/ProjectFileScanner.rb +41 -42
  14. data/lib/taskjuggler/ResourceScenario.rb +41 -1
  15. data/lib/taskjuggler/RichText/Element.rb +8 -0
  16. data/lib/taskjuggler/RichText/Parser.rb +1 -1
  17. data/lib/taskjuggler/RichText/RTFReportLink.rb +20 -10
  18. data/lib/taskjuggler/RichText/Scanner.rb +54 -38
  19. data/lib/taskjuggler/RichText/SyntaxRules.rb +12 -0
  20. data/lib/taskjuggler/SheetReceiver.rb +1 -1
  21. data/lib/taskjuggler/TableColumnDefinition.rb +5 -1
  22. data/lib/taskjuggler/TaskJuggler.rb +2 -2
  23. data/lib/taskjuggler/TaskScenario.rb +117 -33
  24. data/lib/taskjuggler/TextParser.rb +2 -4
  25. data/lib/taskjuggler/TextParser/MacroTable.rb +7 -0
  26. data/lib/taskjuggler/TextParser/Scanner.rb +10 -9
  27. data/lib/taskjuggler/Tj3Config.rb +1 -1
  28. data/lib/taskjuggler/TjTime.rb +5 -28
  29. data/lib/taskjuggler/TjpSyntaxRules.rb +85 -13
  30. data/lib/taskjuggler/UTF8String.rb +5 -0
  31. data/lib/taskjuggler/XMLElement.rb +2 -1
  32. data/lib/taskjuggler/apps/Tj3.rb +29 -5
  33. data/lib/taskjuggler/daemon/ProcessIntercom.rb +1 -1
  34. data/lib/taskjuggler/daemon/ProjectServer.rb +5 -2
  35. data/lib/taskjuggler/daemon/ReportServer.rb +7 -4
  36. data/lib/taskjuggler/reports/AccountListRE.rb +2 -0
  37. data/lib/taskjuggler/reports/CSVFile.rb +24 -2
  38. data/lib/taskjuggler/reports/GanttChart.rb +3 -2
  39. data/lib/taskjuggler/reports/GanttHeader.rb +18 -18
  40. data/lib/taskjuggler/reports/GanttLoadStack.rb +1 -1
  41. data/lib/taskjuggler/reports/MspXmlRE.rb +5 -1
  42. data/lib/taskjuggler/reports/Report.rb +29 -18
  43. data/lib/taskjuggler/reports/ReportTable.rb +5 -1
  44. data/lib/taskjuggler/reports/ReportTableCell.rb +16 -10
  45. data/lib/taskjuggler/reports/ResourceListRE.rb +2 -0
  46. data/lib/taskjuggler/reports/TableReport.rb +23 -16
  47. data/lib/taskjuggler/reports/TaskListRE.rb +2 -0
  48. data/lib/taskjuggler/reports/TraceReport.rb +1 -1
  49. data/manual/Installation +5 -1
  50. data/manual/Intro +1 -0
  51. data/manual/Rich_Text_Attributes +5 -0
  52. data/manual/TaskJuggler_Internals +82 -34
  53. data/manual/Tutorial +1 -1
  54. data/manual/html/Day_To_Day_Juggling.html +1 -1
  55. data/manual/html/Getting_Started.html +1 -1
  56. data/manual/html/How_To_Contribute.html +1 -1
  57. data/manual/html/Installation.html +3 -2
  58. data/manual/html/Intro.html +2 -1
  59. data/manual/html/Reporting_Bugs.html +1 -1
  60. data/manual/html/Rich_Text_Attributes.html +2 -1
  61. data/manual/html/Software.html +1 -1
  62. data/manual/html/TaskJuggler_2x_Migration.html +1 -1
  63. data/manual/html/TaskJuggler_Internals.html +15 -13
  64. data/manual/html/The_TaskJuggler_Syntax.html +1 -1
  65. data/manual/html/Tutorial.html +2 -2
  66. data/manual/html/account.html +1 -1
  67. data/manual/html/account.task.html +1 -1
  68. data/manual/html/accountprefix.html +1 -1
  69. data/manual/html/accountreport.html +14 -2
  70. data/manual/html/accountroot.html +1 -1
  71. data/manual/html/active.html +1 -1
  72. data/manual/html/adopt.task.html +1 -1
  73. data/manual/html/aggregate.html +1 -1
  74. data/manual/html/alert.html +1 -1
  75. data/manual/html/alertlevels.html +1 -1
  76. data/manual/html/allocate.html +1 -1
  77. data/manual/html/alphabet.html +1 -1
  78. data/manual/html/alternative.html +1 -1
  79. data/manual/html/author.html +3 -3
  80. data/manual/html/auxdir.html +69 -0
  81. data/manual/html/balance.html +3 -3
  82. data/manual/html/booking.resource.html +1 -1
  83. data/manual/html/booking.task.html +1 -1
  84. data/manual/html/caption.html +1 -1
  85. data/manual/html/cellcolor.column.html +1 -1
  86. data/manual/html/celltext.column.html +1 -1
  87. data/manual/html/center.html +1 -1
  88. data/manual/html/charge.html +1 -1
  89. data/manual/html/chargeset.html +1 -1
  90. data/manual/html/columnid.html +21 -9
  91. data/manual/html/columns.html +2 -2
  92. data/manual/html/complete.html +1 -1
  93. data/manual/html/copyright.html +1 -1
  94. data/manual/html/credits.html +1 -1
  95. data/manual/html/currency.html +1 -1
  96. data/manual/html/currencyformat.html +1 -1
  97. data/manual/html/dailymax.html +1 -1
  98. data/manual/html/dailymin.html +1 -1
  99. data/manual/html/dailyworkinghours.html +1 -1
  100. data/manual/html/date.extend.html +1 -1
  101. data/manual/html/date.html +1 -1
  102. data/manual/html/definitions.html +1 -1
  103. data/manual/html/depends.html +1 -1
  104. data/manual/html/details.html +1 -1
  105. data/manual/html/disabled.html +1 -1
  106. data/manual/html/duration.html +1 -1
  107. data/manual/html/efficiency.html +1 -1
  108. data/manual/html/effort.html +1 -1
  109. data/manual/html/email.html +1 -1
  110. data/manual/html/enabled.html +1 -1
  111. data/manual/html/end.column.html +1 -1
  112. data/manual/html/end.html +1 -1
  113. data/manual/html/end.limit.html +1 -1
  114. data/manual/html/end.report.html +1 -1
  115. data/manual/html/end.timesheet.html +1 -1
  116. data/manual/html/endcredit.html +1 -1
  117. data/manual/html/epilog.html +1 -1
  118. data/manual/html/export.html +1 -1
  119. data/manual/html/extend.html +1 -1
  120. data/manual/html/fail.html +1 -1
  121. data/manual/html/fdl.html +1 -1
  122. data/manual/html/flags.account.html +1 -1
  123. data/manual/html/flags.html +1 -1
  124. data/manual/html/flags.journalentry.html +1 -1
  125. data/manual/html/flags.report.html +1 -1
  126. data/manual/html/flags.resource.html +1 -1
  127. data/manual/html/flags.statussheet.html +1 -1
  128. data/manual/html/flags.task.html +1 -1
  129. data/manual/html/flags.timesheet.html +1 -1
  130. data/manual/html/fontcolor.column.html +1 -1
  131. data/manual/html/footer.html +1 -1
  132. data/manual/html/formats.export.html +1 -1
  133. data/manual/html/formats.html +1 -1
  134. data/manual/html/functions.html +1 -1
  135. data/manual/html/gapduration.html +1 -1
  136. data/manual/html/gaplength.html +1 -1
  137. data/manual/html/halign.center.html +1 -1
  138. data/manual/html/halign.column.html +1 -1
  139. data/manual/html/halign.left.html +1 -1
  140. data/manual/html/halign.right.html +1 -1
  141. data/manual/html/hasalert.html +1 -1
  142. data/manual/html/header.html +1 -1
  143. data/manual/html/headline.html +1 -1
  144. data/manual/html/height.html +1 -1
  145. data/manual/html/hideaccount.html +1 -1
  146. data/manual/html/hidejournalentry.html +1 -1
  147. data/manual/html/hidereport.html +1 -1
  148. data/manual/html/hideresource.html +1 -1
  149. data/manual/html/hidetask.html +1 -1
  150. data/manual/html/icalreport.html +1 -1
  151. data/manual/html/include.macro.html +1 -1
  152. data/manual/html/include.project.html +1 -1
  153. data/manual/html/include.properties.html +1 -1
  154. data/manual/html/index.html +1 -1
  155. data/manual/html/inherit.extend.html +1 -1
  156. data/manual/html/interval1.html +1 -1
  157. data/manual/html/interval2.html +1 -1
  158. data/manual/html/interval3.html +1 -1
  159. data/manual/html/interval4.html +1 -1
  160. data/manual/html/isactive.html +1 -1
  161. data/manual/html/ischildof.html +1 -1
  162. data/manual/html/isdependencyof.html +1 -1
  163. data/manual/html/isdutyof.html +1 -1
  164. data/manual/html/isfeatureof.html +1 -1
  165. data/manual/html/isleaf.html +1 -1
  166. data/manual/html/ismilestone.html +1 -1
  167. data/manual/html/isongoing.html +1 -1
  168. data/manual/html/isresource.html +1 -1
  169. data/manual/html/isresponsibilityof.html +1 -1
  170. data/manual/html/istask.html +1 -1
  171. data/manual/html/journalattributes.html +1 -1
  172. data/manual/html/journalentry.html +1 -1
  173. data/manual/html/journalmode.html +1 -1
  174. data/manual/html/leaveallowance.html +1 -1
  175. data/manual/html/leaves.html +1 -1
  176. data/manual/html/left.html +1 -1
  177. data/manual/html/length.html +1 -1
  178. data/manual/html/limits.allocate.html +1 -1
  179. data/manual/html/limits.html +1 -1
  180. data/manual/html/limits.resource.html +1 -1
  181. data/manual/html/limits.task.html +1 -1
  182. data/manual/html/listitem.column.html +1 -1
  183. data/manual/html/listtype.column.html +1 -1
  184. data/manual/html/loadunit.html +1 -1
  185. data/manual/html/logicalexpression.html +1 -1
  186. data/manual/html/logicalflagexpression.html +1 -1
  187. data/manual/html/macro.html +1 -1
  188. data/manual/html/managers.html +1 -1
  189. data/manual/html/mandatory.html +1 -1
  190. data/manual/html/maxend.html +1 -1
  191. data/manual/html/maximum.html +1 -1
  192. data/manual/html/maxstart.html +1 -1
  193. data/manual/html/milestone.html +1 -1
  194. data/manual/html/minend.html +1 -1
  195. data/manual/html/minimum.html +1 -1
  196. data/manual/html/minstart.html +1 -1
  197. data/manual/html/monthlymax.html +1 -1
  198. data/manual/html/monthlymin.html +1 -1
  199. data/manual/html/navbar.html +9 -1
  200. data/manual/html/navigator.html +1 -1
  201. data/manual/html/newtask.html +1 -1
  202. data/manual/html/nikureport.html +1 -1
  203. data/manual/html/note.task.html +1 -1
  204. data/manual/html/now.html +1 -1
  205. data/manual/html/numberformat.html +1 -1
  206. data/manual/html/onend.html +1 -1
  207. data/manual/html/onstart.html +1 -1
  208. data/manual/html/opennodes.html +1 -1
  209. data/manual/html/overtime.booking.html +1 -1
  210. data/manual/html/period.column.html +1 -1
  211. data/manual/html/period.limit.html +1 -1
  212. data/manual/html/period.report.html +1 -1
  213. data/manual/html/period.task.html +1 -1
  214. data/manual/html/persistent.html +1 -1
  215. data/manual/html/precedes.html +1 -1
  216. data/manual/html/priority.html +1 -1
  217. data/manual/html/priority.timesheet.html +1 -1
  218. data/manual/html/project.html +1 -1
  219. data/manual/html/projectid.html +1 -1
  220. data/manual/html/projectid.task.html +1 -1
  221. data/manual/html/projectids.html +1 -1
  222. data/manual/html/projection.html +1 -1
  223. data/manual/html/prolog.html +1 -1
  224. data/manual/html/properties.html +1 -1
  225. data/manual/html/purge.html +1 -1
  226. data/manual/html/rate.html +1 -1
  227. data/manual/html/rate.resource.html +3 -3
  228. data/manual/html/rawhtmlhead.html +68 -0
  229. data/manual/html/reference.extend.html +3 -3
  230. data/manual/html/remaining.html +1 -1
  231. data/manual/html/replace.html +1 -1
  232. data/manual/html/reportprefix.html +1 -1
  233. data/manual/html/resource.html +1 -1
  234. data/manual/html/resourceattributes.html +1 -1
  235. data/manual/html/resourceprefix.html +1 -1
  236. data/manual/html/resourcereport.html +14 -2
  237. data/manual/html/resourceroot.html +1 -1
  238. data/manual/html/resources.limit.html +1 -1
  239. data/manual/html/responsible.html +1 -1
  240. data/manual/html/richtext.extend.html +1 -1
  241. data/manual/html/right.html +1 -1
  242. data/manual/html/rollupaccount.html +1 -1
  243. data/manual/html/rollupresource.html +1 -1
  244. data/manual/html/rolluptask.html +1 -1
  245. data/manual/html/scale.column.html +1 -1
  246. data/manual/html/scenario.html +1 -1
  247. data/manual/html/scenario.ical.html +1 -1
  248. data/manual/html/scenarios.export.html +1 -1
  249. data/manual/html/scenarios.html +1 -1
  250. data/manual/html/scenariospecific.extend.html +1 -1
  251. data/manual/html/scheduled.html +1 -1
  252. data/manual/html/scheduling.html +2 -1
  253. data/manual/html/select.html +1 -1
  254. data/manual/html/selfcontained.html +1 -1
  255. data/manual/html/shift.allocate.html +1 -1
  256. data/manual/html/shift.html +1 -1
  257. data/manual/html/shift.resource.html +1 -1
  258. data/manual/html/shift.task.html +1 -1
  259. data/manual/html/shift.timesheet.html +1 -1
  260. data/manual/html/shifts.allocate.html +1 -1
  261. data/manual/html/shifts.resource.html +1 -1
  262. data/manual/html/shifts.task.html +1 -1
  263. data/manual/html/shorttimeformat.html +1 -1
  264. data/manual/html/sloppy.booking.html +1 -1
  265. data/manual/html/sloppy.projection.html +1 -1
  266. data/manual/html/sortaccounts.html +1 -1
  267. data/manual/html/sortjournalentries.html +1 -1
  268. data/manual/html/sortresources.html +1 -1
  269. data/manual/html/sorttasks.html +1 -1
  270. data/manual/html/start.column.html +1 -1
  271. data/manual/html/start.html +1 -1
  272. data/manual/html/start.limit.html +1 -1
  273. data/manual/html/start.report.html +1 -1
  274. data/manual/html/startcredit.html +1 -1
  275. data/manual/html/status.statussheet.html +1 -1
  276. data/manual/html/status.timesheet.html +1 -1
  277. data/manual/html/statussheet.html +1 -1
  278. data/manual/html/statussheetreport.html +1 -1
  279. data/manual/html/strict.projection.html +1 -1
  280. data/manual/html/summary.html +1 -1
  281. data/manual/html/supplement.html +1 -1
  282. data/manual/html/supplement.resource.html +1 -1
  283. data/manual/html/supplement.task.html +1 -1
  284. data/manual/html/tagfile.html +2 -2
  285. data/manual/html/task.html +1 -1
  286. data/manual/html/task.statussheet.html +1 -1
  287. data/manual/html/task.timesheet.html +1 -1
  288. data/manual/html/taskattributes.html +1 -1
  289. data/manual/html/taskprefix.html +1 -1
  290. data/manual/html/taskreport.html +14 -2
  291. data/manual/html/taskroot.export.html +1 -1
  292. data/manual/html/taskroot.html +1 -1
  293. data/manual/html/text.extend.html +1 -1
  294. data/manual/html/textreport.html +14 -2
  295. data/manual/html/timeformat.html +3 -3
  296. data/manual/html/timeformat1.html +67 -0
  297. data/manual/html/timeformat2.html +67 -0
  298. data/manual/html/timeoff.nikureport.html +3 -3
  299. data/manual/html/timesheet.html +1 -1
  300. data/manual/html/timesheetreport.html +1 -1
  301. data/manual/html/timezone.export.html +1 -1
  302. data/manual/html/timezone.html +1 -1
  303. data/manual/html/timezone.report.html +1 -1
  304. data/manual/html/timezone.shift.html +1 -1
  305. data/manual/html/timingresolution.html +1 -1
  306. data/manual/html/title.column.html +1 -1
  307. data/manual/html/title.html +1 -1
  308. data/manual/html/toc.html +270 -242
  309. data/manual/html/tooltip.column.html +1 -1
  310. data/manual/html/tracereport.html +14 -2
  311. data/manual/html/trackingscenario.html +1 -1
  312. data/manual/html/treelevel.html +1 -1
  313. data/manual/html/vacation.html +1 -1
  314. data/manual/html/vacation.resource.html +1 -1
  315. data/manual/html/vacation.shift.html +1 -1
  316. data/manual/html/warn.html +1 -1
  317. data/manual/html/weeklymax.html +1 -1
  318. data/manual/html/weeklymin.html +1 -1
  319. data/manual/html/weekstartsmonday.html +1 -1
  320. data/manual/html/weekstartssunday.html +1 -1
  321. data/manual/html/width.column.html +1 -1
  322. data/manual/html/width.html +1 -1
  323. data/manual/html/work.html +1 -1
  324. data/manual/html/workinghours.project.html +1 -1
  325. data/manual/html/workinghours.resource.html +1 -1
  326. data/manual/html/workinghours.shift.html +1 -1
  327. data/manual/html/yearlyworkingdays.html +1 -1
  328. data/tasks/kate.rake +8 -0
  329. data/test/TestSuite/HTML-Reports/Calendars.tjp +10 -0
  330. data/test/TestSuite/Scheduler/Correct/PersistentResources-2.tjp +33 -0
  331. data/test/TestSuite/Scheduler/Correct/PersistentResources.tjp +30 -0
  332. data/test/TestSuite/Scheduler/Correct/PriorityInversion.tjp +2 -0
  333. data/test/TestSuite/Syntax/Correct/Macro-4.tjp +4 -0
  334. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  335. data/test/test_BatchProcessor.rb +1 -1
  336. data/test/test_CSVFile.rb +10 -0
  337. data/test/test_RichText.rb +20 -0
  338. metadata +38 -9
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>TaskJuggler_Internals</title>
@@ -25,27 +25,29 @@
25
25
  <h1 class="manual" id="TaskJuggler_Internals">8 TaskJuggler Internals</h1>
26
26
  <p class="manual">This chapter contains information that you don't need to know to use TaskJuggler. It describes internal algorithms that are provided for the curious.</p>
27
27
  <h2 class="manual" id="How_the_Scheduler_works">8.1 How the Scheduler works</h2>
28
- <p class="manual">The scheduler needs to determine the start and end date for all tasks that don't have such dates yet. Additionally, it allocates resources to tasks. All events such as start of a task, or allocation of a resource can only happen aligned with the <a href="timingresolution.html">timing
29
- resolution</a>. The smallest possible allocation period is called a time slot. The duration of the slot can be determined by the user. Possible values are 5, 10, 15, 30 and 60 minutes. Internally, all events are stored as UTC time.</p>
30
- <p class="manual">TaskJuggler keeps a scoreboard for each time slot for each leaf resource. This explains why the project duration and number of allocated resources determines the memory usage of the scheduler.</p>
31
- <p class="manual">During the scheduling process, tasks can have 3 different states.</p>
28
+ <p class="manual">It's important to understand that the scheduler implementation is not an optimization algorithm. It does not search a solution space and evaluates various alternative results against each other. This has been tried, but for any real-world project, the solution space becomes unmanageable and scheduling runs took hours to complete.</p>
29
+ <p class="manual">Instead, we use a heuristic to decide when each task gets its resources assigned. This heuristic is certainly not perfect but has shown good results with fairly moderate computation costs. The following sections contain an overview of the scheduling algorithm. Users are also encouraged to read the actual source code. It can be found in <code class="manual">Project.rb</code>, <code class="manual">TaskScenario.rb</code>, <code class="manual">ResourceScenario.rb</code> and <code class="manual">Allocation.rb</code>. All these files can be found in the <code class="manual">lib/taskjuggler</code> directory. You can also browse the sources on <a href="https://github.com/taskjuggler/TaskJuggler" target="_top">github</a>.</p>
30
+ <p class="manual">The scheduler needs to determine the start and end date for all tasks that don't have such dates yet. To deal with multiple concurrent time zones, all time related events are stored internally as UTC time.Additionally, it allocates resources to tasks. All events such as start or end of a task, or allocation of a resource can only happen aligned with the <a href="timingresolution.html">timing resolution</a>. This determines the smallest possible allocation period that we call a time slot. The duration of the slot can be set by the user. Possible values are 5, 10, 15, 30 and 60 minutes.</p>
31
+ <p class="manual">TaskJuggler keeps a scoreboard for each time slot for each leaf resource. Each scoreboard entry specifies whether the resource is unassigned, assigned to a specific task or on leave. This explains why the project duration and number of allocated resources determines the memory usage of the scheduler.</p>
32
+ <p class="manual">For the scheduling of the project, the scheduler only looks at leave tasks that are not milestones. Container tasks and milestones are scheduled once all necessary information is available. During the scheduling process, leave tasks can have 3 different states.</p>
32
33
  <ol>
33
34
  <li>
34
35
  <code class="manual">Not ready for scheduling</code>: The task is missing a start or end date that depends on another task's date that hasn't been determined yet.</li>
35
36
  <li>
36
- <code class="manual">Ready for scheduling</code>: The task has at least a start or end date but one of them is still missing or resources have not yet been assigned for all time slots.</li>
37
+ <code class="manual">Ready for scheduling</code>: The task has at least a start or end date but one of them is still missing or resources have not yet been assigned for all time slots. The scheduling direction (ASAP or ALAP) determines whether the start or end date is needed. ASAP tasks are scheduled from start to end, so they require a start date. ALAP tasks are scheduled from end to start.</li>
37
38
  <li>
38
39
  <code class="manual">Scheduling completed</code>: The task has a start and end date and resources have been assigned for all time slots.</li>
39
40
  </ol>
40
- <p class="manual">The goal of the scheduler is to transfer all tasks in the completed state. Until this goal has been reached, at least one tasks needs to be in the ready state. If that's not the case, the project schedule cannot be determined and an error is raised. In case there are more than one task in the ready state, we need to have a well defined priority of the tasks. This is necessary since those ready tasks may compete for the same resource for the same time slot.</p>
41
- <p class="manual">The priority can be directly influenced by the user with the <a href="priority.html">priority</a> attribute. In case two tasks have the same priority, an additional measure is used. This measure is called path criticalness. The path criticalness is calculated for each leaf task. The path criticalness is a measure for how important the task is to keep the overall project duration (start of first task to end of last task) to a minimum.</p>
42
- <p class="manual">To determine the path criticalness, we first need to determine the resource criticalness. This is a measure for how likely the tasks that have this resource in their allocation list will actually get the resource. A resource criticalness larger than 1.0 means that statistically, at least one tasks will not get enough of this resource. This is just a statistical measure based on the total requested allocations and the number of available work time.</p>
43
- <p class="manual">Once we have determined the criticalness of all allocated resources, we can calculate the criticalness of each individual task. This really only matters for effort based tasks. These really need their allocations. For length and duration tasks, the allocations are optional. The user can still influence the allocation to length and duration tasks by adjusting the priority appropriately. The criticalness of a task is defined as the average of the criticalness of the resources allocated to this task.</p>
44
- <p class="manual">We also assign a criticalness to milestones. Based on their priority a criticalness between 0 and 2.0 is assigned.</p>
41
+ <p class="manual">The goal of the scheduler is to transfer all tasks in the completed state. Until this goal has been reached, at least one tasks needs to be in the ready state. If that's not the case, the project schedule cannot be determined and an error is raised. In case there are more than one task in the ready state, we need to have a well defined priority of the tasks. This is necessary since those ready tasks may compete for the same resource in the same time slot.</p>
42
+ <p class="manual">The priority can be directly influenced by the user with the <a href="priority.html">priority</a> attribute. This user-defined priority always trumps the other internal criteria described below. In case two tasks have the same priority, an additional measure is used. This measure is called path criticalness. The path criticalness is calculated for each leaf task. The path criticalness is a measure for how important the task is to keep the overall project duration (start of first task to end of last task) to a minimum.</p>
43
+ <p class="manual">To determine the path criticalness, we first need to determine the resource criticalness first. This is a measure for how likely the tasks that have this resource in their allocation list will actually get the resource. A resource criticalness larger than 1.0 means that statistically, at least one tasks will not get enough of this resource. This is just a statistical measure based on the total requested allocations and the number of available work time.</p>
44
+ <p class="manual">Once we have determined the criticalness of all allocated resources, we can calculate the criticalness of each individual task. This really only matters for <a href="effort.html">effort</a> based tasks. These really need their allocations to be finished within a limited amount of time. For <a href="length.html">length</a> and <a href="duration.html">duration</a> tasks, the allocations are by definition optional. The user can still influence the allocation to length and duration tasks by adjusting the priority appropriately. However, there is no guarantee that such tasks will ever get any resources assigned. The criticalness of an effort based task is defined as the average of the criticalness of the resources allocated to this task.</p>
45
+ <p class="manual">We also assign a criticalness to milestones. Based on their priority a criticalness between 0 and 2.0 is assigned. This is done to reflect the user perception that milestones are usually some important goal of the project.</p>
45
46
  <p class="manual">The final step is now the computation of the path criticalness for each effort-based leaf task. For each possible chain of task (path) that is going through a task, the sum of the criticalness values of the tasks of the path is computed. The largest sum is the path criticalness of that task.</p>
46
- <p class="manual">This heuristic will favor allocations to task with critical resources and long dependency chains. As a result, the critical paths of the project are tried to be kept short.</p>
47
- <p class="manual">This heuristic is certainly not perfect but has shown good results with fairly short computation overhead. The scheduling process is not an optimization process. It does not evaluate alternatives and it does not search for local extremes in a solution space.</p>
47
+ <p class="manual">This heuristic will favor allocations to task with critical resources and long dependency chains. As a result, the critical paths of the project are tried to be kept short. The user can use the <b>criticalness</b> and <b>pathcriticalness</b> <a href="columnid.html">columns</a> to review the respective values for he project's tasks and resources.</p>
48
+ <p class="manual">When the criticalness and pathcriticalness for all leaf resources and tasks has been determined, the leaf tasks are sorted by priority (hight to low), then by pathcricialness (high to low) and then by the index (low to high). In a loop that is terminated when all tasks have been scheduled or an error condition has been detected, the first task that is ready for scheduling is completely scheduled. This means that resources are allocated for all time slots and missing dates are being computed. The newly determined end (for ASAP tasks) or start (for ALAP tasks) date is then propagated to dependent tasks, milestones or parent tasks if needed. This can result in other tasks becoming ready for scheduling and the list is searched again for the first task that is ready for scheduling to be scheduled.</p>
48
49
  <p class="manual">A task can only be scheduled when it is ready for scheduling. This means that at least the start date for the scheduling process must be known. For ASAP (As Soon As Possible) tasks, the scheduler start date is the start date of the task. For ALAP (As Late As Possible) tasks the scheduler start date is the end date of the task. ASAP task will be scheduled from start to end, ALAP tasks from end to start. This is important to understand as resource assignments for each time slot will be determined in this order.</p>
50
+ <p class="manual">Mixing ASAP and ALAP tasks in the same project is supported but should be used very carefully. It can lead to situations where a lower priority tasks that is earlier in the scheduling process ready for scheduling takes away resources from a higher prioritized task that competes for the same resources. This condition is known is priority inversion. If the scheduler detects such a situation, a warning is generated.</p>
49
51
  </div></div>
50
52
  <br/>
51
53
  <hr/>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>The_TaskJuggler_Syntax</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>Tutorial</title>
@@ -473,7 +473,7 @@ generators</a> to include task attributes such as the start and end date.</p>
473
473
  -&gt;8-
474
474
  }
475
475
  </pre></div>
476
- <p class="manual">The generated report can be found <a href="http://www.taskjuggler.org/tj3/examples/Overview.html" target="_top">here</a>. It servers as an entry page for the other reports. While it already contains some references, a navigator bar would be handy as well. Fortunately, there is a block generator called 'navigator' to take care of this. But before we can include the navigator in the report, we need to define it first.</p>
476
+ <p class="manual">The generated report can be found <a href="http://www.taskjuggler.org/tj3/examples/Tutorial/Overview.html" target="_top">here</a>. It servers as an entry page for the other reports. While it already contains some references, a navigator bar would be handy as well. Fortunately, there is a block generator called 'navigator' to take care of this. But before we can include the navigator in the report, we need to define it first.</p>
477
477
  <div class="codeframe"><pre class="code">navigator navbar {
478
478
  hidereport @none
479
479
  }
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>account</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>account.task</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>accountprefix</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>accountreport</title>
@@ -78,7 +78,7 @@
78
78
  <col width="20%"></col>
79
79
  </colgroup>
80
80
  <tr align="left">
81
- <td class="tag" rowspan="51">Attributes</td>
81
+ <td class="tag" rowspan="53">Attributes</td>
82
82
  <td class="tag">Name</td>
83
83
  <td class="tag">Scen. spec.</td>
84
84
  <td class="tag">Inh. fm. Global</td>
@@ -96,6 +96,12 @@
96
96
  <td align="center" class="descr"></td>
97
97
  <td align="center" class="descr">x</td>
98
98
  </tr>
99
+ <tr align="left">
100
+ <td align="left" class="descr"><a href="auxdir.html">auxdir</a></td>
101
+ <td align="center" class="descr"></td>
102
+ <td align="center" class="descr"></td>
103
+ <td align="center" class="descr">x</td>
104
+ </tr>
99
105
  <tr align="left">
100
106
  <td align="left" class="descr"><a href="balance.html">balance</a></td>
101
107
  <td align="center" class="descr"></td>
@@ -258,6 +264,12 @@
258
264
  <td align="center" class="descr"></td>
259
265
  <td align="center" class="descr"></td>
260
266
  </tr>
267
+ <tr align="left">
268
+ <td align="left" class="descr"><a href="rawhtmlhead.html">rawhtmlhead</a></td>
269
+ <td align="center" class="descr"></td>
270
+ <td align="center" class="descr"></td>
271
+ <td align="center" class="descr"></td>
272
+ </tr>
261
273
  <tr align="left">
262
274
  <td align="left" class="descr"><a href="resourcereport.html">resourcereport</a></td>
263
275
  <td align="center" class="descr"></td>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>accountroot</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>active</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>adopt.task</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>aggregate</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>alert</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>alertlevels</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>allocate</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>TaskJuggler Syntax Reference Navigator</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>alternative</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>author</title>
@@ -19,7 +19,7 @@
19
19
  <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
20
20
  <td style="text-align:left; width:35%;">&lt;&lt; <a href="alternative.html">alternative</a> &lt;&lt;</td>
21
21
  <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
22
- <td style="text-align:right; width:35%;">&gt;&gt; <a href="balance.html">balance</a> &gt;&gt;</td>
22
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="auxdir.html">auxdir</a> &gt;&gt;</td>
23
23
  </tr></table>
24
24
  <hr/>
25
25
  <br/>
@@ -60,7 +60,7 @@
60
60
  <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
61
61
  <td style="text-align:left; width:35%;">&lt;&lt; <a href="alternative.html">alternative</a> &lt;&lt;</td>
62
62
  <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
63
- <td style="text-align:right; width:35%;">&gt;&gt; <a href="balance.html">balance</a> &gt;&gt;</td>
63
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="auxdir.html">auxdir</a> &gt;&gt;</td>
64
64
  </tr></table>
65
65
  <hr/>
66
66
  <br/>
@@ -0,0 +1,69 @@
1
+ <!DOCTYPE>
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
+ <html lang="en" xml:lang="en">
4
+ <head>
5
+ <title>auxdir</title>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
7
+ <meta content="IE=9" http-equiv="X-UA-Compatible"/>
8
+ <meta content="The TaskJuggler Manual" name="description"/>
9
+ <meta content="taskjuggler, project, management" name="keywords"/>
10
+ </head>
11
+ <link href="css/tjmanual.css" rel="stylesheet" type="text/css"></link>
12
+ <body>
13
+ <div align="center">
14
+ <h3 align="center">The TaskJuggler User Manual</h3>
15
+ <em align="center">Project Management beyond Gantt Chart Drawing</em>
16
+ </div>
17
+ <br/>
18
+ <hr/>
19
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
20
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="author.html">author</a> &lt;&lt;</td>
21
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
22
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="balance.html">balance</a> &gt;&gt;</td>
23
+ </tr></table>
24
+ <hr/>
25
+ <br/>
26
+ <div style="margin-left:5%; margin-right:5%">
27
+ <p><table align="center" class="table"><tr align="left">
28
+ <td class="tag" style="width:16%">Keyword</td>
29
+ <td class="descr" style="width:84%; font-weight:bold">auxdir</td>
30
+ </tr></table></p>
31
+ <p><div><span style="color:red">This keyword has not yet been fully tested yet. You are welcome to try it, but it may lead to wrong results. The syntax may still change with future versions. The developers appreciate any feedback on this keyword.</span></div></p>
32
+ <p><table align="center" class="table">
33
+ <colgroup>
34
+ <col width="16%"></col>
35
+ <col width="24%"></col>
36
+ <col width="60%"></col>
37
+ </colgroup>
38
+ <tr align="left">
39
+ <td class="tag">Purpose</td>
40
+ <td class="descr" colspan="2"><div>Specifies an alternative directory for the auxiliary report files such as CSS, JavaScript and icon files. If this attribute is not set, the directoy will be generated automatically. If an alternative is provided, the user has to ensure that the directory exists and is filled with the proper data. The specified path and be absolute or relative to the generated report file.</div></td>
41
+ </tr>
42
+ <tr align="left">
43
+ <td class="tag">Syntax</td>
44
+ <td class="descr" colspan="2"><code>auxdir &lt;STRING&gt;</code></td>
45
+ </tr>
46
+ <tr align="left">
47
+ <td class="tag">Arguments</td>
48
+ <td class="descr" colspan="2">none</td>
49
+ </tr>
50
+ <tr align="left">
51
+ <td class="tag">Context</td>
52
+ <td class="descr" colspan="2">
53
+ <a href="accountreport.html">accountreport</a>, <a href="resourcereport.html">resourcereport</a>, <a href="taskreport.html">taskreport</a>, <a href="textreport.html">textreport</a>, <a href="tracereport.html">tracereport</a>
54
+ </td>
55
+ </tr>
56
+ </table></p>
57
+ </div>
58
+ <br/>
59
+ <hr/>
60
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
61
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="author.html">author</a> &lt;&lt;</td>
62
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
63
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="balance.html">balance</a> &gt;&gt;</td>
64
+ </tr></table>
65
+ <hr/>
66
+ <br/>
67
+ <div align="center" style="font-size:10px;">Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012 by Chris Schlaeger &lt;chris@linux.com&gt;.<a href="http://www.taskjuggler.org">TaskJuggler</a> is a trademark of Chris Schlaeger.</div>
68
+ </body>
69
+ </html>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>balance</title>
@@ -17,7 +17,7 @@
17
17
  <br/>
18
18
  <hr/>
19
19
  <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
20
- <td style="text-align:left; width:35%;">&lt;&lt; <a href="author.html">author</a> &lt;&lt;</td>
20
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="auxdir.html">auxdir</a> &lt;&lt;</td>
21
21
  <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
22
22
  <td style="text-align:right; width:35%;">&gt;&gt; <a href="booking.resource.html">booking (resource)</a> &gt;&gt;</td>
23
23
  </tr></table>
@@ -135,7 +135,7 @@ accountreport "ProfiAndLoss" {
135
135
  <br/>
136
136
  <hr/>
137
137
  <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
138
- <td style="text-align:left; width:35%;">&lt;&lt; <a href="author.html">author</a> &lt;&lt;</td>
138
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="auxdir.html">auxdir</a> &lt;&lt;</td>
139
139
  <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
140
140
  <td style="text-align:right; width:35%;">&gt;&gt; <a href="booking.resource.html">booking (resource)</a> &gt;&gt;</td>
141
141
  </tr></table>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>booking.resource</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>booking.task</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>caption</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>cellcolor.column</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>celltext.column</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>center</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>charge</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>chargeset</title>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE>
2
- <!-- This file has been generated by tj3man v3.3.0 -->
2
+ <!-- This file has been generated by tj3man v3.4.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>columnid</title>
@@ -40,20 +40,20 @@
40
40
  </tr>
41
41
  <tr align="left">
42
42
  <td class="tag">Syntax</td>
43
- <td class="descr" colspan="2"><code>(activetasks | annualleave | annualleavebalance | alert | alertmessages | alertsummaries | alerttrend | balance | bsi | chart | closedtasks | complete | completed | criticalness | cost | daily | directreports | duration | duties | efficiency | effort | effortdone | effortleft | email | end | flags | followers | freetime | freework | fte | gauge | headcount | hierarchindex | hourly | id | index | inputs | journal | journal_sub | journalmessages | journalsummaries | line | managers | maxend | maxstart | minend | minstart | monthly | no | name | note | opentasks | pathcriticalness | precursors | priority | quarterly | rate | reports | resources | responsible | revenue | scenario | seqno | sickleave | specialleave | start | status | targets | wbs | unpaidleave | weekly | yearly)</code></td>
43
+ <td class="descr" colspan="2"><code>(activetasks | annualleave | annualleavebalance | alert | alertmessages | alertsummaries | alerttrend | balance | bsi | chart | closedtasks | competitorcount | competitors | complete | completed | criticalness | cost | daily | directreports | duration | duties | efficiency | effort | effortdone | effortleft | email | end | flags | followers | freetime | freework | fte | gauge | headcount | hierarchindex | hourly | id | index | inputs | journal | journal_sub | journalmessages | journalsummaries | line | managers | maxend | maxstart | minend | minstart | monthly | no | name | note | opentasks | pathcriticalness | precursors | priority | quarterly | rate | reports | resources | responsible | revenue | scenario | scheduling | seqno | sickleave | specialleave | start | status | targets | wbs | unpaidleave | weekly | yearly)</code></td>
44
44
  </tr>
45
45
  <tr align="left">
46
- <td class="tag" rowspan="72">Arguments</td>
46
+ <td class="tag" rowspan="75">Arguments</td>
47
47
  <td class="descr">activetasks</td>
48
48
  <td class="descr"><div>The number of sub-tasks (including the current task) that are active in the reported time period. Active means that they are ongoing at the current time or <a href="now.html">now</a> date.</div></td>
49
49
  </tr>
50
50
  <tr align="left">
51
51
  <td class="descr">annualleave</td>
52
- <td class="descr"><div>The number of annual leave units within the reported time period. The unit can be adjusted with <a href="loadunit.report.html">loadunit.report</a>.</div></td>
52
+ <td class="descr"><div>The number of annual leave units within the reported time period. The unit can be adjusted with <a href="loadunit.html">loadunit</a>.</div></td>
53
53
  </tr>
54
54
  <tr align="left">
55
55
  <td class="descr">annualleavebalance</td>
56
- <td class="descr"><div>The balance of the annual leave at the end of the reporting interval. The unit can be adjusted with <a href="loadunit.report.html">loadunit.report</a>.</div></td>
56
+ <td class="descr"><div>The balance of the annual leave at the end of the reporting interval. The unit can be adjusted with <a href="loadunit.html">loadunit</a>.</div></td>
57
57
  </tr>
58
58
  <tr align="left">
59
59
  <td class="descr">alert</td>
@@ -69,7 +69,7 @@
69
69
  </tr>
70
70
  <tr align="left">
71
71
  <td class="descr">alerttrend</td>
72
- <td class="descr"><div>Shows how the alert level at the end of the report period compares to the alert level at the begining of the report period. Possible values are up, down or flat.</div></td>
72
+ <td class="descr"><div>Shows how the alert level at the end of the report period compares to the alert level at the begining of the report period. Possible values are <code>Up</code>, <code>Down</code> or <code>Flat</code>.</div></td>
73
73
  </tr>
74
74
  <tr align="left">
75
75
  <td class="descr">balance</td>
@@ -87,6 +87,14 @@
87
87
  <td class="descr">closedtasks</td>
88
88
  <td class="descr"><div>The number of sub-tasks (including the current task) that have been closed during the reported time period. Closed means that they have and end date before the current time or <a href="now.html">now</a> date.</div></td>
89
89
  </tr>
90
+ <tr align="left">
91
+ <td class="descr">competitorcount</td>
92
+ <td class="descr"><div>The number of tasks that have successfully competed for the same resources and have potentially delayed the completion of this task.</div></td>
93
+ </tr>
94
+ <tr align="left">
95
+ <td class="descr">competitors</td>
96
+ <td class="descr"><div>A list of tasks that have successfully competed for the same resources and have potentially delayed the completion of this task.</div></td>
97
+ </tr>
90
98
  <tr align="left">
91
99
  <td class="descr">complete</td>
92
100
  <td class="descr"><div>The completion degree of a task. Unless a completion degree is manually provided, this is a computed value relative the <a href="now.html">now</a> date of the project. A task that has ended before the now date is always 100% complete. A task that starts at or after the now date is always 0%. For <a href="effort.html">effort</a> based task the computation degree is the percentage of done effort of the overall effort. For other leaf task, the completion degree is the percentage of the already passed duration of the overall task duration. For container task, it's always the average of the direct sub tasks. If the sub tasks consist of a mixture of effort and non-effort tasks, the completion value is only of limited value.</div></td>
@@ -338,17 +346,21 @@
338
346
  <td class="descr">scenario</td>
339
347
  <td class="descr"><div>The name of the scenario</div></td>
340
348
  </tr>
349
+ <tr align="left">
350
+ <td class="descr">scheduling</td>
351
+ <td class="descr"><div>The scheduling mode of the leaf tasks. ASAP tasks are scheduled start to end while ALAP tasks are scheduled end to start.</div></td>
352
+ </tr>
341
353
  <tr align="left">
342
354
  <td class="descr">seqno</td>
343
355
  <td class="descr"><div>The index of the item based on the declaration order</div></td>
344
356
  </tr>
345
357
  <tr align="left">
346
358
  <td class="descr">sickleave</td>
347
- <td class="descr"><div>The number of sick leave units within the reported time period. The unit can be adjusted with <a href="loadunit.report.html">loadunit.report</a>.</div></td>
359
+ <td class="descr"><div>The number of sick leave units within the reported time period. The unit can be adjusted with <a href="loadunit.html">loadunit</a>.</div></td>
348
360
  </tr>
349
361
  <tr align="left">
350
362
  <td class="descr">specialleave</td>
351
- <td class="descr"><div>The number of special leave units within the reported time period. The unit can be adjusted with <a href="loadunit.report.html">loadunit.report</a>.</div></td>
363
+ <td class="descr"><div>The number of special leave units within the reported time period. The unit can be adjusted with <a href="loadunit.html">loadunit</a>.</div></td>
352
364
  </tr>
353
365
  <tr align="left">
354
366
  <td class="descr">start</td>
@@ -371,7 +383,7 @@
371
383
  </tr>
372
384
  <tr align="left">
373
385
  <td class="descr">unpaidleave</td>
374
- <td class="descr"><div>The number of unpaid leave units within the reported time period. The unit can be adjusted with <a href="loadunit.report.html">loadunit.report</a>.</div></td>
386
+ <td class="descr"><div>The number of unpaid leave units within the reported time period. The unit can be adjusted with <a href="loadunit.html">loadunit</a>.</div></td>
375
387
  </tr>
376
388
  <tr align="left">
377
389
  <td class="descr">weekly</td>