taskjuggler 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (443) hide show
  1. data/{tasks/missing.rake → .gemtest} +0 -0
  2. data/CHANGELOG +27 -0
  3. data/Rakefile +8 -9
  4. data/bin/tj3 +2 -1
  5. data/bin/tj3client +2 -1
  6. data/bin/tj3d +2 -1
  7. data/bin/tj3man +2 -1
  8. data/bin/tj3ss_receiver +2 -1
  9. data/bin/tj3ss_sender +2 -1
  10. data/bin/tj3ts_receiver +2 -1
  11. data/bin/tj3ts_sender +2 -1
  12. data/bin/tj3ts_summary +2 -1
  13. data/data/tjp.vim +425 -419
  14. data/examples/Fedora-20/f-20.tjp +2442 -0
  15. data/examples/Fedora-20/icons/fedoralogo.png +0 -0
  16. data/examples/Fedora-20/reports.tji +423 -0
  17. data/lib/header.tmpl +13 -0
  18. data/lib/taskjuggler/AppConfig.rb +5 -0
  19. data/lib/taskjuggler/Attributes.rb +22 -0
  20. data/lib/taskjuggler/Journal.rb +273 -10
  21. data/lib/taskjuggler/Log.rb +9 -8
  22. data/lib/taskjuggler/Project.rb +28 -60
  23. data/lib/taskjuggler/ProjectFileScanner.rb +2 -1
  24. data/lib/taskjuggler/PropertySet.rb +3 -0
  25. data/lib/taskjuggler/PropertyTreeNode.rb +4 -0
  26. data/lib/taskjuggler/Query.rb +2 -1
  27. data/lib/taskjuggler/Resource.rb +0 -103
  28. data/lib/taskjuggler/RichText/RTFQuery.rb +42 -4
  29. data/lib/taskjuggler/SheetHandlerBase.rb +0 -20
  30. data/lib/taskjuggler/SheetReceiver.rb +23 -21
  31. data/lib/taskjuggler/Task.rb +3 -5
  32. data/lib/taskjuggler/TaskJuggler.rb +4 -0
  33. data/lib/taskjuggler/TaskScenario.rb +81 -103
  34. data/lib/taskjuggler/TextParser/Scanner.rb +19 -18
  35. data/lib/taskjuggler/Tj3Config.rb +1 -1
  36. data/lib/taskjuggler/TjpSyntaxRules.rb +180 -45
  37. data/lib/taskjuggler/UTF8String.rb +30 -0
  38. data/lib/taskjuggler/apps/Tj3.rb +1 -1
  39. data/lib/taskjuggler/apps/Tj3Man.rb +54 -2
  40. data/lib/taskjuggler/reports/ICalReport.rb +4 -4
  41. data/lib/taskjuggler/reports/NikuReport.rb +6 -0
  42. data/lib/taskjuggler/reports/Report.rb +5 -5
  43. data/lib/taskjuggler/reports/ReportContext.rb +4 -2
  44. data/lib/taskjuggler/reports/ResourceListRE.rb +10 -1
  45. data/lib/taskjuggler/reports/StatusSheetReport.rb +3 -0
  46. data/lib/taskjuggler/reports/TableReport.rb +8 -3
  47. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -0
  48. data/lib/updateheader.sh +15 -0
  49. data/manual/Installation +11 -22
  50. data/manual/Software +17 -3
  51. data/manual/html/Day_To_Day_Juggling.html +359 -0
  52. data/manual/html/Getting_Started.html +62 -0
  53. data/manual/html/How_To_Contribute.html +88 -0
  54. data/manual/html/Installation.html +172 -0
  55. data/manual/html/Intro.html +74 -0
  56. data/manual/html/Reporting_Bugs.html +47 -0
  57. data/manual/html/Rich_Text_Attributes.html +174 -0
  58. data/manual/html/Software.html +147 -0
  59. data/manual/html/TaskJuggler_2x_Migration.html +71 -0
  60. data/manual/html/TaskJuggler_Internals.html +61 -0
  61. data/manual/html/The_TaskJuggler_Syntax.html +89 -0
  62. data/manual/html/Tutorial.html +498 -0
  63. data/manual/html/account.html +152 -0
  64. data/manual/html/account.task.html +68 -0
  65. data/manual/html/accountprefix.html +67 -0
  66. data/manual/html/active.html +66 -0
  67. data/manual/html/adopt.task.html +73 -0
  68. data/manual/html/alert level.html +66 -0
  69. data/manual/html/alert.html +66 -0
  70. data/manual/html/allocate.html +92 -0
  71. data/manual/html/alphabet.html +33 -0
  72. data/manual/html/alternative.html +77 -0
  73. data/manual/html/author.html +69 -0
  74. data/manual/html/balance.html +73 -0
  75. data/manual/html/booking.resource.html +122 -0
  76. data/manual/html/booking.task.html +120 -0
  77. data/manual/html/caption.html +96 -0
  78. data/manual/html/cellcolor.column.html +71 -0
  79. data/manual/html/celltext.column.html +68 -0
  80. data/manual/html/center.html +67 -0
  81. data/manual/html/charge.html +89 -0
  82. data/manual/html/chargeset.html +73 -0
  83. data/manual/html/columnid.html +358 -0
  84. data/manual/html/columns.html +73 -0
  85. data/manual/html/complete.html +80 -0
  86. data/manual/html/copyright.html +97 -0
  87. data/manual/html/credit.html +117 -0
  88. data/{benchmarks → manual/html}/css/tjmanual.css +0 -0
  89. data/{benchmarks → manual/html}/css/tjreport.css +0 -0
  90. data/manual/html/currency.html +120 -0
  91. data/manual/html/currencyformat.html +99 -0
  92. data/manual/html/dailymax.html +144 -0
  93. data/manual/html/dailymin.html +132 -0
  94. data/manual/html/dailyworkinghours.html +90 -0
  95. data/manual/html/date.extend.html +77 -0
  96. data/manual/html/date.html +100 -0
  97. data/manual/html/definitions.html +94 -0
  98. data/manual/html/depends.html +110 -0
  99. data/manual/html/details.html +69 -0
  100. data/manual/html/disabled.html +85 -0
  101. data/manual/html/duration.html +133 -0
  102. data/manual/html/efficiency.html +93 -0
  103. data/manual/html/effort.html +134 -0
  104. data/manual/html/email.html +68 -0
  105. data/manual/html/enabled.html +69 -0
  106. data/manual/html/end.column.html +67 -0
  107. data/manual/html/end.html +87 -0
  108. data/manual/html/end.limit.html +69 -0
  109. data/manual/html/end.report.html +99 -0
  110. data/manual/html/end.timesheet.html +94 -0
  111. data/manual/html/endcredit.html +110 -0
  112. data/manual/html/epilog.html +72 -0
  113. data/manual/html/export.html +197 -0
  114. data/manual/html/extend.html +87 -0
  115. data/manual/html/fail.html +69 -0
  116. data/manual/html/fdl.html +430 -0
  117. data/manual/html/flags.account.html +66 -0
  118. data/manual/html/flags.html +66 -0
  119. data/manual/html/flags.journalentry.html +66 -0
  120. data/manual/html/flags.report.html +66 -0
  121. data/manual/html/flags.resource.html +68 -0
  122. data/manual/html/flags.statussheet.html +66 -0
  123. data/manual/html/flags.task.html +68 -0
  124. data/manual/html/flags.timesheet.html +66 -0
  125. data/manual/html/fontcolor.column.html +71 -0
  126. data/manual/html/footer.html +72 -0
  127. data/manual/html/formats.html +80 -0
  128. data/manual/html/functions.html +78 -0
  129. data/manual/html/gapduration.html +93 -0
  130. data/manual/html/gaplength.html +93 -0
  131. data/manual/html/halign.center.html +66 -0
  132. data/manual/html/halign.column.html +67 -0
  133. data/manual/html/halign.left.html +66 -0
  134. data/manual/html/halign.right.html +66 -0
  135. data/manual/html/hasalert.html +71 -0
  136. data/manual/html/header.html +72 -0
  137. data/manual/html/headline.html +69 -0
  138. data/manual/html/hidejournalentry.html +69 -0
  139. data/manual/html/hidereport.html +67 -0
  140. data/manual/html/hideresource.html +73 -0
  141. data/manual/html/hidetask.html +73 -0
  142. data/manual/html/icalreport.html +137 -0
  143. data/manual/html/include.macro.html +70 -0
  144. data/manual/html/include.project.html +71 -0
  145. data/manual/html/include.properties.html +168 -0
  146. data/manual/html/index.html +18 -0
  147. data/manual/html/inherit.extend.html +68 -0
  148. data/manual/html/interval1.html +99 -0
  149. data/manual/html/interval2.html +98 -0
  150. data/manual/html/interval3.html +99 -0
  151. data/manual/html/interval4.html +100 -0
  152. data/manual/html/isactive.html +67 -0
  153. data/manual/html/ischildof.html +67 -0
  154. data/manual/html/isdependencyof.html +75 -0
  155. data/manual/html/isdutyof.html +71 -0
  156. data/manual/html/isfeatureof.html +71 -0
  157. data/manual/html/isleaf.html +66 -0
  158. data/manual/html/ismilestone.html +67 -0
  159. data/manual/html/isongoing.html +67 -0
  160. data/manual/html/isresource.html +66 -0
  161. data/manual/html/istask.html +66 -0
  162. data/manual/html/journalattributes.html +107 -0
  163. data/manual/html/journalentry.html +83 -0
  164. data/manual/html/journalmode.html +83 -0
  165. data/manual/html/left.html +66 -0
  166. data/manual/html/length.html +104 -0
  167. data/manual/html/limits.allocate.html +72 -0
  168. data/manual/html/limits.html +72 -0
  169. data/manual/html/limits.resource.html +80 -0
  170. data/manual/html/limits.task.html +113 -0
  171. data/manual/html/listitem.column.html +66 -0
  172. data/manual/html/listtype.column.html +79 -0
  173. data/manual/html/loadunit.html +99 -0
  174. data/manual/html/logicalexpression.html +110 -0
  175. data/manual/html/logicalflagexpression.html +82 -0
  176. data/manual/html/macro.html +103 -0
  177. data/manual/html/managers.html +109 -0
  178. data/manual/html/mandatory.html +66 -0
  179. data/manual/html/maxend.html +69 -0
  180. data/manual/html/maximum.html +99 -0
  181. data/manual/html/maxstart.html +69 -0
  182. data/manual/html/milestone.html +71 -0
  183. data/manual/html/minend.html +69 -0
  184. data/manual/html/minimum.html +99 -0
  185. data/manual/html/minstart.html +69 -0
  186. data/manual/html/monthlymax.html +99 -0
  187. data/manual/html/monthlymin.html +99 -0
  188. data/manual/html/navbar.html +513 -0
  189. data/manual/html/navigator.html +70 -0
  190. data/manual/html/newtask.html +83 -0
  191. data/manual/html/nikureport.html +216 -0
  192. data/manual/html/note.task.html +68 -0
  193. data/manual/html/now.html +67 -0
  194. data/manual/html/numberformat.html +85 -0
  195. data/manual/html/onend.html +68 -0
  196. data/manual/html/onstart.html +68 -0
  197. data/manual/html/opennodes.html +66 -0
  198. data/manual/html/overtime.booking.html +76 -0
  199. data/manual/html/period.column.html +67 -0
  200. data/manual/html/period.limit.html +69 -0
  201. data/manual/html/period.report.html +69 -0
  202. data/manual/html/period.task.html +69 -0
  203. data/manual/html/persistent.html +66 -0
  204. data/manual/html/precedes.html +86 -0
  205. data/manual/html/priority.html +114 -0
  206. data/manual/html/priority.timesheet.html +68 -0
  207. data/manual/html/project.html +88 -0
  208. data/manual/html/projectid.html +66 -0
  209. data/manual/html/projectid.task.html +68 -0
  210. data/manual/html/projectids.html +66 -0
  211. data/manual/html/projection.html +75 -0
  212. data/manual/html/prolog.html +72 -0
  213. data/manual/html/properties.html +64 -0
  214. data/manual/html/purge.html +69 -0
  215. data/manual/html/rate.html +66 -0
  216. data/manual/html/rate.resource.html +68 -0
  217. data/manual/html/reference.extend.html +77 -0
  218. data/manual/html/remaining.html +117 -0
  219. data/manual/html/replace.html +66 -0
  220. data/manual/html/report.html +333 -0
  221. data/manual/html/reportprefix.html +67 -0
  222. data/manual/html/resource.html +194 -0
  223. data/manual/html/resourceattributes.html +83 -0
  224. data/manual/html/resourceprefix.html +67 -0
  225. data/manual/html/resourcereport.html +69 -0
  226. data/manual/html/resourceroot.html +90 -0
  227. data/manual/html/resources.limit.html +82 -0
  228. data/manual/html/responsible.html +69 -0
  229. data/manual/html/richtext.extend.html +78 -0
  230. data/manual/html/right.html +66 -0
  231. data/manual/html/rollupresource.html +92 -0
  232. data/manual/html/rolluptask.html +69 -0
  233. data/manual/html/scale.column.html +87 -0
  234. data/manual/html/scenario.html +123 -0
  235. data/manual/html/scenario.ical.html +67 -0
  236. data/manual/html/scenarios.export.html +66 -0
  237. data/manual/html/scenarios.html +66 -0
  238. data/manual/html/scenariospecific.extend.html +68 -0
  239. data/manual/html/scheduled.html +68 -0
  240. data/manual/html/scheduling.html +74 -0
  241. data/manual/html/select.html +86 -0
  242. data/manual/html/selfcontained.html +66 -0
  243. data/manual/html/shift.html +128 -0
  244. data/manual/html/shift.resource.html +74 -0
  245. data/manual/html/shift.task.html +74 -0
  246. data/manual/html/shift.timesheet.html +70 -0
  247. data/manual/html/shifts.allocate.html +71 -0
  248. data/manual/html/shifts.resource.html +73 -0
  249. data/manual/html/shifts.task.html +73 -0
  250. data/manual/html/shorttimeformat.html +67 -0
  251. data/manual/html/sloppy.booking.html +77 -0
  252. data/manual/html/sloppy.projection.html +66 -0
  253. data/manual/html/sortjournalentries.html +81 -0
  254. data/manual/html/sortresources.html +73 -0
  255. data/manual/html/sorttasks.html +73 -0
  256. data/manual/html/start.column.html +67 -0
  257. data/manual/html/start.html +78 -0
  258. data/manual/html/start.limit.html +69 -0
  259. data/manual/html/start.report.html +69 -0
  260. data/manual/html/startcredit.html +68 -0
  261. data/manual/html/status.statussheet.html +73 -0
  262. data/manual/html/status.timesheet.html +91 -0
  263. data/manual/html/statussheet.html +124 -0
  264. data/manual/html/statussheetreport.html +125 -0
  265. data/manual/html/strict.projection.html +66 -0
  266. data/manual/html/summary.html +69 -0
  267. data/manual/html/supplement.html +108 -0
  268. data/manual/html/supplement.resource.html +195 -0
  269. data/manual/html/supplement.task.html +329 -0
  270. data/manual/html/tagfile.html +73 -0
  271. data/manual/html/task.html +320 -0
  272. data/manual/html/task.statussheet.html +74 -0
  273. data/manual/html/task.timesheet.html +89 -0
  274. data/manual/html/taskattributes.html +115 -0
  275. data/manual/html/taskprefix.html +67 -0
  276. data/manual/html/taskreport.html +69 -0
  277. data/manual/html/taskroot.html +103 -0
  278. data/manual/html/text.extend.html +77 -0
  279. data/manual/html/textreport.html +66 -0
  280. data/manual/html/timeformat.html +160 -0
  281. data/manual/html/timeoff.nikureport.html +71 -0
  282. data/manual/html/timesheet.html +129 -0
  283. data/manual/html/timesheetreport.html +107 -0
  284. data/manual/html/timezone.export.html +66 -0
  285. data/manual/html/timezone.html +72 -0
  286. data/manual/html/timezone.report.html +66 -0
  287. data/manual/html/timezone.shift.html +70 -0
  288. data/manual/html/timingresolution.html +71 -0
  289. data/manual/html/title.column.html +67 -0
  290. data/manual/html/title.html +68 -0
  291. data/manual/html/toc.html +1330 -0
  292. data/manual/html/tooltip.column.html +72 -0
  293. data/manual/html/trackingscenario.html +80 -0
  294. data/manual/html/treelevel.html +66 -0
  295. data/manual/html/vacation.html +71 -0
  296. data/manual/html/vacation.resource.html +73 -0
  297. data/manual/html/vacation.shift.html +71 -0
  298. data/manual/html/warn.html +69 -0
  299. data/manual/html/weeklymax.html +99 -0
  300. data/manual/html/weeklymin.html +99 -0
  301. data/manual/html/weekstartsmonday.html +66 -0
  302. data/manual/html/weekstartssunday.html +66 -0
  303. data/manual/html/width.column.html +66 -0
  304. data/manual/html/work.html +105 -0
  305. data/manual/html/workinghours.project.html +102 -0
  306. data/manual/html/workinghours.resource.html +79 -0
  307. data/manual/html/workinghours.shift.html +81 -0
  308. data/manual/html/yearlyworkingdays.html +70 -0
  309. data/spec/StatusSheets_spec.rb +0 -6
  310. data/spec/TimeSheets_spec.rb +0 -6
  311. data/spec/Tj3Daemon_spec.rb +2 -0
  312. data/spec/support/DaemonControl.rb +10 -0
  313. data/taskjuggler.gemspec +71 -0
  314. data/tasks/changelog.rake +2 -2
  315. data/tasks/gem.rake +50 -21
  316. data/tasks/manual.rake +1 -1
  317. data/tasks/rdoc.rake +5 -12
  318. data/tasks/spec.rake +1 -1
  319. data/tasks/test.rake +5 -8
  320. data/test/ReferenceGenerator.rb +91 -0
  321. data/test/TestSuite/CSV-Reports/refs/resourcereport.csv +4 -4
  322. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +21 -0
  323. data/test/TestSuite/ReportGenerator/Correct/JournalMode.tjp +124 -0
  324. data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +124 -124
  325. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +1 -7
  326. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-2.csv +7 -3
  327. data/test/TestSuite/ReportGenerator/Correct/refs/JournalMode-1.csv +79 -0
  328. data/test/TestSuite/ReportGenerator/Correct/refs/JournalMode-2.csv +208 -0
  329. data/test/TjpGen.rb +152 -0
  330. metadata +1290 -741
  331. data/benchmarks/666tasks.tjp +0 -3183
  332. data/benchmarks/allocate.tjp +0 -30
  333. data/benchmarks/allocatedSlots.tjp +0 -1602
  334. data/benchmarks/booking.tjp +0 -76
  335. data/benchmarks/depends.tjp +0 -113
  336. data/benchmarks/gantt.tjp +0 -57
  337. data/benchmarks/htmltaskreport.tjp +0 -71
  338. data/benchmarks/icons/details.png +0 -0
  339. data/benchmarks/icons/flag-green.png +0 -0
  340. data/benchmarks/icons/flag-red.png +0 -0
  341. data/benchmarks/icons/flag-yellow.png +0 -0
  342. data/benchmarks/icons/resource.png +0 -0
  343. data/benchmarks/icons/resourcegroup.png +0 -0
  344. data/benchmarks/icons/task.png +0 -0
  345. data/benchmarks/icons/taskgroup.png +0 -0
  346. data/benchmarks/icons/trend-down.png +0 -0
  347. data/benchmarks/icons/trend-flat.png +0 -0
  348. data/benchmarks/icons/trend-up.png +0 -0
  349. data/benchmarks/runbench.rb +0 -30
  350. data/benchmarks/scripts/wz_tooltip.js +0 -1301
  351. data/gem_spec.rb +0 -37
  352. data/lib/exchangebug.rb +0 -42
  353. data/lib/ruby-signal-bug.rb +0 -55
  354. data/prj_cfg.rb +0 -50
  355. data/tasks/csts.rake +0 -72
  356. data/tasks/rcov.rake +0 -14
  357. data/tasks/rexml_fix.rb +0 -16
  358. data/tasks/rexml_fix_19.rb +0 -49
  359. data/tasks/show.rake +0 -21
  360. data/tasks/stats.rake +0 -25
  361. data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -60
  362. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -80
  363. data/test/TestSuite/Export-Reports/tp.tjp +0 -49
  364. data/test/TestSuite/HTML-Reports/Alerts.html +0 -424
  365. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  366. data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -86
  367. data/test/TestSuite/HTML-Reports/css/tjreport.css +0 -413
  368. data/test/TestSuite/HTML-Reports/icons/details.png +0 -0
  369. data/test/TestSuite/HTML-Reports/icons/flag-green.png +0 -0
  370. data/test/TestSuite/HTML-Reports/icons/flag-red.png +0 -0
  371. data/test/TestSuite/HTML-Reports/icons/flag-yellow.png +0 -0
  372. data/test/TestSuite/HTML-Reports/icons/resource.png +0 -0
  373. data/test/TestSuite/HTML-Reports/icons/resourcegroup.png +0 -0
  374. data/test/TestSuite/HTML-Reports/icons/task.png +0 -0
  375. data/test/TestSuite/HTML-Reports/icons/taskgroup.png +0 -0
  376. data/test/TestSuite/HTML-Reports/icons/trend-down.png +0 -0
  377. data/test/TestSuite/HTML-Reports/icons/trend-flat.png +0 -0
  378. data/test/TestSuite/HTML-Reports/icons/trend-up.png +0 -0
  379. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  380. data/test/TestSuite/HTML-Reports/scripts/wz_tooltip.js +0 -1301
  381. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +0 -86
  382. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +0 -413
  383. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  384. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  385. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  386. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  387. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  388. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  389. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  390. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  391. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  392. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  393. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  394. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  395. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  396. data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +0 -1301
  397. data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -1075
  398. data/test/TestSuite/Scheduler/Correct/Duration.html +0 -610
  399. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -85
  400. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
  401. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  402. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  403. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  404. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  405. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  406. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  407. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  408. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  409. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  410. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  411. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  412. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  413. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  414. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  415. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +0 -2
  416. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  417. data/test/TestSuite/StatusSheets/boss.tji +0 -45
  418. data/test/TestSuite/StatusSheets/boss_mail +0 -51
  419. data/test/TestSuite/StatusSheets/dev2_mail +0 -37
  420. data/test/TestSuite/StatusSheets/project.tjp +0 -275
  421. data/test/TestSuite/StatusSheets/run +0 -54
  422. data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
  423. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
  424. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +0 -86
  425. data/test/TestSuite/Syntax/Correct/css/tjreport.css +0 -413
  426. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  427. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  428. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  429. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  430. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  431. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  432. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  433. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  434. data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
  435. data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
  436. data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
  437. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +0 -1301
  438. data/test/TestSuite/TimeSheets/dev2_mail1 +0 -84
  439. data/test/TestSuite/TimeSheets/dev2_mail2 +0 -87
  440. data/test/TestSuite/TimeSheets/project.tjp +0 -271
  441. data/test/TestSuite/TimeSheets/receiver.log.mod +0 -1056
  442. data/test/TestSuite/TimeSheets/run +0 -76
  443. data/test/TestSuite/TimeSheets/uu.txt +0 -29
@@ -0,0 +1,174 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <!-- This file has been generated by tj3man v0.2.2 -->
4
+ <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <title>Rich_Text_Attributes</title>
7
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
8
+ </head>
9
+ <link href="css/tjmanual.css" rel="stylesheet" type="text/css"></link>
10
+ <body>
11
+ <div align="center">
12
+ <h3 align="center">The TaskJuggler III User Manual</h3>
13
+ <em align="center">Project Management beyond Gantt Chart Drawing</em>
14
+ </div>
15
+ <br/>
16
+ <hr/>
17
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
18
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="The_TaskJuggler_Syntax.html">The_TaskJuggler_Syntax</a> &lt;&lt;</td>
19
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
20
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="Software.html">Software</a> &gt;&gt;</td>
21
+ </tr></table>
22
+ <hr/>
23
+ <br/>
24
+ <div style="width:90%; margin-left:5%; margin-right:5%"><div class="manual">
25
+ <h2 class="manual" id="Rich_Text_Attributes">5.4 Rich Text Attributes</h2>
26
+ <p class="manual">TaskJuggler supports Rich Text data for some STRING attributes that are marked accordingly in the syntax reference. Rich Text means, that you can use certain markup symbols to structure the text into sections, include headlines, bullet lists and the like. The following sections describe the supported markup elements and how to use them.</p>
27
+ <p class="manual">The markup syntax is mostly compatible to the syntax used by the popular <a href="http://www.mediawiki.org" target="_top">MediaWiki</a>.</p>
28
+ <h3 class="manual" id="Block_Markups">5.4.1 Block Markups</h3>
29
+ <p class="manual">All block markups are delimited by an empty line. The markup must always start at the beginning of the first line of the block. Block markups cannot be nested.</p>
30
+ <p class="manual">The simplest form of a block is a paragraph. It's a block of text that is separated by empty lines from other blocks. There is no markup needed to start a text block.</p>
31
+ <p class="manual">Headlines can be inserted by using <code class="manual">=</code> characters to start a line. There are 3 level of headlines.</p>
32
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">== Headline Level 1 ==
33
+ === Headline Level 2 ===
34
+ ==== Headline Level 3 ====
35
+ </pre></div>
36
+ <p class="manual">A line that starts with four dashes creates a horizontal line.</p>
37
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">----
38
+ </pre></div>
39
+ <p class="manual">Items of a bullet list start with a star. The number of stars determines the bullet list level of the item. Three levels are supported. Bullet items may span multiple lines but cannot contain paragraphs.</p>
40
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">* Bullet 1
41
+ ** Bullet 2
42
+ *** Bullet 3
43
+ </pre></div>
44
+ <p class="manual">Enumerated lists are formed by using a <code class="manual">#</code> instead of <code class="manual">*</code>.</p>
45
+ <div class="manual" codesection="1"><pre class="manual" codesection="1"># Enumeration Level 1
46
+ ## Enumeration Level 2
47
+ ### Enumeration Level 3
48
+ </pre></div>
49
+ <p class="manual">Sections of lines that start with a space character are interpreted as pre-formatted text. The formatting will be preserved by using a fixed-width font and by not interpreting any markup characters within the text.</p>
50
+ <div class="manual" codesection="1"><pre class="manual" codesection="1"> Preformatted text start with
51
+ a single space at the start of
52
+ each line.
53
+ </pre></div>
54
+ <h3 class="manual" id="InLine_Markups">5.4.2 In-Line Markups</h3>
55
+ <p class="manual">In-line markups may occur within a text block. They don't have to start at the start of the line.</p>
56
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">This is an ''italic'' word.
57
+ This is a '''bold''' word.
58
+ This is a ''''monospaced'''' word.
59
+ This is a '''''italic and bold''''' word.
60
+ </pre></div>
61
+ <p class="manual">The monospace format is not part of the original MediaWiki markup, but we found it useful to have for this manual.</p>
62
+ <p class="manual">Links to external documents are possible as well. In the first form, the URL will appear in the readable text as well. In the second form, the text after the URL will be visible but the link will be available if the output format supports it.</p>
63
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">[http://www.taskjuggler.org]
64
+ [http://www.taskjuggler.org The TaskJuggler Web Site]
65
+ </pre></div>
66
+ <p class="manual">For local references, the second form is available as well. In this form, <code class="manual">.html</code> is appended to the first word in the reference to create the URL.</p>
67
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">[[item]]
68
+ [[item|An item]]
69
+ </pre></div>
70
+ <p class="manual">Images can be added with a similar syntax.</p>
71
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">[[File:image.jpg]]
72
+ [[File:image.jpg|alt=An image]]
73
+ </pre></div>
74
+ <p class="manual">This first version will be replaced with the file <code class="manual">image.jpg</code> when the output format supports this. Otherwise a blank space will be inserted. The second version inserts the text <code class="manual">An image</code> if the output format does not support images. The following image types are supported and detected by their file name extensions: <code class="manual">.jpg</code>, <code class="manual">.gif</code>, <code class="manual">.png</code> and <code class="manual">.svg</code>.</p>
75
+ <p class="manual">The vertical positioning of the embedded file can be controlled with additional attributes.</p>
76
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">[[File:image.svg|text-bottom]]
77
+ </pre></div>
78
+ <p class="manual">The following attributes are supported: <code class="manual">top, middle, bottom, baseline, sub, super, text-top, text-bottom</code>.</p>
79
+ <p class="manual">In some situations, it is desirable to not interpret certain markup sequences and reproduce the text verbatim. Such text must be enclosed in nowiki tags.</p>
80
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">&lt;nowiki&gt; This is not '''bold''' text. &lt;/nowiki&gt;
81
+ </pre></div>
82
+ <h3 class="manual" id="Block_and_Inline_Generators">5.4.3 Block and Inline Generators</h3>
83
+ <p class="manual">Block and inline generators are a very powerful extension that allow you to insert arbitrarily complex content. Block generators create a text block whereas inline generators generate an element that fits inside a text paragraph.</p>
84
+ <p class="manual">Block generators use the following syntax:</p>
85
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">&lt;[generator_name parameter1="value1" ... ]&gt;
86
+ </pre></div>
87
+ <p class="manual">Inline generators have a very similar syntax:</p>
88
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">&lt;-generator_name parameter1="value1" ... -&gt;
89
+ </pre></div>
90
+ <p class="manual">Each generator is identified by a name. See the following list for supported generators and their functionality. Generators can have one or more optional parameters. Some parameters are mandatory, other are optional. The value of a parameter must be enclosed in single or double quotes. Since your rich text content must already be enclosed by double or single quotes, make sure you don't use the same quoting marks for the parameter value. Alternatively you can put a backslash in front of the quote mark to escape it.</p>
91
+ <hr class="manual"/>
92
+ <p class="manual">
93
+ <b>Block Generator</b> <code class="manual">navigator</code>
94
+ </p>
95
+ <p class="manual">Parameters:</p>
96
+ <ul><li>
97
+ <code class="manual">id</code> : ID of a defined <a href="navigator.html">navigator</a>
98
+ </li></ul>
99
+ <p class="manual">The navigator generator inserts the referenced navigator.</p>
100
+ <hr class="manual"/>
101
+ <p class="manual">
102
+ <b>Block Generator</b> <code class="manual">report</code>
103
+ </p>
104
+ <p class="manual">Paramters:</p>
105
+ <ul><li>
106
+ <code class="manual">id</code> : ID of a defined <a href="report.html">report</a>
107
+ </li></ul>
108
+ <p class="manual">The report generator inserts the referenced report as a new block of this text. The referenced report inherits some context such as the report period and the property set from the referencing report.</p>
109
+ <hr class="manual"/>
110
+ <p class="manual">
111
+ <b>Inline Generator</b> <code class="manual">reportlink</code>
112
+ </p>
113
+ <p class="manual">Paramters:</p>
114
+ <ul><li>
115
+ <code class="manual">id</code> : ID of a defined <a href="report.html">report</a>
116
+ </li></ul>
117
+ <ul><li>
118
+ <code class="manual">attributes</code>: A set of attributes that override the original attributes of the referenced report. All <a href="report.html">report attributes</a> are supported. Since the value of attributes already must be enclosed by single or double quotes, all single or double quotes contained in the string must be escaped with backslashes. This feature enables reports with content that is customized based on where they have been referenced from. It requires the reports to be dynamically generated and is only available when used with the <code class="manual">tj3d</code> web server. The <code class="manual">tj3</code> application will ignore the attributes setting.</li></ul>
119
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">taskreport "All" {
120
+ formats html
121
+ columns name {
122
+ celltext 1 -8&lt;-
123
+ &lt;-query attribute="name"-&gt; &lt;-reportlink id="taskRep"
124
+ attributes="hidetask plan.id != \"&lt;-id-&gt;\""-&gt;
125
+ -&gt;8-
126
+ }, start, end
127
+ }
128
+ taskreport taskRep "Task" {
129
+ formats html
130
+ }
131
+ </pre></div>
132
+ <p class="manual">The report link generator inserts a link to the referenced report.</p>
133
+ <hr class="manual"/>
134
+ <p class="manual">
135
+ <b>Inline Generator</b> <code class="manual">query</code>
136
+ </p>
137
+ <p class="manual">Paramters:</p>
138
+ <ul><li>
139
+ <code class="manual">family</code> : Specifies whether a <code class="manual">task</code> or a <code class="manual">resource</code> should be queried.</li></ul>
140
+ <ul><li>
141
+ <code class="manual">property</code> : The ID of the task or resource to be queried. If no property is specified, the query will return a global project attribute.</li></ul>
142
+ <ul><li>
143
+ <code class="manual">scopeproperty</code> : The ID of the scope property. If the property is a task this must be a resource ID and vice versa.</li></ul>
144
+ <ul><li>
145
+ <code class="manual">attribute</code> : The ID of the attribute which value should be returned by the query. If a property ID is provided, this must be one of the names that can be used as <a href="columnid.html">columnid</a> values. Without a property, global attributes of the project can be requested. The following attributes are supported: <code class="manual">copyright</code>, <code class="manual">currency</code>, <code class="manual">end</code>, <code class="manual">name</code>, <code class="manual">now</code>, <code class="manual">projectid</code>, <code class="manual">start</code> and <code class="manual">version</code>.</li></ul>
146
+ <ul><li>
147
+ <code class="manual">scenario</code> : The ID of a scenario. This must be provided whenever the requested attribute is scenario specific.</li></ul>
148
+ <ul><li>
149
+ <code class="manual">start</code> : The start date of the report period of the current report.</li></ul>
150
+ <ul><li>
151
+ <code class="manual">end</code> : The end date of the report period of the current report.</li></ul>
152
+ <ul><li>
153
+ <code class="manual">loadunit</code> : The <a href="loadunit.html">loadunit</a> that should be used in case the requested attribute is an effort or duration value.</li></ul>
154
+ <ul><li>
155
+ <code class="manual">timeformat</code> : The <a href="timeformat.html">timeformat</a> used to format date attributes.</li></ul>
156
+ <ul><li>
157
+ <code class="manual">numberformat</code> : The <a href="numberformat.html">numberformat</a> used to format arithmetic attributes.</li></ul>
158
+ <ul><li>
159
+ <code class="manual">currencyformat</code> : The <a href="currencyformat.html">currencyformat</a> used to format currency values.</li></ul>
160
+ <p class="manual">The query generator inserts any requested value from the project, a task or a resource.</p>
161
+ <p class="manual">Queries are context aware. Depending on the context where the query is used, certain or all of the above parameters have already predefined values. When used in the header section of a report, the context does not provide a property or scope property. Start and end dates as well the formatting options are taken from the report context. But when used e. g. in <a href="celltext.column.html">celltext.column</a> the cell provides, that property and the attribute and possibly even the scope property.</p>
162
+ </div></div>
163
+ <br/>
164
+ <hr/>
165
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
166
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="The_TaskJuggler_Syntax.html">The_TaskJuggler_Syntax</a> &lt;&lt;</td>
167
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
168
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="Software.html">Software</a> &gt;&gt;</td>
169
+ </tr></table>
170
+ <hr/>
171
+ <br/>
172
+ <div align="center" style="font-size:10px;">Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 by Chris Schlaeger &lt;chris@linux.com&gt;.<a href="http://www.taskjuggler.org">TaskJuggler</a> is a trademark of Chris Schlaeger.</div>
173
+ </body>
174
+ </html>
@@ -0,0 +1,147 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <!-- This file has been generated by tj3man v0.2.2 -->
4
+ <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <title>Software</title>
7
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
8
+ </head>
9
+ <link href="css/tjmanual.css" rel="stylesheet" type="text/css"></link>
10
+ <body>
11
+ <div align="center">
12
+ <h3 align="center">The TaskJuggler III User Manual</h3>
13
+ <em align="center">Project Management beyond Gantt Chart Drawing</em>
14
+ </div>
15
+ <br/>
16
+ <hr/>
17
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
18
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="Rich_Text_Attributes.html">Rich_Text_Attributes</a> &lt;&lt;</td>
19
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
20
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="Day_To_Day_Juggling.html">Day_To_Day_Juggling</a> &gt;&gt;</td>
21
+ </tr></table>
22
+ <hr/>
23
+ <br/>
24
+ <div style="width:90%; margin-left:5%; margin-right:5%"><div class="manual">
25
+ <h1 class="manual" id="The_TaskJuggler_Software">6 The TaskJuggler Software</h1>
26
+ <p class="manual">After the installation of a software package the first questions that most users have is <i>"How do I run it?"</i>. Many users expect to find an icon on their desktop or an entry in the start menu hierarchy. Don't bother looking for them, you won't find any for TaskJuggler. As we have mentioned before, TaskJuggler is a command line program. All the components are started from a shell by typing in the command name.</p>
27
+ <p class="manual">This chapter describes the most important TaskJuggler commands and how to use them. If you haven't used command line programs before, don't worry - you will quickly get used to it.</p>
28
+ <h2 class="manual" id="tj3">6.1 <code class="manual">tj3</code>
29
+ </h2>
30
+ <p class="manual">
31
+ <code class="manual">tj3</code> is the main program that you will probably use the most. It reads in your project files and schedules them. In case there are no errors, it will also generate all the reports that you have defined in your project files. It requires at least one parameter, the name of your main project file. In case your main project file is called <code class="manual">tutorial.tjp</code> you can process it by typing</p>
32
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3 tutorial.tjp
33
+ </pre></div>
34
+ <p class="manual">You will see an output similar to the one below.</p>
35
+ <div class="manual" codesection="1"><pre class="manual" codesection="1"> &gt; tj3 tutorial.tjp
36
+ TaskJuggler III v0.0.6 - A Project Management Software
37
+
38
+ Copyright (c) 2006, 2007, 2008, 2009, 2010 by Chris Schlaeger &lt;cs(a)kde.org&gt;
39
+
40
+ This program is free software; you can redistribute it and/or modify it under
41
+ the terms of version 2 of the GNU General Public License as published by the
42
+ Free Software Foundation.
43
+
44
+ Reading file tutorial.tjp [ Done ]
45
+ Preparing scenario Plan [ Done ]
46
+ Scheduling scenario Plan [ Done ]
47
+ Checking scenario Plan [ Done ]
48
+ Preparing scenario Delayed [ Done ]
49
+ Scheduling scenario Delayed [ Done ]
50
+ Checking scenario Delayed [ Done ]
51
+ Report Overview [ Done ]
52
+ Report Status [ Done ]
53
+ Report Development [ Done ]
54
+ Report Deliveries [ Done ]
55
+ Report ContactList [ Done ]
56
+ Report ResourceGraph [ Done ]
57
+ </pre></div>
58
+ <p class="manual">
59
+ <code class="manual">tj3</code> supports a number of runtime options that control the behavior. Please use the <code class="manual">--help</code> option to get more details.</p>
60
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3 --help
61
+ </pre></div>
62
+ <h2 class="manual" id="tj3man">6.2 <code class="manual">tj3man</code>
63
+ </h2>
64
+ <p class="manual">
65
+ <code class="manual">tj3man</code> provides you with a quick access to the syntax reference. If you run it without further parameters it will print a list of all syntax keywords. In some cases, keywords can be used in different contexts with different meanings. These keywords are listed multiple times with the context identifier appended separated by a dot. E. g. the <code class="manual">shift</code> keyword can be used in the global context, in the <a href="resource.html">resource</a>, <a href="task.html">task</a> and <a href="timesheet.html">timesheet</a> context. It will be listed as</p>
66
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">shift
67
+ shift.resource
68
+ shift.task
69
+ shift.timesheet
70
+ </pre></div>
71
+ <p class="manual">To get more information about a specific keyword you need to provide it as parameter to <code class="manual">tj3man</code>.</p>
72
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3man shift.task
73
+ </pre></div>
74
+ <p class="manual">The same information that is available in your shell is also available in your web browser.</p>
75
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3man --html &lt;keyword&gt;
76
+ </pre></div>
77
+ <p class="manual">The latter defaults to using the <a href="http://www.mozilla.com/en-US/firefox/new/" target="_top">Mozilla Firefox</a> web browser . Please see</p>
78
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3man --help
79
+ </pre></div>
80
+ <p class="manual">how to use a different browser. If you omit the keyword, you will get this user manual (browser).</p>
81
+ <h2 class="manual" id="tj3d">6.3 <code class="manual">tj3d</code>
82
+ </h2>
83
+ <p class="manual">
84
+ <code class="manual">tj3d</code> is the TaskJuggler daemon. It is a program that runs in the background, disconnected from your shell to provide certain services. It can generate reports on demand and serves them as web pages to a web browser. It's also used to process incoming time sheets.</p>
85
+ <p class="manual">Depending on the size of your project the scheduling time can take several minutes or more. Since all operations need to be done on the data of a scheduled project, it makes sense to have this data readily available. This is the job of the TaskJuggler server or daemon in Linux lingo. The program is called <code class="manual">tj3d</code>. When started, it automatically disconnects from the terminal and runs in the background. All interactions with the server are done via the TCP/IP protocol. For security reasons, only connections from the same machine (localhost) are accepted. To get access all clients must provide an authentication key. A TaskJuggler server can serve any number of projects. Once a project has been loaded successfully, clients can retrieve the data in form of reports. Projects are identified by their project ID. If a newly added project has the same ID such as an already loaded project, the new project will replace the old project once it was scheduled successfully. Before you start the server, you need to provide a configuration file with some basic settings.</p>
86
+ <p class="manual">All taskjuggler components can use the same TaskJuggler configuration file. The format is a simple plain text format that follows the <a href="http://www.yaml.org/" target="_top">YAML specification</a>. The file should be called <code class="manual">.taskjuglerrc</code> or <code class="manual">taskjuggler.rc</code>. The settings are structured by sections. Section names always start with an underscore.</p>
87
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">_global:
88
+ authKey: topsecret
89
+ _log:
90
+ logLevel: 3
91
+ outputLevel: 3
92
+ </pre></div>
93
+ <p class="manual">This file sets the authentication key for all TaskJuggler components. You must replace <i>topsecret</i> with your own random character sequence.</p>
94
+ <p class="manual">For the purpose of this documentation we assume you have a local user called <i>taskjuggler</i> and your project data in <code class="manual">/home/taskjuggler/project/prj</code>. Your TaskJuggler configuration should then be put into <code class="manual">/home/taskjuggler/project/prj/.taskjugglerrc</code>.</p>
95
+ <p class="manual">The log section controls the content of the log file. Since the daemon does not have a terminal attached to it, all messages are stored in a file called <code class="manual">tj3d.log</code>. For debugging purposes, you can use the <code class="manual">-d</code> option to prevent the daemon from disconnecting from the terminal. In this case the <code class="manual">outputLevel</code> configuration option controls the amount of details to be printed out.</p>
96
+ <ul>
97
+ <li>0: No output</li>
98
+ <li>1: Only fatal errors</li>
99
+ <li>2: Fatal and normal errors</li>
100
+ <li>3: Like 2, but additionally with information messages</li>
101
+ <li>4: Like 3, but additionally with debug messages</li>
102
+ </ul>
103
+ <p class="manual">The configuration file will be searched in the current directory, the current user's home directory or <code class="manual">/etc</code>. You can also explicitly tell the server where to find the configuration file with the <code class="manual">-c</code> option. See</p>
104
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3d --help
105
+ </pre></div>
106
+ <p class="manual">for details.</p>
107
+ <p class="manual">The daemon can also be turned into a web server that serves the HTML reports of one or more projects. To enable the web server, start the daemon with the <code class="manual">-w</code> option. By default, the web server is listening on port 8080. This can be changed in the <code class="manual">_global</code> section of the config file.</p>
108
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">_global:
109
+ authKey: topsecret
110
+ webServerPort: 8080
111
+ </pre></div>
112
+ <p class="manual">To access the HTML reports point your web browser to <code class="manual">http://localhost:8080/taskjuggler</code>. This assumes that the server is running on your local machine. You will then see a list of all loaded projects. Click on the project name to get a list of all reports for this project.</p>
113
+ <p class="manual">So far, the daemon has not received any kind of security review. We strongly advise you to only use the daemon in a trusted environment with only trusted users!</p>
114
+ <h2 class="manual" id="tj3client">6.4 <code class="manual">tj3client</code>
115
+ </h2>
116
+ <p class="manual">To control the TaskJuggler server, you need to use the TaskJuggler client. You can use the client to add or remove projects from the server, inquire the status of loaded projects. It can also be used to show the available reports for each project and to generate report or check time or status sheets.</p>
117
+ <p class="manual">The client must provide the correct authentication key to the server. You need to ensure that it can find the proper configuration file with the authentication key.</p>
118
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3client --help
119
+ </pre></div>
120
+ <p class="manual">will provide a full list of supported commands. To load a project simply type</p>
121
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3client add yourproject.tjp
122
+ </pre></div>
123
+ <p class="manual">In case there were no errors</p>
124
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3client status
125
+ </pre></div>
126
+ <p class="manual">should now list your project.</p>
127
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3client list-reports &lt;project_id&gt;
128
+ </pre></div>
129
+ <p class="manual">shows a list of available reports for the project with the provided ID. To generate a report, you can type</p>
130
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3client report &lt;project_id&gt; &lt;report_id&gt;
131
+ </pre></div>
132
+ <p class="manual">A server that is running can be terminated with the following command.</p>
133
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3client terminate
134
+ </pre></div>
135
+ </div></div>
136
+ <br/>
137
+ <hr/>
138
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
139
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="Rich_Text_Attributes.html">Rich_Text_Attributes</a> &lt;&lt;</td>
140
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
141
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="Day_To_Day_Juggling.html">Day_To_Day_Juggling</a> &gt;&gt;</td>
142
+ </tr></table>
143
+ <hr/>
144
+ <br/>
145
+ <div align="center" style="font-size:10px;">Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 by Chris Schlaeger &lt;chris@linux.com&gt;.<a href="http://www.taskjuggler.org">TaskJuggler</a> is a trademark of Chris Schlaeger.</div>
146
+ </body>
147
+ </html>
@@ -0,0 +1,71 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <!-- This file has been generated by tj3man v0.2.2 -->
4
+ <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <title>TaskJuggler_2x_Migration</title>
7
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
8
+ </head>
9
+ <link href="css/tjmanual.css" rel="stylesheet" type="text/css"></link>
10
+ <body>
11
+ <div align="center">
12
+ <h3 align="center">The TaskJuggler III User Manual</h3>
13
+ <em align="center">Project Management beyond Gantt Chart Drawing</em>
14
+ </div>
15
+ <br/>
16
+ <hr/>
17
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
18
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="Intro.html">Intro</a> &lt;&lt;</td>
19
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
20
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="Reporting_Bugs.html">Reporting_Bugs</a> &gt;&gt;</td>
21
+ </tr></table>
22
+ <hr/>
23
+ <br/>
24
+ <div style="width:90%; margin-left:5%; margin-right:5%"><div class="manual">
25
+ <h2 class="manual" id="TaskJuggler_2x_Migration">1.6 TaskJuggler 2.x Migration</h2>
26
+ <p class="manual">This section will cover changes between TaskJuggler 2.x and 3.x.</p>
27
+ <ul><li>The syntax for macros has changed slightly. The terminating <code class="manual">]</code> must be the last character before the line break. No spaces or comments are allowed here. Parameters of macro calls must always be enclosed by double quotes. In contrast to regular strings, single quotes are not allowed here. The parameter may not span multiple lines.</li></ul>
28
+ <ul><li>The <code class="manual">projection</code> attribute has been removed. The is now provided by <a href="trackingscenario.html">trackingscenario</a>.</li></ul>
29
+ <ul><li>The default working hours have been changed to 9:00 - 17:00.</li></ul>
30
+ <ul><li>IDs for properties such as tasks, resources and reports are now optional. If you don't need to reference a property, you can omit the ID. TaskJuggler will automatically assign an ID then.</li></ul>
31
+ <ul><li>Top-level accounts no longer need a <code class="manual">cost</code> or <code class="manual">revenue</code> attribute. Any two top level accounts can now be balanced against each other using the <a href="balance.html">balance</a> attribute in the report.</li></ul>
32
+ <ul><li>The <code class="manual">shift</code> attribute for tasks and resources has been renamed to <code class="manual">shifts</code> to allow support for multiple shifts.</li></ul>
33
+ <ul><li>The global <code class="manual">limits</code> attribute has been removed. Since both tasks and resources have a <code class="manual">limits</code> attribute, a global attribute was inconsistent as only resources inherited this attribute. Use a parent resource to emulate the old behaviour.</li></ul>
34
+ <ul><li>Shifts and limits for allocations have been deprecated. The concept was bogus and not compatible with bookings. The functionality is now provided by <a href="shifts.task.html">shifts</a> and <a href="limits.task.html">limits</a> on the task level. Limits for a task can be <a href="resources.limit.html">selectively
35
+ applied</a> to certain resources.</li></ul>
36
+ <ul><li>The <code class="manual">startbuffer</code> and <code class="manual">endbuffer</code> attributes have been deprecated. They have not been widely used and had no impact on scheduling.</li></ul>
37
+ <ul><li>The project attribute <code class="manual">allowredifinitions</code> has been dropped. It was an ugly workaround for a rare corner case. Using <a href="supplement.html">supplement</a> is the clean way to do this.</li></ul>
38
+ <ul><li>Camel case names for function names in logical expressions have been deprecated. Function names need to be all lower case now. Some functions have been removed as all attributes can now be accessed by scenario.attribute_id notation.</li></ul>
39
+ <ul><li>The format for <a href="report.html">reports</a> has been changed considerably. The old format was not very flexible and had some design flaws. TaskJuggler III now supports report nesting and composition. A report definition can be used to generated multiple output <a href="formats.html">formats</a>. The name of a report must now be specified without the file name extension. It will be automatically added depending on the output format.</li></ul>
40
+ <ul><li>The sorting modes have been extended to include the scenario. Also, the sorting direction is no longer mangled with the attribute name. What used to be <code class="manual">startup</code> is now <code class="manual">plan.start.up</code>. See <a href="sorttasks.html">sorttasks</a> or <a href="sortresources.html">sortresources</a> for details.</li></ul>
41
+ <ul><li>The attribute <code class="manual">properties</code> for <code class="manual">export</code> reports is no longer supported. The naming was inconsistent with TaskJuggler lingo and did not handle tasks and resources separately. It has been replaced with <a href="taskattributes.html">taskattributes</a> and <a href="resourceattributes.html">resourceattributes</a>.</li></ul>
42
+ <ul><li>The <code class="manual">barlabels</code> attribute for reports is no longer needed. HTML reports have always empty Gantt-chart bars and the calendar reports always have values.</li></ul>
43
+ <ul><li>Support for reading and writing XML files is no longer available. The content was redundant with the TJP file format and it was not widely used. Keeping it in sync was too much of an effort to be worth it. There is nothing in the TJ3 design that would prevent this feature from being added again, but there are no plans for this right now.</li></ul>
44
+ <h2 class="manual" id="Using_TaskJuggler_2x_and_TaskJuggler_3x_in_parallel">1.7 Using TaskJuggler 2.x and TaskJuggler 3.x in parallel</h2>
45
+ <p class="manual">While TaskJuggler 3.x has many new features over TaskJuggler 2.x like the much improved HTML reports, many 2.x users will miss the graphical user interface.</p>
46
+ <p class="manual">To ease the migration, you can continue to use the TaskJuggler 2.x front-end while using TaskJuggler 3.x for report generation. This is possible because TaskJuggler 3.x can read-in the TaskJuggler 2.x export files. Export files are fully scheduled projects that include start and end dates for all tasks and bookings for resource allocations.</p>
47
+ <p class="manual">To export all tasks and resources into a TJP file that can be read by TaskJuggler 3.x include the following export report definition in your TaskJuggler 2.x project plan. The necessary patches to support this only made it into TaskJuggler 2.x after the 2.4.3 release. So be sure to use a recent version from the Git repository to try this.</p>
48
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">export "FullProject.tjp" {
49
+ taskattributes all
50
+ resourceattributes all
51
+ hideresource 0
52
+ }
53
+ </pre></div>
54
+ <p class="manual">The resulting <code class="manual">FullProject.tjp</code> file is a valid self-contained project file that can be read with TaskJuggler 2.x or TaskJuggler 3.x. The file does not contain any report definitions. To generate reports with TaskJuggler 3.x you need to create an additional file that contains the TaskJugler 3.x report definitions.</p>
55
+ <p class="manual">Let's assume the file is called <code class="manual">tj3reports.tji</code>. Start TaskJuggler 3.x with the following command:</p>
56
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">tj3 FullProject.tjp tj3reports.tji
57
+ </pre></div>
58
+ <p class="manual">Now you have generated TaskJuggler 3.x reports from you TaskJuggler 2.x project.</p>
59
+ </div></div>
60
+ <br/>
61
+ <hr/>
62
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
63
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="Intro.html">Intro</a> &lt;&lt;</td>
64
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
65
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="Reporting_Bugs.html">Reporting_Bugs</a> &gt;&gt;</td>
66
+ </tr></table>
67
+ <hr/>
68
+ <br/>
69
+ <div align="center" style="font-size:10px;">Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 by Chris Schlaeger &lt;chris@linux.com&gt;.<a href="http://www.taskjuggler.org">TaskJuggler</a> is a trademark of Chris Schlaeger.</div>
70
+ </body>
71
+ </html>
@@ -0,0 +1,61 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <!-- This file has been generated by tj3man v0.2.2 -->
4
+ <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
5
+ <head>
6
+ <title>TaskJuggler_Internals</title>
7
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
8
+ </head>
9
+ <link href="css/tjmanual.css" rel="stylesheet" type="text/css"></link>
10
+ <body>
11
+ <div align="center">
12
+ <h3 align="center">The TaskJuggler III User Manual</h3>
13
+ <em align="center">Project Management beyond Gantt Chart Drawing</em>
14
+ </div>
15
+ <br/>
16
+ <hr/>
17
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
18
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="Day_To_Day_Juggling.html">Day_To_Day_Juggling</a> &lt;&lt;</td>
19
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
20
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="fdl.html">fdl</a> &gt;&gt;</td>
21
+ </tr></table>
22
+ <hr/>
23
+ <br/>
24
+ <div style="width:90%; margin-left:5%; margin-right:5%"><div class="manual">
25
+ <h1 class="manual" id="TaskJuggler_Internals">8 TaskJuggler Internals</h1>
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
+ <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>
32
+ <ol>
33
+ <li>
34
+ <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
+ <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
+ <li>
38
+ <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
+ </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>
45
+ <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>
48
+ <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>
49
+ </div></div>
50
+ <br/>
51
+ <hr/>
52
+ <table style="width:90%; margin-left:5%; margin-right:5%"><tr>
53
+ <td style="text-align:left; width:35%;">&lt;&lt; <a href="Day_To_Day_Juggling.html">Day_To_Day_Juggling</a> &lt;&lt;</td>
54
+ <td style="text-align:center; width:30%;"><a href="toc.html">Table Of Contents</a></td>
55
+ <td style="text-align:right; width:35%;">&gt;&gt; <a href="fdl.html">fdl</a> &gt;&gt;</td>
56
+ </tr></table>
57
+ <hr/>
58
+ <br/>
59
+ <div align="center" style="font-size:10px;">Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 by Chris Schlaeger &lt;chris@linux.com&gt;.<a href="http://www.taskjuggler.org">TaskJuggler</a> is a trademark of Chris Schlaeger.</div>
60
+ </body>
61
+ </html>