taskjuggler 3.6.0 → 3.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (415) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG +51 -0
  3. data/data/css/tjreport.css +4 -0
  4. data/data/tjp.vim +21 -15
  5. data/examples/ProjectTemplate/template.tjp +7 -7
  6. data/examples/Tutorial/tutorial.tjp +1 -1
  7. data/lib/taskjuggler/Allocation.rb +1 -1
  8. data/lib/taskjuggler/AttributeBase.rb +10 -4
  9. data/lib/taskjuggler/Attributes.rb +2 -2
  10. data/lib/taskjuggler/BatchProcessor.rb +1 -1
  11. data/lib/taskjuggler/Interval.rb +10 -12
  12. data/lib/taskjuggler/Journal.rb +2 -2
  13. data/lib/taskjuggler/LogicalFunction.rb +1 -1
  14. data/lib/taskjuggler/LogicalOperation.rb +7 -4
  15. data/lib/taskjuggler/MessageHandler.rb +1 -1
  16. data/lib/taskjuggler/PTNProxy.rb +1 -1
  17. data/lib/taskjuggler/Project.rb +27 -22
  18. data/lib/taskjuggler/PropertyList.rb +7 -1
  19. data/lib/taskjuggler/PropertySet.rb +1 -1
  20. data/lib/taskjuggler/PropertyTreeNode.rb +5 -3
  21. data/lib/taskjuggler/Query.rb +3 -3
  22. data/lib/taskjuggler/RealFormat.rb +1 -1
  23. data/lib/taskjuggler/Resource.rb +2 -2
  24. data/lib/taskjuggler/ResourceScenario.rb +37 -5
  25. data/lib/taskjuggler/RichText/Snip.rb +1 -1
  26. data/lib/taskjuggler/RuntimeConfig.rb +1 -1
  27. data/lib/taskjuggler/Scoreboard.rb +5 -2
  28. data/lib/taskjuggler/Shift.rb +2 -2
  29. data/lib/taskjuggler/ShiftAssignments.rb +1 -1
  30. data/lib/taskjuggler/TaskJuggler.rb +4 -4
  31. data/lib/taskjuggler/TextParser.rb +1 -1
  32. data/lib/taskjuggler/TextParser/Scanner.rb +3 -3
  33. data/lib/taskjuggler/TimeSheets.rb +2 -2
  34. data/lib/taskjuggler/Tj3AppBase.rb +23 -9
  35. data/lib/taskjuggler/Tj3Config.rb +5 -3
  36. data/lib/taskjuggler/TjpExample.rb +3 -1
  37. data/lib/taskjuggler/TjpSyntaxRules.rb +157 -130
  38. data/lib/taskjuggler/UTF8String.rb +3 -3
  39. data/lib/taskjuggler/WorkingHours.rb +3 -3
  40. data/lib/taskjuggler/XMLElement.rb +12 -1
  41. data/lib/taskjuggler/apps/Tj3.rb +3 -1
  42. data/lib/taskjuggler/apps/Tj3Client.rb +3 -2
  43. data/lib/taskjuggler/apps/Tj3Daemon.rb +3 -1
  44. data/lib/taskjuggler/apps/Tj3Man.rb +4 -2
  45. data/lib/taskjuggler/apps/Tj3SsReceiver.rb +3 -1
  46. data/lib/taskjuggler/apps/Tj3SsSender.rb +3 -1
  47. data/lib/taskjuggler/apps/Tj3TsReceiver.rb +3 -1
  48. data/lib/taskjuggler/apps/Tj3TsSender.rb +3 -1
  49. data/lib/taskjuggler/apps/Tj3TsSummary.rb +3 -1
  50. data/lib/taskjuggler/apps/Tj3WebD.rb +3 -1
  51. data/lib/taskjuggler/deep_copy.rb +1 -1
  52. data/lib/taskjuggler/reports/CSVFile.rb +3 -3
  53. data/lib/taskjuggler/reports/ChartPlotter.rb +1 -1
  54. data/lib/taskjuggler/reports/GanttChart.rb +8 -2
  55. data/lib/taskjuggler/reports/GanttHeader.rb +11 -1
  56. data/lib/taskjuggler/reports/GanttLine.rb +6 -0
  57. data/lib/taskjuggler/reports/ICalReport.rb +1 -1
  58. data/lib/taskjuggler/reports/Report.rb +1 -1
  59. data/lib/taskjuggler/reports/ReportTableCell.rb +1 -1
  60. data/lib/taskjuggler/reports/TableReport.rb +7 -12
  61. data/lib/taskjuggler/reports/TjpExportRE.rb +1 -5
  62. data/lib/taskjuggler/version.rb +1 -0
  63. data/man/tj3.1 +130 -0
  64. data/man/tj3client.1 +145 -0
  65. data/man/tj3d.1 +93 -0
  66. data/man/tj3man.1 +76 -0
  67. data/man/tj3ss_receiver.1 +86 -0
  68. data/man/tj3ss_sender.1 +100 -0
  69. data/man/tj3ts_receiver.1 +86 -0
  70. data/man/tj3ts_sender.1 +92 -0
  71. data/man/tj3ts_summary.1 +104 -0
  72. data/man/tj3webd.1 +86 -0
  73. data/manual/Day_To_Day_Juggling +8 -8
  74. data/manual/Installation +6 -6
  75. data/manual/List_Attributes +1 -1
  76. data/manual/Rich_Text_Attributes +6 -5
  77. data/manual/Software +6 -6
  78. data/manual/TaskJuggler_Internals +4 -4
  79. data/manual/The_TaskJuggler_Syntax +5 -5
  80. data/manual/Tutorial +13 -11
  81. data/manual/html/Day_To_Day_Juggling.html +9 -9
  82. data/manual/html/Getting_Started.html +2 -2
  83. data/manual/html/How_To_Contribute.html +2 -2
  84. data/manual/html/Installation.html +8 -8
  85. data/manual/html/Intro.html +2 -2
  86. data/manual/html/List_Attributes.html +3 -3
  87. data/manual/html/Reporting_Bugs.html +2 -2
  88. data/manual/html/Rich_Text_Attributes.html +5 -5
  89. data/manual/html/Software.html +7 -7
  90. data/manual/html/TaskJuggler_2x_Migration.html +2 -2
  91. data/manual/html/TaskJuggler_Internals.html +6 -6
  92. data/manual/html/The_TaskJuggler_Syntax.html +6 -6
  93. data/manual/html/Tutorial.html +17 -14
  94. data/manual/html/account.html +4 -4
  95. data/manual/html/account.task.html +2 -2
  96. data/manual/html/accountprefix.html +2 -2
  97. data/manual/html/accountreport.html +4 -4
  98. data/manual/html/accountroot.html +3 -3
  99. data/manual/html/active.html +3 -3
  100. data/manual/html/adopt.task.html +2 -2
  101. data/manual/html/aggregate.html +2 -2
  102. data/manual/html/alert.html +3 -3
  103. data/manual/html/alertlevels.html +2 -2
  104. data/manual/html/allocate.html +3 -3
  105. data/manual/html/alphabet.html +1 -1
  106. data/manual/html/alternative.html +2 -2
  107. data/manual/html/author.html +2 -2
  108. data/manual/html/auxdir.html +2 -2
  109. data/manual/html/auxdir.report.html +3 -3
  110. data/manual/html/balance.html +3 -3
  111. data/manual/html/booking.resource.html +4 -4
  112. data/manual/html/booking.task.html +4 -4
  113. data/manual/html/caption.html +3 -3
  114. data/manual/html/cellcolor.column.html +3 -3
  115. data/manual/html/celltext.column.html +3 -3
  116. data/manual/html/center.html +3 -3
  117. data/manual/html/charge.html +2 -2
  118. data/manual/html/chargeset.html +2 -2
  119. data/manual/html/columnid.html +17 -13
  120. data/manual/html/columns.html +3 -3
  121. data/manual/html/complete.html +2 -2
  122. data/manual/html/copyright.html +2 -2
  123. data/manual/html/credits.html +2 -2
  124. data/manual/html/css/tjreport.css +4 -0
  125. data/manual/html/currency.html +2 -2
  126. data/manual/html/currencyformat.html +4 -4
  127. data/manual/html/dailymax.html +2 -2
  128. data/manual/html/dailymin.html +3 -3
  129. data/manual/html/dailyworkinghours.html +2 -2
  130. data/manual/html/date.extend.html +2 -2
  131. data/manual/html/date.html +5 -5
  132. data/manual/html/definitions.html +4 -4
  133. data/manual/html/depends.html +4 -4
  134. data/manual/html/details.html +2 -2
  135. data/manual/html/disabled.html +2 -2
  136. data/manual/html/duration.html +2 -2
  137. data/manual/html/efficiency.html +3 -3
  138. data/manual/html/effort.html +2 -2
  139. data/manual/html/effortdone.html +2 -2
  140. data/manual/html/effortleft.html +2 -2
  141. data/manual/html/email.html +2 -2
  142. data/manual/html/enabled.html +2 -2
  143. data/manual/html/end.column.html +3 -3
  144. data/manual/html/end.html +4 -4
  145. data/manual/html/end.limit.html +2 -2
  146. data/manual/html/end.report.html +3 -3
  147. data/manual/html/end.timesheet.html +3 -3
  148. data/manual/html/endcredit.html +3 -3
  149. data/manual/html/epilog.html +3 -3
  150. data/manual/html/export.html +4 -4
  151. data/manual/html/extend.html +3 -3
  152. data/manual/html/fail.html +3 -3
  153. data/manual/html/fdl.html +2 -2
  154. data/manual/html/flags.account.html +2 -2
  155. data/manual/html/flags.html +2 -2
  156. data/manual/html/flags.journalentry.html +2 -2
  157. data/manual/html/flags.report.html +3 -3
  158. data/manual/html/flags.resource.html +2 -2
  159. data/manual/html/flags.statussheet.html +2 -2
  160. data/manual/html/flags.task.html +2 -2
  161. data/manual/html/flags.timesheet.html +2 -2
  162. data/manual/html/fontcolor.column.html +3 -3
  163. data/manual/html/footer.html +3 -3
  164. data/manual/html/formats.export.html +3 -3
  165. data/manual/html/formats.html +4 -4
  166. data/manual/html/functions.html +5 -5
  167. data/manual/html/gapduration.html +2 -2
  168. data/manual/html/gaplength.html +2 -2
  169. data/manual/html/halign.center.html +2 -2
  170. data/manual/html/halign.column.html +3 -3
  171. data/manual/html/halign.left.html +2 -2
  172. data/manual/html/halign.right.html +2 -2
  173. data/manual/html/hasalert.html +2 -2
  174. data/manual/html/header.html +3 -3
  175. data/manual/html/headline.html +3 -3
  176. data/manual/html/height.html +4 -4
  177. data/manual/html/hideaccount.html +4 -4
  178. data/manual/html/hidejournalentry.html +3 -3
  179. data/manual/html/hidereport.html +3 -3
  180. data/manual/html/hideresource.html +4 -4
  181. data/manual/html/hidetask.html +4 -4
  182. data/manual/html/icalreport.html +9 -3
  183. data/manual/html/include.macro.html +3 -3
  184. data/manual/html/include.project.html +3 -3
  185. data/manual/html/include.properties.html +3 -3
  186. data/manual/html/index.html +1 -1
  187. data/manual/html/inherit.extend.html +3 -3
  188. data/manual/html/interval1.html +3 -3
  189. data/manual/html/interval2.html +3 -3
  190. data/manual/html/interval3.html +2 -2
  191. data/manual/html/interval4.html +2 -2
  192. data/manual/html/isactive.html +2 -2
  193. data/manual/html/ischildof.html +2 -2
  194. data/manual/html/isdependencyof.html +2 -2
  195. data/manual/html/isdutyof.html +2 -2
  196. data/manual/html/isfeatureof.html +2 -2
  197. data/manual/html/isleaf.html +2 -2
  198. data/manual/html/ismilestone.html +2 -2
  199. data/manual/html/isongoing.html +3 -3
  200. data/manual/html/isresource.html +2 -2
  201. data/manual/html/isresponsibilityof.html +2 -2
  202. data/manual/html/istask.html +2 -2
  203. data/manual/html/isvalid.html +2 -2
  204. data/manual/html/journalattributes.html +3 -3
  205. data/manual/html/journalentry.html +3 -3
  206. data/manual/html/journalmode.html +4 -4
  207. data/manual/html/leaveallowance.html +3 -3
  208. data/manual/html/leaves.html +3 -3
  209. data/manual/html/left.html +3 -3
  210. data/manual/html/length.html +3 -3
  211. data/manual/html/limits.allocate.html +2 -2
  212. data/manual/html/limits.html +2 -2
  213. data/manual/html/limits.resource.html +2 -2
  214. data/manual/html/limits.task.html +2 -2
  215. data/manual/html/listitem.column.html +3 -3
  216. data/manual/html/listtype.column.html +2 -2
  217. data/manual/html/loadunit.html +3 -3
  218. data/manual/html/logicalexpression.html +4 -4
  219. data/manual/html/logicalflagexpression.html +4 -4
  220. data/manual/html/macro.html +4 -4
  221. data/manual/html/managers.html +2 -2
  222. data/manual/html/mandatory.html +4 -4
  223. data/manual/html/markdate.html +69 -0
  224. data/manual/html/maxend.html +4 -4
  225. data/manual/html/maximum.html +2 -2
  226. data/manual/html/maxstart.html +2 -2
  227. data/manual/html/milestone.html +3 -3
  228. data/manual/html/minend.html +2 -2
  229. data/manual/html/minimum.html +2 -2
  230. data/manual/html/minstart.html +2 -2
  231. data/manual/html/monthlymax.html +2 -2
  232. data/manual/html/monthlymin.html +3 -3
  233. data/manual/html/navbar.html +5 -1
  234. data/manual/html/navigator.html +2 -2
  235. data/manual/html/newtask.html +3 -3
  236. data/manual/html/nikureport.html +2 -2
  237. data/manual/html/note.task.html +4 -4
  238. data/manual/html/novevents.html +68 -0
  239. data/manual/html/now.html +4 -4
  240. data/manual/html/number.extend.html +2 -2
  241. data/manual/html/numberformat.html +3 -3
  242. data/manual/html/onend.html +2 -2
  243. data/manual/html/onstart.html +2 -2
  244. data/manual/html/opennodes.html +3 -3
  245. data/manual/html/outputdir.html +3 -3
  246. data/manual/html/overtime.booking.html +2 -2
  247. data/manual/html/period.column.html +2 -2
  248. data/manual/html/period.limit.html +2 -2
  249. data/manual/html/period.report.html +3 -3
  250. data/manual/html/period.task.html +2 -2
  251. data/manual/html/persistent.html +3 -3
  252. data/manual/html/precedes.html +5 -5
  253. data/manual/html/priority.html +4 -4
  254. data/manual/html/priority.timesheet.html +3 -3
  255. data/manual/html/project.html +4 -4
  256. data/manual/html/projectid.html +2 -2
  257. data/manual/html/projectid.task.html +3 -3
  258. data/manual/html/projectids.html +2 -2
  259. data/manual/html/projection.html +2 -2
  260. data/manual/html/prolog.html +3 -3
  261. data/manual/html/properties.html +3 -3
  262. data/manual/html/purge.html +3 -3
  263. data/manual/html/rate.html +2 -2
  264. data/manual/html/rate.resource.html +2 -2
  265. data/manual/html/rawhtmlhead.html +4 -4
  266. data/manual/html/reference.extend.html +2 -2
  267. data/manual/html/remaining.html +3 -3
  268. data/manual/html/replace.html +2 -2
  269. data/manual/html/reportprefix.html +2 -2
  270. data/manual/html/resource.html +3 -3
  271. data/manual/html/resourceattributes.html +2 -2
  272. data/manual/html/resourceprefix.html +2 -2
  273. data/manual/html/resourcereport.html +5 -5
  274. data/manual/html/resourceroot.html +4 -4
  275. data/manual/html/resources.limit.html +2 -2
  276. data/manual/html/responsible.html +2 -2
  277. data/manual/html/richtext.extend.html +2 -2
  278. data/manual/html/right.html +3 -3
  279. data/manual/html/rollupaccount.html +4 -4
  280. data/manual/html/rollupresource.html +4 -4
  281. data/manual/html/rolluptask.html +4 -4
  282. data/manual/html/scale.column.html +2 -2
  283. data/manual/html/scenario.html +3 -3
  284. data/manual/html/scenario.ical.html +3 -3
  285. data/manual/html/scenarios.export.html +2 -2
  286. data/manual/html/scenarios.html +3 -3
  287. data/manual/html/scenariospecific.extend.html +2 -2
  288. data/manual/html/scheduled.html +2 -2
  289. data/manual/html/scheduling.html +6 -6
  290. data/manual/html/schedulingmode.html +2 -2
  291. data/manual/html/select.html +4 -4
  292. data/manual/html/selfcontained.html +3 -3
  293. data/manual/html/shift.allocate.html +2 -2
  294. data/manual/html/shift.html +3 -3
  295. data/manual/html/shift.resource.html +4 -4
  296. data/manual/html/shift.task.html +2 -2
  297. data/manual/html/shift.timesheet.html +2 -2
  298. data/manual/html/shifts.allocate.html +2 -2
  299. data/manual/html/shifts.resource.html +2 -2
  300. data/manual/html/shifts.task.html +3 -3
  301. data/manual/html/shorttimeformat.html +3 -3
  302. data/manual/html/sloppy.booking.html +2 -2
  303. data/manual/html/sloppy.projection.html +2 -2
  304. data/manual/html/sortaccounts.html +3 -3
  305. data/manual/html/sortjournalentries.html +3 -3
  306. data/manual/html/sortresources.html +3 -3
  307. data/manual/html/sorttasks.html +3 -3
  308. data/manual/html/start.column.html +3 -3
  309. data/manual/html/start.html +4 -4
  310. data/manual/html/start.limit.html +2 -2
  311. data/manual/html/start.report.html +3 -3
  312. data/manual/html/startcredit.html +3 -3
  313. data/manual/html/status.statussheet.html +2 -2
  314. data/manual/html/status.timesheet.html +2 -2
  315. data/manual/html/statussheet.html +2 -2
  316. data/manual/html/statussheetreport.html +3 -3
  317. data/manual/html/strict.projection.html +2 -2
  318. data/manual/html/summary.html +2 -2
  319. data/manual/html/supplement.html +2 -2
  320. data/manual/html/supplement.resource.html +2 -2
  321. data/manual/html/supplement.task.html +2 -2
  322. data/manual/html/tagfile.html +3 -3
  323. data/manual/html/task.html +3 -3
  324. data/manual/html/task.statussheet.html +3 -3
  325. data/manual/html/task.timesheet.html +2 -2
  326. data/manual/html/taskattributes.html +2 -2
  327. data/manual/html/taskprefix.html +2 -2
  328. data/manual/html/taskreport.html +5 -5
  329. data/manual/html/taskroot.export.html +2 -2
  330. data/manual/html/taskroot.html +3 -3
  331. data/manual/html/text.extend.html +2 -2
  332. data/manual/html/textreport.html +5 -5
  333. data/manual/html/timeformat.html +4 -4
  334. data/manual/html/timeformat1.html +2 -2
  335. data/manual/html/timeformat2.html +2 -2
  336. data/manual/html/timeoff.nikureport.html +2 -2
  337. data/manual/html/timesheet.html +3 -3
  338. data/manual/html/timesheetreport.html +3 -3
  339. data/manual/html/timezone.export.html +2 -2
  340. data/manual/html/timezone.html +2 -2
  341. data/manual/html/timezone.report.html +3 -3
  342. data/manual/html/timezone.shift.html +2 -2
  343. data/manual/html/timingresolution.html +2 -2
  344. data/manual/html/title.column.html +2 -2
  345. data/manual/html/title.html +3 -3
  346. data/manual/html/toc.html +157 -143
  347. data/manual/html/tooltip.column.html +3 -3
  348. data/manual/html/tracereport.html +8 -8
  349. data/manual/html/trackingscenario.html +3 -3
  350. data/manual/html/treelevel.html +2 -2
  351. data/manual/html/vacation.html +2 -2
  352. data/manual/html/vacation.resource.html +2 -2
  353. data/manual/html/vacation.shift.html +2 -2
  354. data/manual/html/warn.html +4 -4
  355. data/manual/html/weeklymax.html +2 -2
  356. data/manual/html/weeklymin.html +3 -3
  357. data/manual/html/weekstartsmonday.html +2 -2
  358. data/manual/html/weekstartssunday.html +2 -2
  359. data/manual/html/width.column.html +2 -2
  360. data/manual/html/width.html +4 -4
  361. data/manual/html/work.html +3 -3
  362. data/manual/html/workinghours.project.html +3 -3
  363. data/manual/html/workinghours.resource.html +2 -2
  364. data/manual/html/workinghours.shift.html +2 -2
  365. data/manual/html/yearlyworkingdays.html +2 -2
  366. data/spec/ProjectBroker_spec.rb +6 -6
  367. data/spec/StatusSheets_spec.rb +1 -1
  368. data/spec/TimeSheets_spec.rb +1 -1
  369. data/taskjuggler.gemspec +7 -7
  370. data/tasks/changelog.rake +2 -0
  371. data/tasks/gem.rake +3 -0
  372. data/tasks/help2man.rake +18 -0
  373. data/tasks/kate.rake +2 -0
  374. data/tasks/manual.rake +2 -0
  375. data/tasks/test.rake +5 -0
  376. data/tasks/vim.rake +2 -0
  377. data/test/TestSuite/Export-Reports/refs/AccountReport.tjp +0 -1
  378. data/test/TestSuite/Export-Reports/refs/AdoptedTasks.tjp +0 -2
  379. data/test/TestSuite/Export-Reports/refs/AlertLevels.tjp +0 -1
  380. data/test/TestSuite/Export-Reports/refs/Allocate-1.tjp +0 -1
  381. data/test/TestSuite/Export-Reports/refs/AutoID.tjp +0 -1
  382. data/test/TestSuite/Export-Reports/refs/AutoMacros.tjp +0 -1
  383. data/test/TestSuite/Export-Reports/refs/Currencyformat.tjp +0 -1
  384. data/test/TestSuite/Export-Reports/refs/CustomAttributes.tjp +0 -2
  385. data/test/TestSuite/Export-Reports/refs/Depends1.tjp +0 -1
  386. data/test/TestSuite/Export-Reports/refs/Durations.tjp +0 -1
  387. data/test/TestSuite/Export-Reports/refs/Efficiency.tjp +0 -1
  388. data/test/TestSuite/Export-Reports/refs/Gap.tjp +0 -3
  389. data/test/TestSuite/Export-Reports/refs/Include.tjp +0 -1
  390. data/test/TestSuite/Export-Reports/refs/Journal.tjp +0 -1
  391. data/test/TestSuite/Export-Reports/refs/Macro-1.tjp +0 -1
  392. data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +0 -2
  393. data/test/TestSuite/Export-Reports/refs/Macro-3.tjp +0 -1
  394. data/test/TestSuite/Export-Reports/refs/Manager.tjp +0 -1
  395. data/test/TestSuite/Export-Reports/refs/Milestone.tjp +0 -2
  396. data/test/TestSuite/Export-Reports/refs/Numberformat.tjp +0 -1
  397. data/test/TestSuite/Export-Reports/refs/Precedes1.tjp +0 -1
  398. data/test/TestSuite/Export-Reports/refs/Project.tjp +0 -1
  399. data/test/TestSuite/Export-Reports/refs/ProjectIDs.tjp +0 -3
  400. data/test/TestSuite/Export-Reports/refs/Reports.tjp +0 -1
  401. data/test/TestSuite/Export-Reports/refs/Resource.tjp +0 -1
  402. data/test/TestSuite/Export-Reports/refs/ResourceRoot.tjp +0 -1
  403. data/test/TestSuite/Export-Reports/refs/RollupResource.tjp +0 -1
  404. data/test/TestSuite/Export-Reports/refs/Scenario.tjp +0 -2
  405. data/test/TestSuite/Export-Reports/refs/Timezone.tjp +0 -1
  406. data/test/TestSuite/Export-Reports/refs/Vacation.tjp +0 -1
  407. data/test/TestSuite/Export-Reports/refs/navigator.tjp +0 -4
  408. data/test/TestSuite/Export-Reports/refs/template.tjp +0 -6
  409. data/test/TestSuite/Export-Reports/refs/textreport.tjp +0 -1
  410. data/test/TestSuite/Export-Reports/refs/tutorial.tjp +0 -8
  411. data/test/TestSuite/Syntax/Correct/Booking.tjp +1 -1
  412. data/test/TestSuite/Syntax/Correct/Currencyformat.tjp +1 -1
  413. data/test/TestSuite/Syntax/Correct/tutorial.tjp +5 -0
  414. data/test/test_ProjectFileScanner.rb +8 -8
  415. metadata +43 -10
@@ -0,0 +1,86 @@
1
+ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.5.
2
+ .TH TJ3WEBD "1" "March 2020" "tj3webd (TaskJuggler) 3.7.1" "TaskJuggler"
3
+ .SH NAME
4
+ tj3webd \- TaskJuggler reports web server
5
+ .SH SYNOPSIS
6
+ .B tj3webd
7
+ [\fI\,options\/\fR]
8
+ .SH DESCRIPTION
9
+ The TaskJuggler web server can be used to serve the HTTP reports of
10
+ TaskJuggler projects to be viewed by any HTML5 compliant web browser. It uses
11
+ the TaskJuggler daemon (tj3d) for data hosting and report generation.
12
+ .SH OPTIONS
13
+ .TP
14
+ \fB\-c\fR, \fB\-\-config\fR <FILE>
15
+ Use the specified YAML configuration file
16
+ .TP
17
+ \fB\-\-silent\fR
18
+ Don't show program and progress information
19
+ .TP
20
+ \fB\-\-no\-color\fR
21
+ Don't use ANSI contol sequences to color the
22
+ terminal output. Colors should only be used when
23
+ spooling to an ANSI terminal. In case the detection
24
+ fails, you can use this option to force colors to
25
+ be off.
26
+ .TP
27
+ \fB\-\-debug\fR
28
+ Enable Ruby debug mode
29
+ .TP
30
+ \fB\-d\fR, \fB\-\-dont\-daemonize\fR
31
+ Don't put program into daemon mode. Keep it
32
+ connected to the terminal and show debug output.
33
+ .TP
34
+ \fB\-p\fR, \fB\-\-port\fR <NUMBER>
35
+ Use the specified TCP/IP port to connect to the
36
+ TaskJuggler daemon (Default: 8474).
37
+ .TP
38
+ \fB\-\-pidfile\fR <FILE NAME>
39
+ Write the process ID of the daemon to the specified
40
+ file.
41
+ .TP
42
+ \fB\-\-logfile\fR <FILE NAME>
43
+ Log daemon messages to the specified file.
44
+ .TP
45
+ \fB\-\-urifile\fR <FILE NAME>
46
+ If the port is 0, use this file to read the URI of
47
+ the TaskJuggler daemon.
48
+ .TP
49
+ \fB\-\-webserver\-port\fR <NUMBER>
50
+ Use the specified TCP/IP port to serve web browser
51
+ requests (Default: 8080).
52
+ .TP
53
+ \fB\-h\fR, \fB\-\-help\fR
54
+ Show this message
55
+ .TP
56
+ \fB\-\-version\fR
57
+ Show version info
58
+ .SH ENVIRONMENT
59
+
60
+ .TP
61
+ \fBHOME\fR
62
+ The user's home folder. Used to search for configuration file if not specified.
63
+ .SH FILES
64
+
65
+ .TP
66
+ \fB.taskjugglerrc\fR or \fBtaskjuggler.rc\fR
67
+ tj3d searches for a config file named .taskjugglerrc or taskjuggler.rc in the current path, the user's home path as specified by the HOME environment variable or /etc/. At a minimum the file must contain:
68
+
69
+ _global:
70
+ authKey: ********
71
+
72
+ (the user should specify their own auth key and set file permissions accordingly). An alternative config file location may be specified using the -c, --config FILE option.
73
+ .SH COPYRIGHT
74
+ Copyright \(co 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020
75
+ .IP
76
+ by Chris Schlaeger <cs@taskjuggler.org>
77
+ .PP
78
+ This program is free software; you can redistribute it and/or modify it under
79
+ the terms of version 2 of the GNU General Public License as published by the
80
+ Free Software Foundation.
81
+ .PP
82
+ For more info about TaskJuggler see http://www.taskjuggler.org
83
+ .SH "SEE ALSO"
84
+ tj3d(1)
85
+
86
+ The full TaskJuggler manual is available online at http://www.taskjuggler.org/tj3/manual/, or via the tj3man command.
@@ -4,7 +4,7 @@
4
4
 
5
5
  To analyze the impact that a small variation can have on a project,
6
6
  TaskJuggler supports an unlimited amount of scenarios. Each
7
- additional scenario is a slight derivation of the it's parent. The
7
+ additional scenario is a slight derivation of it's parent. The
8
8
  task tree structure needs to be the same for all scenarios, but most
9
9
  attributes can vary from one scenario to another. Several report
10
10
  types support comparative listing of multiple [[scenarios]].
@@ -223,12 +223,12 @@ missing time sheets and will send out a reminder to those
223
223
  contributors that have not submitted their report.
224
224
 
225
225
  # On Monday the project managers need to review the time sheets and
226
- update the plan accordingly. TaskJuggler can compile a list changes
226
+ update the plan accordingly. TaskJuggler can compile a list of changes
227
227
  compared to the plan. This makes it easy to update the plan according
228
228
  to the actual progress that was made. The closer the actuals match the
229
229
  plan the less work this is. The project managers now generate
230
230
  bookings for the last week and add them to the database with previous
231
- bookings. Doing so, will prevent changes to the plan to affect the
231
+ bookings. Doing so will prevent changes to the plan to affect the
232
232
  past. Only the future will be modified.
233
233
 
234
234
  # Once the plan has been updated, managers will receive their status
@@ -696,7 +696,7 @@ by the scheduler according to your provided constraints.
696
696
 
697
697
  When you run ''''tj3 --freeze'''' again, it will update the header
698
698
  and booking files. Since you have included your booking file, any
699
- modifications you have made, will be preserved. That is, the actual
699
+ modifications you have made will be preserved. That is, the actual
700
700
  data will be preserved, not the formatting since the file will be
701
701
  completely re-generated again.
702
702
 
@@ -722,11 +722,11 @@ is generated by the ''''tj3ss_sender'''' program and is called a status
722
722
  report template. Each manager will get one template that includes the
723
723
  status reports for the tasks they are responsible for.
724
724
 
725
- It's not the managers task to prepare the report for the next level
725
+ It's the managers task to prepare the report for the next level
726
726
  of management. To do this, the manager has 3 options:
727
727
 
728
728
  * Forward the status report of a task directly to the next level. The
729
- original authorship can be keep or removed. The content can also be
729
+ original authorship can be kept or removed. The content can also be
730
730
  edited if needed.
731
731
 
732
732
  * Similar reports for a task or a whole task sub-tree can be combined
@@ -747,7 +747,7 @@ created.
747
747
  ==== The Status Sheet Template Sender ====
748
748
 
749
749
  To send out the time sheets, the command ''''tj3ts_sender'''' must be
750
- used. It will use the ''''tj3client'''' program to do retrieve the
750
+ used. It will use the ''''tj3client'''' program to retrieve the
751
751
  necessary data from the TaskJuggler server.
752
752
 
753
753
  Before the program can be used, a new section must be added to the
@@ -813,7 +813,7 @@ the resource selection and end date.
813
813
 
814
814
  ==== The Status Sheet Receiver ====
815
815
 
816
- Similarly to the time sheets a the completed status sheets must be
816
+ Similarly to the time sheets, the completed status sheets must be
817
817
  send back by email. We already described how the necessary email
818
818
  aliases should be configured. For status sheets the address
819
819
  ''''statussheets@taskjuggler.your_company.com'''' can be used.
@@ -88,7 +88,7 @@ If you don't want to install TaskJuggler for all users on the system,
88
88
  you can also install it into your home or data directory. This does
89
89
  not require root or admin permissions.
90
90
 
91
- The following steps are describe the installation on a Linux system
91
+ The following steps describe the installation on a Linux system
92
92
  with the bash shell. You may have to use slightly different commands
93
93
  on a different operating system.
94
94
 
@@ -119,7 +119,7 @@ Configure gem to find the installed files.
119
119
  The last two settings should also be added to your .profile file to
120
120
  make them permanent.
121
121
 
122
- That's it. You now should be run TaskJuggler.
122
+ That's it. You now should run TaskJuggler.
123
123
 
124
124
  tj3 --version
125
125
 
@@ -187,7 +187,7 @@ Then checkout the source code with the following command
187
187
 
188
188
  git clone git@github.com/taskjuggler/TaskJuggler.git
189
189
 
190
- Make sure, you have removed all previously installed instances of
190
+ Make sure you have removed all previously installed instances of
191
191
  TaskJuggler from your system before doing so. It is a common mistake
192
192
  to have an old version of the TaskJuggler installed and then use parts
193
193
  of the old and new version together.
@@ -323,7 +323,7 @@ Log out and back in again. Now
323
323
 
324
324
  which ruby
325
325
 
326
- should show return the path to the link to your
326
+ should return the path to the link to your
327
327
  ''''${HOME}/bin/ruby''''. You now have the latest Ruby installed and
328
328
  are ready to use TaskJuggler.
329
329
 
@@ -343,7 +343,7 @@ TaskJuggler can be used with any text editor that supports UTF-8 text
343
343
  file editing. If you don't have a preference yet, we recommend to try
344
344
  the [http://www.vim.org Vim] text editor. It's a very powerful editor
345
345
  and it has been customized for better integration with TaskJuggler.
346
- This section describes, how to activate and use the Vim integration.
346
+ This section describes how to activate and use the Vim integration.
347
347
  Vim is provided by pretty much any Linux distribution and also works
348
348
  well on MacOX and Windows. See the web page for how to install it if
349
349
  you don't have it yet.
@@ -366,7 +366,7 @@ you may have to modify it accordingly.
366
366
 
367
367
  cp `gem contents taskjuggler | fgrep tjp.vim` .vim/syntax
368
368
 
369
- Now we have to make sure, Vim detects the file. Edit the
369
+ Now we have to make sure Vim detects the file. Edit the
370
370
  ''''.vim/filetype.vim'''' file to contain the following section.
371
371
 
372
372
  augroup filetypedetect
@@ -29,7 +29,7 @@ In this example, task ''''T3'''' has the flags ''''f1'''' and
29
29
  ''''f2'''' assigned.
30
30
 
31
31
  The same works for scenarios as well. Even though the syntax may not
32
- look like inheritance is at play the scenario ''''s2'''' inherits all
32
+ look like inheritance is at play, the scenario ''''s2'''' inherits all
33
33
  values from ''''s1''''.
34
34
 
35
35
  <[example file="ListAttributes" tag="scenario"]>
@@ -126,7 +126,7 @@ in nowiki tags.
126
126
  You can also insert raw HTML code by enclosing it in
127
127
  '''<nowiki><html>...</html></nowiki>''' tags. For all other output
128
128
  formats, this content will be ignored. There is also no error checking
129
- if the code is valid! Use this feature very carefully.
129
+ whether the code is valid! Use this feature very carefully.
130
130
 
131
131
  ==== Block and Inline Generators ====
132
132
 
@@ -179,12 +179,13 @@ Parameters:
179
179
 
180
180
  * ''''attributes'''': A set of attributes that override the original
181
181
  attributes of the referenced report. All report attributes
182
- are supported. Since the value of attributes already must be enclosed
182
+ are supported. Since the values of attributes already must be enclosed
183
183
  by single or double quotes, all single or double quotes contained in
184
184
  the string must be escaped with backslashes. This feature enables
185
185
  reports with content that is customized based on where they have been
186
186
  referenced from. It requires the reports to be dynamically generated
187
- and is only available when used with the ''''tj3d'''' web server.
187
+ and is only available when used with the ''''tj3d'''' web server
188
+ ''''tj3webd''''.
188
189
  The ''''tj3'''' application will ignore the attributes setting.
189
190
 
190
191
  taskreport "All" {
@@ -254,8 +255,8 @@ is used, certain or all of the above parameters have already
254
255
  predefined values. When used in the header section of a report, the
255
256
  context does not provide a property or scope property. Start and end
256
257
  dates as well the formatting options are taken from the report
257
- context. But when used e. g. in [[celltext.column]] the cell
258
- provides, that property and the attribute and possibly even the scope
258
+ context. But when used e. g. in [[celltext.column]], the cell
259
+ provides that property and the attribute and possibly even the scope
259
260
  property.
260
261
 
261
262
 
@@ -1,6 +1,6 @@
1
1
  == The TaskJuggler Software ==
2
2
 
3
- After the installation of a software package the first questions that
3
+ After the installation of a software package the first question that
4
4
  most users have is ''"How do I run it?"''. Many users expect to find
5
5
  an icon on their desktop or an entry in the start menu hierarchy.
6
6
  Don't bother looking for them, you won't find any for TaskJuggler. As
@@ -80,7 +80,7 @@ in your web browser.
80
80
 
81
81
  The latter defaults to using the
82
82
  [http://www.mozilla.com/en-US/firefox/new/ Mozilla Firefox] web
83
- browser . Please see
83
+ browser. Please see
84
84
 
85
85
  tj3man --help
86
86
 
@@ -102,12 +102,12 @@ Linux lingo. The program is called ''''tj3d''''. When started, it
102
102
  automatically disconnects from the terminal and runs in the
103
103
  background. All interactions with the server are done via the TCP/IP
104
104
  protocol. For security reasons, only connections from the same
105
- machine (localhost) are accepted. To get access all clients must
105
+ machine (localhost) are accepted. To get access, all clients must
106
106
  provide an authentication key. A TaskJuggler server can serve any
107
107
  number of projects. Once a project has been loaded successfully,
108
108
  clients can retrieve the data in form of reports. Projects are
109
109
  identified by their project ID. If a newly added project has the same
110
- ID such as an already loaded project, the new project will replace
110
+ ID as an already loaded project, the new project will replace
111
111
  the old project once it was scheduled successfully. Before you start
112
112
  the server, you need to provide a configuration file with some basic
113
113
  settings.
@@ -147,7 +147,7 @@ configuration option controls the amount of details to be printed out.
147
147
  * 3: Like 2, but additionally with information messages
148
148
  * 4: Like 3, but additionally with debug messages
149
149
 
150
- The configuration file will be searched in the current directory,
150
+ The configuration file will be searched for in the current directory,
151
151
  the current user's home directory or ''''/etc''''. You can also
152
152
  explicitly tell the server where to find the configuration file with
153
153
  the ''''-c'''' option. See
@@ -210,7 +210,7 @@ changed in the ''''_global'''' section of the config file.
210
210
  authKey: topsecret
211
211
  webServerPort: 8080
212
212
 
213
- To access the HTML reports point your web browser to
213
+ To access the HTML reports, point your web browser to
214
214
  ''''http://localhost:8080/taskjuggler''''. This assumes that the
215
215
  server is running on your local machine. You will then see a list of
216
216
  all loaded projects. Click on the project name to get a list of all
@@ -26,7 +26,7 @@ github].
26
26
  The scheduler needs to determine the start and end date for all tasks
27
27
  that don't have such dates yet. To deal with multiple concurrent time
28
28
  zones, all time related events are stored internally as UTC
29
- time.Additionally, it allocates resources to tasks. All events such
29
+ time. Additionally, it allocates resources to tasks. All events such
30
30
  as start or end of a task, or allocation of a resource can only happen
31
31
  aligned with the [[timingresolution|timing resolution]]. This
32
32
  determines the smallest possible allocation period that we call a time
@@ -57,7 +57,7 @@ are scheduled from end to start.
57
57
  resources have been assigned for all time slots.
58
58
 
59
59
  The goal of the scheduler is to transfer all tasks in the completed
60
- state. Until this goal has been reached, at least one tasks needs to
60
+ state. Until this goal has been reached, at least one task needs to
61
61
  be in the ready state. If that's not the case, the project schedule
62
62
  cannot be determined and an error is raised. In case there are more
63
63
  than one task in the ready state, we need to have a well defined
@@ -103,7 +103,7 @@ that is going through a task, the sum of the criticalness values of
103
103
  the tasks of the path is computed. The largest sum is the path
104
104
  criticalness of that task.
105
105
 
106
- This heuristic will favor allocations to task with critical resources
106
+ This heuristic will favor allocations to tasks with critical resources
107
107
  and long dependency chains. As a result, the critical paths of the
108
108
  project are tried to be kept short. The user can use the
109
109
  '''criticalness''' and '''pathcriticalness''' [[columnid|columns]] to
@@ -111,7 +111,7 @@ review the respective values for he project's tasks and resources.
111
111
 
112
112
  When the criticalness and pathcriticalness for all leaf resources and
113
113
  tasks has been determined, the leaf tasks are sorted by priority
114
- (hight to low), then by pathcricialness (high to low) and then by the
114
+ (high to low), then by pathcricialness (high to low) and then by the
115
115
  index (low to high). In a loop that is terminated when all tasks have
116
116
  been scheduled or an error condition has been detected, the first
117
117
  task that is ready for scheduling is completely scheduled. This means
@@ -34,7 +34,7 @@ options separated by a vertical bar.
34
34
  keyword ( foo | bar | foobar )
35
35
 
36
36
  Some keywords take one or more arguments. These are known as list
37
- attributes. The arguments are comma separated. The tree dots in the
37
+ attributes. The arguments are comma separated. The three dots in the
38
38
  syntax description mean that the sequence before the dots can be
39
39
  repeated if needed. Inheritable list attributes will append the new
40
40
  list values to the inherited list. Use can use the [[purge]]
@@ -73,7 +73,7 @@ An integer is any natural number, e. g. ''''0'''', ''''1'''',
73
73
 
74
74
  Strings are character sequences that are enclosed by special
75
75
  character marks. There are three different marks supported. For
76
- short strings that fit on one lines, you can either use single or
76
+ short strings that fit on one line, you can either use single or
77
77
  double quotes.
78
78
 
79
79
  'This is a single quoted string.'
@@ -112,7 +112,7 @@ exact same combination of tabs and spaces.
112
112
  === Predefined Macros ===
113
113
 
114
114
  TaskJuggler supports a few predefined macros. These are available
115
- after the project header. They values correspond to the values
115
+ after the project header. Their values correspond to the values
116
116
  provided in the project header.
117
117
 
118
118
  * ''''projectstart'''' The start date of the project.
@@ -128,6 +128,6 @@ the [[timeformat]] setting of the current context.
128
128
  === Environment Variable Expansions ===
129
129
 
130
130
  By using the $(VAR) syntax, you can insert the value of the
131
- environment variable name VAR. The name of the variable must consists
132
- only of uppercase ASCII letters, underscore or decimal digits.
131
+ environment variable name VAR. The name of the variable must consist
132
+ only of uppercase ASCII letters, underscores or decimal digits.
133
133
 
@@ -13,7 +13,7 @@ grow larger. The complete tutorial example comes with your
13
13
  TaskJuggler software installation. You can use the following command
14
14
  to find the base directory of the example projects.
15
15
 
16
- ruby19 -e "puts Gem::Specification.find_by_name('taskjuggler').gem_dir"
16
+ ruby -e "puts Gem::Specification.find_by_name('taskjuggler').gem_dir"
17
17
 
18
18
  The file for the tutorial project is called
19
19
  ''''examples/Tutorial/tutorial.tjp''''. You can use any plain text
@@ -31,7 +31,7 @@ will result in longer scheduling times and higher memory consumption.
31
31
 
32
32
  <[example file="tutorial" tag="header1"]>
33
33
 
34
- All TaskJuggler properties have a unique ID ,a name, and a set of
34
+ All TaskJuggler properties have a unique ID, a name, and a set of
35
35
  optional attributes. The name must always be specified. The ID can be
36
36
  omitted if you never have to reference the property from another
37
37
  context. If you omit the ID, TaskJuggler will automatically generate a
@@ -75,7 +75,7 @@ The [[currency]] attribute specifies the unit of all currency values.
75
75
  <[example file="tutorial" tag="currency"]>
76
76
 
77
77
  Because each culture has its own way of specifying dates and numbers,
78
- the format for these are configurable. Use the [[timeformat]]
78
+ the format for these is configurable. Use the [[timeformat]]
79
79
  attribute to specify the default format for dates. This format is used
80
80
  for reports, it does not affect the way you specify dates in the
81
81
  project files. Here you always need to use the [[date|TaskJuggler date
@@ -148,7 +148,7 @@ does not do any resource assignments to tasks.
148
148
 
149
149
  Use the [[leaves]] attribute to define a global holiday. Global
150
150
  holidays may have a name and must have a date or date range. Other leaves for
151
- individual resources or groups of resources can be defines similarly.
151
+ individual resources or groups of resources can be defined similarly.
152
152
 
153
153
  === Macros ===
154
154
 
@@ -189,6 +189,8 @@ In order not to get lost with all the various amounts, we declare 3
189
189
  [[account|accounts]] to credit the amounts to. We create one account
190
190
  for the development costs, one for the documentation costs, and one
191
191
  for the customer payments.
192
+ Actually, there is a fourth account consisting of two accounts nested
193
+ into it.
192
194
 
193
195
  <[example file="tutorial" tag="accounts"]>
194
196
 
@@ -308,7 +310,7 @@ should be allocated to the task. The task won't finish before the
308
310
  resources could be allocated long enough to reach the specified
309
311
  effort. Tasks with ''''length'''' or ''''duration'''' criteria and
310
312
  allocated resources will last exactly as long as requested. Resources
311
- will be allocated only if available. It's possible that such a tasks
313
+ will be allocated only if available. It's possible that such a task
312
314
  ends up with no allocations at all if the resources are always
313
315
  assigned to other tasks for that period. Each task can only have one
314
316
  of the three duration criteria. Container tasks may never have a
@@ -331,7 +333,7 @@ and end criteria of a task, or one of them and a duration
331
333
  specification. The start and end criteria can either be fixed dates or
332
334
  relative dates. Relative dates are specifications of the type ''task B
333
335
  starts after task A has finished''. Or in other words, task B depends
334
- on task A. In this example the spec task depends on a subtasks of the
336
+ on task A. In this example the spec task depends on a subtask of the
335
337
  deliveries task. We have not specified it yet, but it has the local ID
336
338
  ''''start''''.
337
339
 
@@ -347,7 +349,7 @@ specification task would be ''''AcSo.spec''''.
347
349
  Relative IDs always start with one or more exclamation marks. Each
348
350
  exclamation mark moves the scope to the next enclosing task. So
349
351
  ''''!deliveries.start'''' is expanded to ''''AcSo.deliveries.start''''
350
- since ''''AcSo'''' is the enclosing task of deliveries. Relative task
352
+ since ''''AcSo'''' is the enclosing task of ''''deliveries''''. Relative task
351
353
  IDs are a little bit confusing at first, but have a real advantage
352
354
  over absolute IDs. Sooner or later you want to move tasks around in
353
355
  your project and then it's a lot less likely that you have to fix
@@ -362,7 +364,7 @@ We use the [[priority]] attribute to mark the importance of
362
364
  the tasks. 500 is the default priority of top-level tasks. Setting the
363
365
  priority to 1000 marks the task as most important task, since the
364
366
  possible range is 1 (not important at all) to 1000 (ultimately
365
- important). priority is an attribute that is passed down to subtasks
367
+ important). ''''priority'''' is an attribute that is passed down to subtasks
366
368
  if specified before the subtasks' declaration. So all subtasks of
367
369
  software have a priority of 1000 as well, unless they have their own
368
370
  priority definition.
@@ -486,7 +488,7 @@ scheduled. But no reports would be generated to visualize the results.
486
488
 
487
489
  === Visualizing the Project ===
488
490
 
489
- To see and share the project data you reports can be generated. You
491
+ To see and share the project data, reports can be generated. You
490
492
  can generate any number of reports and you can select from a variety
491
493
  of report types and output formats. To have a report generated after
492
494
  the project scheduling has been completed, you need include a report
@@ -645,7 +647,7 @@ For HTML output, the reference is a click-able link to the referenced
645
647
  report file.
646
648
 
647
649
  For the [[footer]] we can proceed accordingly. We just add a few more
648
- paragraphs of text the describe certain aspects of the project. By
650
+ paragraphs of text to describe certain aspects of the project. By
649
651
  putting it all together, we end up with the following report
650
652
  definition.
651
653
 
@@ -653,7 +655,7 @@ definition.
653
655
 
654
656
  The generated report can be found
655
657
  [http://www.taskjuggler.org/tj3/examples/Tutorial/Overview.html
656
- here]. It servers as an entry page for the other reports. While it
658
+ here]. It serves as an entry page for the other reports. While it
657
659
  already contains some references, a navigator bar would be handy as
658
660
  well. Fortunately, there is a block generator called 'navigator' to
659
661
  take care of this. But before we can include the navigator in the