taskjuggler 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (553) hide show
  1. data/CHANGELOG +61 -0
  2. data/README.rdoc +43 -27
  3. data/data/css/tjreport.css +30 -0
  4. data/data/tjp.vim +100 -89
  5. data/examples/ProjectTemplate/template.tjp +338 -0
  6. data/examples/ToDo-List/todolist.tjp +84 -0
  7. data/examples/{tutorial.tjp → Tutorial/tutorial.tjp} +9 -7
  8. data/lib/header.tmpl +1 -1
  9. data/lib/taskjuggler/Account.rb +2 -2
  10. data/lib/taskjuggler/AccountCredit.rb +29 -0
  11. data/lib/taskjuggler/AccountScenario.rb +73 -7
  12. data/lib/taskjuggler/AlertLevelDefinitions.rb +104 -0
  13. data/lib/taskjuggler/AlgorithmDiff.rb +2 -2
  14. data/lib/taskjuggler/Allocation.rb +1 -1
  15. data/lib/taskjuggler/AppConfig.rb +1 -1
  16. data/lib/taskjuggler/AttributeBase.rb +1 -1
  17. data/lib/taskjuggler/AttributeDefinition.rb +1 -1
  18. data/lib/taskjuggler/Attributes.rb +40 -3
  19. data/lib/taskjuggler/BatchProcessor.rb +15 -14
  20. data/lib/taskjuggler/Booking.rb +1 -1
  21. data/lib/taskjuggler/Charge.rb +2 -2
  22. data/lib/taskjuggler/ChargeSet.rb +1 -1
  23. data/lib/taskjuggler/DataCache.rb +24 -12
  24. data/lib/taskjuggler/FileList.rb +1 -1
  25. data/lib/taskjuggler/HTMLDocument.rb +1 -1
  26. data/lib/taskjuggler/HTMLElements.rb +1 -1
  27. data/lib/taskjuggler/ICalendar.rb +1 -1
  28. data/lib/taskjuggler/Interval.rb +1 -1
  29. data/lib/taskjuggler/IntervalList.rb +1 -1
  30. data/lib/taskjuggler/Journal.rb +61 -41
  31. data/lib/taskjuggler/KeywordArray.rb +1 -1
  32. data/lib/taskjuggler/KeywordDocumentation.rb +121 -33
  33. data/lib/taskjuggler/LeaveList.rb +103 -0
  34. data/lib/taskjuggler/Limits.rb +1 -1
  35. data/lib/taskjuggler/Log.rb +6 -3
  36. data/lib/taskjuggler/LogFile.rb +1 -1
  37. data/lib/taskjuggler/LogicalExpression.rb +1 -1
  38. data/lib/taskjuggler/LogicalFunction.rb +16 -2
  39. data/lib/taskjuggler/LogicalOperation.rb +3 -1
  40. data/lib/taskjuggler/MessageHandler.rb +13 -4
  41. data/lib/taskjuggler/PTNProxy.rb +118 -0
  42. data/lib/taskjuggler/Project.rb +58 -67
  43. data/lib/taskjuggler/ProjectFileParser.rb +39 -5
  44. data/lib/taskjuggler/ProjectFileScanner.rb +1 -1
  45. data/lib/taskjuggler/PropertyList.rb +26 -2
  46. data/lib/taskjuggler/PropertySet.rb +8 -1
  47. data/lib/taskjuggler/PropertyTreeNode.rb +36 -32
  48. data/lib/taskjuggler/Query.rb +1 -1
  49. data/lib/taskjuggler/RealFormat.rb +4 -2
  50. data/lib/taskjuggler/Resource.rb +3 -3
  51. data/lib/taskjuggler/ResourceScenario.rb +219 -140
  52. data/lib/taskjuggler/RichText.rb +1 -1
  53. data/lib/taskjuggler/RichText/Document.rb +2 -2
  54. data/lib/taskjuggler/RichText/Element.rb +2 -2
  55. data/lib/taskjuggler/RichText/FunctionExample.rb +2 -2
  56. data/lib/taskjuggler/RichText/FunctionHandler.rb +2 -2
  57. data/lib/taskjuggler/RichText/Parser.rb +2 -2
  58. data/lib/taskjuggler/RichText/RTFHandlers.rb +1 -1
  59. data/lib/taskjuggler/RichText/RTFNavigator.rb +1 -1
  60. data/lib/taskjuggler/RichText/RTFQuery.rb +1 -1
  61. data/lib/taskjuggler/RichText/RTFReport.rb +1 -1
  62. data/lib/taskjuggler/RichText/RTFReportLink.rb +1 -1
  63. data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +1 -1
  64. data/lib/taskjuggler/RichText/Scanner.rb +18 -4
  65. data/lib/taskjuggler/RichText/Snip.rb +2 -2
  66. data/lib/taskjuggler/RichText/SyntaxRules.rb +6 -14
  67. data/lib/taskjuggler/RichText/TOCEntry.rb +16 -7
  68. data/lib/taskjuggler/RichText/TableOfContents.rb +3 -2
  69. data/lib/taskjuggler/RuntimeConfig.rb +1 -1
  70. data/lib/taskjuggler/Scenario.rb +1 -1
  71. data/lib/taskjuggler/ScenarioData.rb +1 -1
  72. data/lib/taskjuggler/Scoreboard.rb +1 -1
  73. data/lib/taskjuggler/SheetHandlerBase.rb +1 -1
  74. data/lib/taskjuggler/SheetReceiver.rb +1 -1
  75. data/lib/taskjuggler/SheetSender.rb +3 -3
  76. data/lib/taskjuggler/Shift.rb +2 -2
  77. data/lib/taskjuggler/ShiftAssignments.rb +24 -19
  78. data/lib/taskjuggler/ShiftScenario.rb +4 -4
  79. data/lib/taskjuggler/SimpleQueryExpander.rb +1 -1
  80. data/lib/taskjuggler/StatusSheetReceiver.rb +1 -1
  81. data/lib/taskjuggler/StatusSheetSender.rb +1 -1
  82. data/lib/taskjuggler/StdIoWrapper.rb +1 -1
  83. data/lib/taskjuggler/SyntaxReference.rb +5 -2
  84. data/lib/taskjuggler/TableColumnDefinition.rb +1 -1
  85. data/lib/taskjuggler/Task.rb +4 -8
  86. data/lib/taskjuggler/TaskDependency.rb +1 -1
  87. data/lib/taskjuggler/TaskJuggler.rb +1 -1
  88. data/lib/taskjuggler/TaskScenario.rb +131 -51
  89. data/lib/taskjuggler/TernarySearchTree.rb +6 -4
  90. data/lib/taskjuggler/TextFormatter.rb +9 -2
  91. data/lib/taskjuggler/TextParser.rb +13 -3
  92. data/lib/taskjuggler/TextParser/MacroTable.rb +1 -1
  93. data/lib/taskjuggler/TextParser/Pattern.rb +52 -8
  94. data/lib/taskjuggler/TextParser/Rule.rb +11 -5
  95. data/lib/taskjuggler/TextParser/Scanner.rb +1 -1
  96. data/lib/taskjuggler/TextParser/SourceFileInfo.rb +1 -1
  97. data/lib/taskjuggler/TextParser/StackElement.rb +1 -1
  98. data/lib/taskjuggler/TextParser/State.rb +2 -2
  99. data/lib/taskjuggler/TextParser/TokenDoc.rb +1 -1
  100. data/lib/taskjuggler/TimeSheetReceiver.rb +1 -1
  101. data/lib/taskjuggler/TimeSheetSender.rb +1 -1
  102. data/lib/taskjuggler/TimeSheetSummary.rb +1 -1
  103. data/lib/taskjuggler/TimeSheets.rb +4 -6
  104. data/lib/taskjuggler/Tj3AppBase.rb +18 -1
  105. data/lib/taskjuggler/Tj3Config.rb +4 -4
  106. data/lib/taskjuggler/Tj3SheetAppBase.rb +1 -1
  107. data/lib/taskjuggler/TjException.rb +1 -1
  108. data/lib/taskjuggler/TjTime.rb +1 -1
  109. data/lib/taskjuggler/TjpExample.rb +1 -1
  110. data/lib/taskjuggler/TjpSyntaxRules.rb +920 -392
  111. data/lib/taskjuggler/URLParameter.rb +1 -1
  112. data/lib/taskjuggler/UTF8String.rb +1 -1
  113. data/lib/taskjuggler/UserManual.rb +1 -1
  114. data/lib/taskjuggler/VimSyntax.rb +9 -6
  115. data/lib/taskjuggler/WorkingHours.rb +12 -1
  116. data/lib/taskjuggler/XMLDocument.rb +1 -1
  117. data/lib/taskjuggler/XMLElement.rb +1 -1
  118. data/lib/taskjuggler/apps/Tj3.rb +8 -3
  119. data/lib/taskjuggler/apps/Tj3Client.rb +1 -1
  120. data/lib/taskjuggler/apps/Tj3Daemon.rb +1 -1
  121. data/lib/taskjuggler/apps/Tj3Man.rb +1 -1
  122. data/lib/taskjuggler/apps/Tj3SsReceiver.rb +2 -2
  123. data/lib/taskjuggler/apps/Tj3SsSender.rb +1 -1
  124. data/lib/taskjuggler/apps/Tj3TsReceiver.rb +1 -1
  125. data/lib/taskjuggler/apps/Tj3TsSender.rb +1 -1
  126. data/lib/taskjuggler/apps/Tj3TsSummary.rb +1 -1
  127. data/lib/taskjuggler/daemon/Daemon.rb +1 -1
  128. data/lib/taskjuggler/daemon/ProcessIntercom.rb +1 -1
  129. data/lib/taskjuggler/daemon/ProjectBroker.rb +1 -1
  130. data/lib/taskjuggler/daemon/ProjectServer.rb +1 -1
  131. data/lib/taskjuggler/daemon/ReportServer.rb +2 -2
  132. data/lib/taskjuggler/daemon/ReportServlet.rb +1 -1
  133. data/lib/taskjuggler/daemon/WebServer.rb +1 -1
  134. data/lib/taskjuggler/daemon/WelcomePage.rb +1 -1
  135. data/lib/taskjuggler/deep_copy.rb +1 -1
  136. data/lib/taskjuggler/reports/AccountListRE.rb +115 -0
  137. data/lib/taskjuggler/reports/CSVFile.rb +1 -1
  138. data/lib/taskjuggler/reports/CollisionDetector.rb +1 -1
  139. data/lib/taskjuggler/reports/ColumnTable.rb +1 -1
  140. data/lib/taskjuggler/reports/GanttChart.rb +1 -1
  141. data/lib/taskjuggler/reports/GanttContainer.rb +1 -3
  142. data/lib/taskjuggler/reports/GanttHeader.rb +1 -1
  143. data/lib/taskjuggler/reports/GanttHeaderScaleItem.rb +1 -1
  144. data/lib/taskjuggler/reports/GanttLine.rb +23 -12
  145. data/lib/taskjuggler/reports/GanttLoadStack.rb +1 -1
  146. data/lib/taskjuggler/reports/GanttMilestone.rb +1 -1
  147. data/lib/taskjuggler/reports/GanttRouter.rb +1 -1
  148. data/lib/taskjuggler/reports/GanttTaskBar.rb +1 -1
  149. data/lib/taskjuggler/reports/HTMLGraphics.rb +1 -1
  150. data/lib/taskjuggler/reports/ICalReport.rb +5 -2
  151. data/lib/taskjuggler/reports/Navigator.rb +1 -1
  152. data/lib/taskjuggler/reports/NikuReport.rb +1 -1
  153. data/lib/taskjuggler/reports/Report.rb +29 -4
  154. data/lib/taskjuggler/reports/ReportBase.rb +15 -1
  155. data/lib/taskjuggler/reports/ReportContext.rb +1 -1
  156. data/lib/taskjuggler/reports/ReportTable.rb +1 -1
  157. data/lib/taskjuggler/reports/ReportTableCell.rb +1 -1
  158. data/lib/taskjuggler/reports/ReportTableColumn.rb +1 -1
  159. data/lib/taskjuggler/reports/ReportTableLegend.rb +1 -1
  160. data/lib/taskjuggler/reports/ReportTableLine.rb +1 -1
  161. data/lib/taskjuggler/reports/ResourceListRE.rb +3 -5
  162. data/lib/taskjuggler/reports/StatusSheetReport.rb +2 -2
  163. data/lib/taskjuggler/reports/TableReport.rb +336 -204
  164. data/lib/taskjuggler/reports/TableReportColumn.rb +30 -0
  165. data/lib/taskjuggler/reports/TagFile.rb +2 -2
  166. data/lib/taskjuggler/reports/TaskListRE.rb +3 -6
  167. data/lib/taskjuggler/reports/TextReport.rb +1 -1
  168. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -3
  169. data/lib/taskjuggler/reports/TjpExportRE.rb +4 -1
  170. data/lib/tj3.rb +1 -1
  171. data/lib/tj3client.rb +1 -1
  172. data/lib/tj3d.rb +1 -1
  173. data/lib/tj3man.rb +1 -1
  174. data/lib/tj3ss_receiver.rb +1 -1
  175. data/lib/tj3ss_sender.rb +1 -1
  176. data/lib/tj3ts_receiver.rb +1 -1
  177. data/lib/tj3ts_sender.rb +1 -1
  178. data/lib/tj3ts_summary.rb +1 -1
  179. data/lib/updateheader.sh +4 -1
  180. data/manual/Getting_Started +7 -4
  181. data/manual/How_To_Contribute +26 -5
  182. data/manual/Installation +26 -18
  183. data/manual/Intro +55 -33
  184. data/manual/Reporting_Bugs +18 -8
  185. data/manual/Rich_Text_Attributes +16 -3
  186. data/manual/Software +2 -2
  187. data/manual/TaskJuggler_2x_Migration +2 -2
  188. data/manual/The_TaskJuggler_Syntax +10 -0
  189. data/manual/Tutorial +2 -2
  190. data/manual/html/Day_To_Day_Juggling.html +16 -12
  191. data/manual/html/Getting_Started.html +9 -7
  192. data/manual/html/How_To_Contribute.html +18 -10
  193. data/manual/html/Installation.html +18 -15
  194. data/manual/html/Intro.html +44 -28
  195. data/manual/html/Reporting_Bugs.html +9 -7
  196. data/manual/html/Rich_Text_Attributes.html +11 -8
  197. data/manual/html/Software.html +5 -5
  198. data/manual/html/TaskJuggler_2x_Migration.html +4 -4
  199. data/manual/html/TaskJuggler_Internals.html +3 -3
  200. data/manual/html/The_TaskJuggler_Syntax.html +6 -3
  201. data/manual/html/Tutorial.html +12 -12
  202. data/manual/html/account.html +19 -10
  203. data/manual/html/account.task.html +5 -28
  204. data/manual/html/accountprefix.html +5 -5
  205. data/manual/html/{report.html → accountreport.html} +140 -23
  206. data/manual/html/accountroot.html +142 -0
  207. data/manual/html/active.html +5 -5
  208. data/manual/html/adopt.task.html +7 -8
  209. data/manual/html/aggregate.html +145 -0
  210. data/manual/html/alert.html +12 -11
  211. data/manual/html/alertlevels.html +102 -0
  212. data/manual/html/allocate.html +6 -6
  213. data/manual/html/alphabet.html +1 -1
  214. data/manual/html/alternative.html +3 -3
  215. data/manual/html/author.html +3 -3
  216. data/manual/html/balance.html +84 -11
  217. data/manual/html/booking.resource.html +3 -3
  218. data/manual/html/booking.task.html +3 -3
  219. data/manual/html/caption.html +6 -4
  220. data/manual/html/cellcolor.column.html +3 -3
  221. data/manual/html/celltext.column.html +3 -3
  222. data/manual/html/center.html +28 -4
  223. data/manual/html/charge.html +3 -3
  224. data/manual/html/chargeset.html +5 -5
  225. data/manual/html/columnid.html +40 -9
  226. data/manual/html/columns.html +6 -4
  227. data/manual/html/complete.html +15 -9
  228. data/manual/html/copyright.html +5 -5
  229. data/manual/html/{credit.html → credits.html} +15 -12
  230. data/manual/html/css/tjreport.css +30 -0
  231. data/manual/html/currency.html +28 -15
  232. data/manual/html/currencyformat.html +4 -4
  233. data/manual/html/dailymax.html +3 -3
  234. data/manual/html/dailymin.html +3 -3
  235. data/manual/html/dailyworkinghours.html +3 -3
  236. data/manual/html/date.extend.html +3 -3
  237. data/manual/html/date.html +3 -3
  238. data/manual/html/definitions.html +3 -3
  239. data/manual/html/depends.html +3 -3
  240. data/manual/html/details.html +3 -3
  241. data/manual/html/disabled.html +9 -3
  242. data/manual/html/duration.html +3 -3
  243. data/manual/html/efficiency.html +3 -3
  244. data/manual/html/effort.html +3 -3
  245. data/manual/html/email.html +3 -3
  246. data/manual/html/enabled.html +9 -3
  247. data/manual/html/end.column.html +3 -3
  248. data/manual/html/end.html +3 -3
  249. data/manual/html/end.limit.html +3 -3
  250. data/manual/html/end.report.html +4 -4
  251. data/manual/html/end.timesheet.html +3 -3
  252. data/manual/html/endcredit.html +18 -9
  253. data/manual/html/epilog.html +6 -4
  254. data/manual/html/export.html +10 -6
  255. data/manual/html/extend.html +3 -3
  256. data/manual/html/fail.html +3 -3
  257. data/manual/html/fdl.html +3 -3
  258. data/manual/html/flags.account.html +3 -3
  259. data/manual/html/flags.html +3 -3
  260. data/manual/html/flags.journalentry.html +3 -3
  261. data/manual/html/flags.report.html +6 -4
  262. data/manual/html/flags.resource.html +3 -3
  263. data/manual/html/flags.statussheet.html +3 -3
  264. data/manual/html/flags.task.html +3 -3
  265. data/manual/html/flags.timesheet.html +3 -3
  266. data/manual/html/fontcolor.column.html +3 -3
  267. data/manual/html/footer.html +28 -4
  268. data/manual/html/formats.html +4 -4
  269. data/manual/html/functions.html +4 -4
  270. data/manual/html/gapduration.html +3 -3
  271. data/manual/html/gaplength.html +4 -4
  272. data/manual/html/halign.center.html +3 -3
  273. data/manual/html/halign.column.html +3 -3
  274. data/manual/html/halign.left.html +3 -3
  275. data/manual/html/halign.right.html +3 -3
  276. data/manual/html/hasalert.html +3 -3
  277. data/manual/html/header.html +28 -4
  278. data/manual/html/headline.html +6 -6
  279. data/manual/html/hideaccount.html +73 -0
  280. data/manual/html/hidejournalentry.html +6 -6
  281. data/manual/html/hidereport.html +3 -3
  282. data/manual/html/hideresource.html +4 -4
  283. data/manual/html/hidetask.html +4 -4
  284. data/manual/html/icalreport.html +3 -3
  285. data/manual/html/include.macro.html +4 -4
  286. data/manual/html/include.project.html +5 -6
  287. data/manual/html/include.properties.html +5 -97
  288. data/manual/html/index.html +2 -2
  289. data/manual/html/inherit.extend.html +3 -3
  290. data/manual/html/interval1.html +3 -3
  291. data/manual/html/interval2.html +3 -3
  292. data/manual/html/interval3.html +3 -3
  293. data/manual/html/interval4.html +3 -3
  294. data/manual/html/isactive.html +3 -3
  295. data/manual/html/ischildof.html +3 -3
  296. data/manual/html/isdependencyof.html +3 -3
  297. data/manual/html/isdutyof.html +3 -3
  298. data/manual/html/isfeatureof.html +3 -3
  299. data/manual/html/isleaf.html +3 -3
  300. data/manual/html/ismilestone.html +3 -3
  301. data/manual/html/isongoing.html +3 -3
  302. data/manual/html/isresource.html +5 -5
  303. data/manual/html/{alert level.html → isresponsibilityof.html} +19 -14
  304. data/manual/html/istask.html +5 -5
  305. data/manual/html/journalattributes.html +6 -4
  306. data/manual/html/journalentry.html +3 -3
  307. data/manual/html/journalmode.html +8 -6
  308. data/manual/html/leaveallowance.html +139 -0
  309. data/manual/html/leaves.html +140 -0
  310. data/manual/html/left.html +30 -6
  311. data/manual/html/length.html +4 -4
  312. data/manual/html/limits.allocate.html +5 -32
  313. data/manual/html/limits.html +3 -3
  314. data/manual/html/limits.resource.html +3 -3
  315. data/manual/html/limits.task.html +3 -3
  316. data/manual/html/listitem.column.html +3 -3
  317. data/manual/html/listtype.column.html +3 -3
  318. data/manual/html/loadunit.html +6 -4
  319. data/manual/html/logicalexpression.html +3 -3
  320. data/manual/html/logicalflagexpression.html +3 -3
  321. data/manual/html/macro.html +3 -3
  322. data/manual/html/managers.html +3 -3
  323. data/manual/html/mandatory.html +3 -3
  324. data/manual/html/maxend.html +3 -3
  325. data/manual/html/maximum.html +3 -3
  326. data/manual/html/maxstart.html +3 -3
  327. data/manual/html/milestone.html +3 -3
  328. data/manual/html/minend.html +3 -3
  329. data/manual/html/minimum.html +3 -3
  330. data/manual/html/minstart.html +3 -3
  331. data/manual/html/monthlymax.html +3 -3
  332. data/manual/html/monthlymin.html +3 -3
  333. data/manual/html/navbar.html +23 -5
  334. data/manual/html/navigator.html +34 -3
  335. data/manual/html/newtask.html +3 -3
  336. data/manual/html/nikureport.html +3 -3
  337. data/manual/html/note.task.html +3 -3
  338. data/manual/html/now.html +3 -3
  339. data/manual/html/numberformat.html +4 -4
  340. data/manual/html/onend.html +3 -3
  341. data/manual/html/onstart.html +3 -3
  342. data/manual/html/opennodes.html +6 -4
  343. data/manual/html/overtime.booking.html +4 -4
  344. data/manual/html/period.column.html +3 -3
  345. data/manual/html/period.limit.html +3 -3
  346. data/manual/html/period.report.html +4 -4
  347. data/manual/html/period.task.html +3 -3
  348. data/manual/html/persistent.html +3 -3
  349. data/manual/html/precedes.html +3 -3
  350. data/manual/html/priority.html +3 -3
  351. data/manual/html/priority.timesheet.html +3 -3
  352. data/manual/html/project.html +4 -4
  353. data/manual/html/projectid.html +3 -3
  354. data/manual/html/projectid.task.html +3 -3
  355. data/manual/html/projectids.html +3 -3
  356. data/manual/html/projection.html +9 -3
  357. data/manual/html/prolog.html +6 -4
  358. data/manual/html/properties.html +193 -9
  359. data/manual/html/purge.html +5 -5
  360. data/manual/html/rate.html +3 -3
  361. data/manual/html/rate.resource.html +3 -3
  362. data/manual/html/reference.extend.html +3 -3
  363. data/manual/html/remaining.html +3 -3
  364. data/manual/html/replace.html +9 -6
  365. data/manual/html/reportprefix.html +5 -5
  366. data/manual/html/resource.html +22 -4
  367. data/manual/html/resourceattributes.html +6 -6
  368. data/manual/html/resourceprefix.html +3 -3
  369. data/manual/html/resourcereport.html +311 -8
  370. data/manual/html/resourceroot.html +6 -4
  371. data/manual/html/resources.limit.html +4 -4
  372. data/manual/html/responsible.html +3 -3
  373. data/manual/html/richtext.extend.html +3 -3
  374. data/manual/html/right.html +30 -6
  375. data/manual/html/rollupaccount.html +69 -0
  376. data/manual/html/rollupresource.html +6 -6
  377. data/manual/html/rolluptask.html +4 -4
  378. data/manual/html/scale.column.html +3 -3
  379. data/manual/html/scenario.html +3 -3
  380. data/manual/html/scenario.ical.html +3 -3
  381. data/manual/html/scenarios.export.html +3 -3
  382. data/manual/html/scenarios.html +6 -4
  383. data/manual/html/scenariospecific.extend.html +3 -3
  384. data/manual/html/scheduled.html +3 -3
  385. data/manual/html/scheduling.html +3 -3
  386. data/manual/html/select.html +3 -3
  387. data/manual/html/selfcontained.html +6 -4
  388. data/manual/html/shift.allocate.html +77 -0
  389. data/manual/html/shift.html +13 -7
  390. data/manual/html/shift.resource.html +11 -5
  391. data/manual/html/shift.task.html +9 -3
  392. data/manual/html/shift.timesheet.html +4 -4
  393. data/manual/html/shifts.allocate.html +6 -6
  394. data/manual/html/shifts.resource.html +3 -3
  395. data/manual/html/shifts.task.html +3 -3
  396. data/manual/html/shorttimeformat.html +3 -3
  397. data/manual/html/sloppy.booking.html +4 -4
  398. data/manual/html/sloppy.projection.html +12 -6
  399. data/manual/html/sortaccounts.html +73 -0
  400. data/manual/html/sortjournalentries.html +8 -6
  401. data/manual/html/sortresources.html +4 -4
  402. data/manual/html/sorttasks.html +4 -4
  403. data/manual/html/start.column.html +3 -3
  404. data/manual/html/start.html +3 -3
  405. data/manual/html/start.limit.html +3 -3
  406. data/manual/html/start.report.html +4 -4
  407. data/manual/html/startcredit.html +10 -4
  408. data/manual/html/status.statussheet.html +5 -5
  409. data/manual/html/status.timesheet.html +5 -5
  410. data/manual/html/statussheet.html +3 -3
  411. data/manual/html/statussheetreport.html +10 -6
  412. data/manual/html/strict.projection.html +10 -4
  413. data/manual/html/summary.html +3 -3
  414. data/manual/html/supplement.html +5 -5
  415. data/manual/html/supplement.resource.html +22 -4
  416. data/manual/html/supplement.task.html +4 -4
  417. data/manual/html/tagfile.html +3 -3
  418. data/manual/html/task.html +3 -3
  419. data/manual/html/task.statussheet.html +3 -3
  420. data/manual/html/task.timesheet.html +3 -3
  421. data/manual/html/taskattributes.html +3 -3
  422. data/manual/html/taskprefix.html +3 -3
  423. data/manual/html/taskreport.html +347 -8
  424. data/manual/html/taskroot.html +6 -4
  425. data/manual/html/text.extend.html +3 -3
  426. data/manual/html/textreport.html +333 -8
  427. data/manual/html/timeformat.html +4 -4
  428. data/manual/html/timeoff.nikureport.html +3 -3
  429. data/manual/html/timesheet.html +3 -3
  430. data/manual/html/timesheetreport.html +10 -6
  431. data/manual/html/timezone.export.html +3 -3
  432. data/manual/html/timezone.html +3 -3
  433. data/manual/html/timezone.report.html +6 -4
  434. data/manual/html/timezone.shift.html +3 -3
  435. data/manual/html/timingresolution.html +3 -3
  436. data/manual/html/title.column.html +3 -3
  437. data/manual/html/title.html +4 -4
  438. data/manual/html/toc.html +1705 -658
  439. data/manual/html/tooltip.column.html +3 -3
  440. data/manual/html/trackingscenario.html +3 -3
  441. data/manual/html/treelevel.html +3 -3
  442. data/manual/html/vacation.html +3 -3
  443. data/manual/html/vacation.resource.html +4 -4
  444. data/manual/html/vacation.shift.html +4 -4
  445. data/manual/html/warn.html +3 -3
  446. data/manual/html/weeklymax.html +3 -3
  447. data/manual/html/weeklymin.html +3 -3
  448. data/manual/html/weekstartsmonday.html +3 -3
  449. data/manual/html/weekstartssunday.html +3 -3
  450. data/manual/html/width.column.html +3 -3
  451. data/manual/html/work.html +3 -3
  452. data/manual/html/workinghours.project.html +3 -3
  453. data/manual/html/workinghours.resource.html +3 -3
  454. data/manual/html/workinghours.shift.html +3 -3
  455. data/manual/html/yearlyworkingdays.html +4 -4
  456. data/spec/ICalendar_spec.rb +4 -2
  457. data/spec/IntervalList_spec.rb +1 -1
  458. data/spec/ProjectBroker_spec.rb +2 -6
  459. data/spec/StatusSheets_spec.rb +1 -1
  460. data/spec/TernarySearchTree_spec.rb +2 -2
  461. data/spec/TimeSheets_spec.rb +1 -1
  462. data/spec/Tj3Daemon_spec.rb +1 -1
  463. data/spec/Tj3_spec.rb +1 -1
  464. data/spec/support/DaemonControl.rb +1 -1
  465. data/spec/support/spec_helper.rb +19 -0
  466. data/taskjuggler.gemspec +1 -0
  467. data/test/MessageChecker.rb +1 -1
  468. data/test/ReferenceGenerator.rb +1 -1
  469. data/test/TestSuite/CSV-Reports/Leave.tjp +37 -0
  470. data/test/TestSuite/CSV-Reports/celltext.tjp +1 -1
  471. data/test/TestSuite/CSV-Reports/efficiency.tjp +20 -0
  472. data/test/TestSuite/CSV-Reports/headcount.tjp +31 -0
  473. data/test/TestSuite/CSV-Reports/refs/Leave.csv +5 -0
  474. data/test/TestSuite/CSV-Reports/refs/alert.csv +6 -0
  475. data/test/TestSuite/CSV-Reports/refs/celltext.csv +6 -0
  476. data/test/TestSuite/CSV-Reports/refs/efficiency.csv +5 -0
  477. data/test/TestSuite/CSV-Reports/refs/headcount.csv +4 -0
  478. data/test/TestSuite/CSV-Reports/refs/sortByTree.csv +6 -0
  479. data/test/TestSuite/CSV-Reports/refs/sortBy_duration.down.csv +6 -0
  480. data/test/TestSuite/CSV-Reports/refs/sortBy_effort.up.csv +6 -0
  481. data/test/TestSuite/CSV-Reports/refs/sortBy_plan.start.down.csv +6 -0
  482. data/test/TestSuite/CSV-Reports/refs/taskreport.csv +6 -0
  483. data/test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv +14 -0
  484. data/test/TestSuite/CSV-Reports/resourcereport.tjp +1 -1
  485. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +1 -1
  486. data/test/TestSuite/CSV-Reports/sortByTree.tjp +1 -1
  487. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +1 -1
  488. data/test/TestSuite/CSV-Reports/taskreport.tjp +1 -1
  489. data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +1 -1
  490. data/test/TestSuite/Export-Reports/refs/AccountReport.tjp +1089 -0
  491. data/test/TestSuite/Export-Reports/refs/AlertLevels.tjp +24 -0
  492. data/test/TestSuite/Export-Reports/refs/Complete.tjp +5 -25
  493. data/test/TestSuite/Export-Reports/refs/navigator.tjp +58 -0
  494. data/test/TestSuite/Export-Reports/refs/template.tjp +142 -0
  495. data/test/TestSuite/Export-Reports/refs/textreport.tjp +19 -0
  496. data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +26 -7
  497. data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +177 -141
  498. data/test/TestSuite/ReportGenerator/Correct/refs/FTE-1.csv +1 -1
  499. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
  500. data/test/TestSuite/Scheduler/Correct/Shift2.tjp +4 -4
  501. data/test/TestSuite/Syntax/Correct/Account.tjp +23 -10
  502. data/test/TestSuite/Syntax/Correct/AccountReport.tjp +74 -0
  503. data/test/TestSuite/Syntax/Correct/AdoptedTasks.tjp +4 -0
  504. data/test/TestSuite/Syntax/Correct/AlertLevels.tjp +25 -0
  505. data/test/TestSuite/Syntax/Correct/Celltext.tjp +3 -3
  506. data/test/TestSuite/Syntax/Correct/Complete.tjp +8 -5
  507. data/test/TestSuite/Syntax/Correct/Leave.tjp +37 -0
  508. data/test/TestSuite/Syntax/Correct/Reports.tjp +4 -4
  509. data/test/TestSuite/Syntax/Correct/Shift.tjp +4 -4
  510. data/test/TestSuite/Syntax/Correct/manual2example.rb +4 -3
  511. data/test/TestSuite/Syntax/Correct/navigator.tjp +31 -0
  512. data/test/TestSuite/Syntax/Correct/template.tjp +338 -0
  513. data/test/TestSuite/Syntax/Correct/textreport.tjp +21 -0
  514. data/test/TestSuite/Syntax/Correct/tutorial.tjp +12 -10
  515. data/test/TestSuite/Syntax/Errors/{adopt_duplicate_child.tjp → adopt_duplicate_child-1.tjp} +0 -0
  516. data/test/TestSuite/Syntax/Errors/{adopt_common_root.tjp → adopt_duplicate_child-2.tjp} +1 -1
  517. data/test/TestSuite/Syntax/Errors/{adopt_duplicate_parent.tjp → adopt_duplicate_child-3.tjp} +1 -1
  518. data/test/TestSuite/Syntax/Errors/adopt_self.tjp +7 -0
  519. data/test/TestSuite/Syntax/Errors/alert_level_redef.tjp +8 -0
  520. data/test/TestSuite/Syntax/Errors/alert_name_redef.tjp +8 -0
  521. data/test/TestSuite/Syntax/Errors/too_few_alert_levels.tjp +5 -0
  522. data/test/TjpGen.rb +1 -1
  523. data/test/all.rb +1 -1
  524. data/test/test_AlgorithmDiff.rb +1 -1
  525. data/test/test_BatchProcessor.rb +23 -10
  526. data/test/test_CSV-Reports.rb +1 -1
  527. data/test/test_CSVFile.rb +1 -1
  528. data/test/test_CollisionDetector.rb +1 -1
  529. data/test/test_Export-Reports.rb +1 -1
  530. data/test/test_Journal.rb +42 -15
  531. data/test/test_Limits.rb +1 -1
  532. data/test/test_LogicalExpression.rb +1 -1
  533. data/test/test_MacroTable.rb +8 -3
  534. data/test/test_Project.rb +1 -1
  535. data/test/test_ProjectFileScanner.rb +1 -1
  536. data/test/test_PropertySet.rb +1 -1
  537. data/test/test_Query.rb +1 -1
  538. data/test/test_RealFormat.rb +1 -1
  539. data/test/test_ReportGenerator.rb +1 -1
  540. data/test/test_RichText.rb +1 -1
  541. data/test/test_Scheduler.rb +1 -1
  542. data/test/test_ShiftAssignments.rb +1 -1
  543. data/test/test_SimpleQueryExpander.rb +1 -1
  544. data/test/test_Syntax.rb +1 -1
  545. data/test/test_TextFormatter.rb +1 -1
  546. data/test/test_TjTime.rb +1 -1
  547. data/test/test_TjpExample.rb +1 -1
  548. data/test/test_URLParameter.rb +1 -1
  549. data/test/test_UTF8String.rb +1 -1
  550. data/test/test_WorkingHours.rb +1 -1
  551. data/test/test_deep_copy.rb +1 -1
  552. metadata +318 -248
  553. data/test/TestSuite/Syntax/Errors/purge_no_list.tjp +0 -8
@@ -0,0 +1,338 @@
1
+ /*
2
+ * This file contains a project skeletton. It is part of the
3
+ * TaskJuggler project management tool. You can use this as a basis to
4
+ * start you own project file.
5
+ */
6
+ project your_project_id "Your Project Title" 2011-11-11-0:00--0500 +4m {
7
+ # Set the default time zone for the project. If not specified, UTC
8
+ # is used.
9
+ timezone "America/New_York"
10
+ # Hide the clock time. Only show the date.
11
+ timeformat "%Y-%m-%d"
12
+ # Use US format for numbers
13
+ numberformat "-" "" "," "." 1
14
+ # Use US financial format for currency values. Don't show cents.
15
+ currencyformat "(" ")" "," "." 0
16
+ # Pick a day during the project that will be reported as 'today' in
17
+ # the project reports. If not specified, the current day will be
18
+ # used, but this will likely be outside of the project range, so it
19
+ # can't be seen in the reports.
20
+ now 2011-12-24
21
+ # The currency for all money values is the Euro.
22
+ currency "USD"
23
+
24
+ # You can define multiple scenarios here if you need them.
25
+ #scenario plan "Plan" {
26
+ # scenario actual "Actual"
27
+ #}
28
+
29
+ # You can define your own attributes for tasks and resources. This
30
+ # is handy to capture additonal information about the project that
31
+ # is not directly impacting the project schedule but you like to
32
+ # keep in one place.
33
+ #extend task {
34
+ # reference spec "Link to Wiki page"
35
+ #}
36
+ #extend resource {
37
+ # text Phone "Phone"
38
+ #}
39
+ }
40
+
41
+ copyright "Claim your rights here"
42
+
43
+ # If you have any text block that you need multiple times to describe
44
+ # your project, you should define a macro for it. Macros can even have
45
+ # variable segments that you can set upon calling the macro.
46
+ #
47
+ # macro Task [
48
+ # task "A ${1} task" {
49
+ # }
50
+ # ]
51
+ #
52
+ # Can be called as
53
+ # ${Task "big"}
54
+ # to generate
55
+ # task "A big task" {
56
+ # }
57
+
58
+ # You can attach flags to accounts, resources and tasks. These can be
59
+ # used to filter out subsets of them during reporting.
60
+ flags important, hidden
61
+
62
+ # If you want to do budget planning for you project, you need to
63
+ # define some accounts.
64
+ account cost "Project Cost" {
65
+ account dev "Development"
66
+ account doc "Documentation"
67
+ }
68
+ account rev "Customer Payments"
69
+
70
+ # The Profit&Loss analysis should be rev - cost accounts.
71
+ balance cost rev
72
+
73
+ # Define you public holidays here.
74
+ vacation "New Year's Day" 2012-01-02
75
+ vacation "Birthday of Martin Luther King, Jr." 2012-01-16
76
+ vacation "Washington's Birthday" 2012-02-20
77
+ vacation "Memorial Day" 2012-05-28
78
+ vacation "Independence Day" 2012-07-04
79
+ vacation "Labor Day" 2012-09-03
80
+ vacation "Columbus Day" 2012-10-08
81
+ vacation "Veterans Day" 2012-11-12
82
+ vacation "Thanksgiving Day" 2012-11-22
83
+ vacation "Christmas Day" 2012-12-25
84
+
85
+ # The daily default rate of all resources. This can be overridden for each
86
+ # resource. We specify this, so that we can do a good calculation of
87
+ # the costs of the project.
88
+ rate 400.0
89
+
90
+ # This is a set of example resources.
91
+ resource r1 "Resource 1"
92
+ resource t1 "Team 1" {
93
+ managers r1
94
+ resource r2 "Resource 2"
95
+ resource r3 "Resource 3"
96
+ }
97
+
98
+ # This is a resource that does not do any work.
99
+ resource s1 "System 1" {
100
+ efficiency 0.0
101
+ rate 600.0
102
+ }
103
+
104
+ task project "Project" {
105
+ task wp1 "Workpackage 1" {
106
+ task t1 "Task 1"
107
+ task t2 "Task 2"
108
+ }
109
+ task wp2 "Work package 2" {
110
+ depends !wp1
111
+ task t1 "Task 1"
112
+ task t2 "Task 2"
113
+ }
114
+ task deliveries "Deliveries" {
115
+ task "Item 1" {
116
+ depends !!wp1
117
+ }
118
+ task "Item 2" {
119
+ depends !!wp2
120
+ }
121
+ }
122
+ }
123
+
124
+ # Now the project has been specified completely. Stopping here would
125
+ # result in a valid TaskJuggler file that could be processed and
126
+ # scheduled. But no reports would be generated to visualize the
127
+ # results.
128
+
129
+ navigator navbar {
130
+ hidereport 0
131
+ }
132
+
133
+ macro TaskTip [
134
+ tooltip istask() -8<-
135
+ '''Start: ''' <-query attribute='start'->
136
+ '''End: ''' <-query attribute='end'->
137
+ ----
138
+ '''Resources:'''
139
+
140
+ <-query attribute='resources'->
141
+ ----
142
+ '''Precursors: '''
143
+
144
+ <-query attribute='precursors'->
145
+ ----
146
+ '''Followers: '''
147
+
148
+ <-query attribute='followers'->
149
+ ->8-
150
+ ]
151
+
152
+ textreport frame "" {
153
+ header -8<-
154
+ == TaskJuggler Project Template ==
155
+ <[navigator id="navbar"]>
156
+ ->8-
157
+ footer "----"
158
+ textreport index "Overview" {
159
+ formats html
160
+ center '<[report id="overview"]>'
161
+ }
162
+
163
+ textreport "Status" {
164
+ formats html
165
+ center -8<-
166
+ <[report id="status.dashboard"]>
167
+ ----
168
+ <[report id="status.completed"]>
169
+ ----
170
+ <[report id="status.ongoing"]>
171
+ ----
172
+ <[report id="status.future"]>
173
+ ->8-
174
+ }
175
+
176
+ textreport wps "Work packages" {
177
+ textreport wp1 "Work package 1" {
178
+ formats html
179
+ center '<[report id="wp1"]>'
180
+ }
181
+
182
+ textreport wp2 "Work package 2" {
183
+ formats html
184
+ center '<[report id="wp2"]>'
185
+ }
186
+ }
187
+
188
+ textreport "Deliveries" {
189
+ formats html
190
+ center '<[report id="deliveries"]>'
191
+ }
192
+
193
+ textreport "ContactList" {
194
+ formats html
195
+ title "Contact List"
196
+ center '<[report id="contactList"]>'
197
+ }
198
+ textreport "ResourceGraph" {
199
+ formats html
200
+ title "Resource Graph"
201
+ center '<[report id="resourceGraph"]>'
202
+ }
203
+ }
204
+
205
+ # A traditional Gantt chart with a project overview.
206
+ taskreport overview "" {
207
+ header -8<-
208
+ === Project Overview ===
209
+
210
+ The project is structured into 2 work packages.
211
+
212
+ # Specification
213
+ # <-reportlink id='frame.wps.wp1'->
214
+ # <-reportlink id='frame.wps.wp2'->
215
+ # Testing
216
+
217
+ === Original Project Plan ===
218
+ ->8-
219
+ columns bsi { title 'WBS' },
220
+ name, start, end, effort, cost,
221
+ revenue, chart { ${TaskTip} }
222
+ # For this report we like to have the abbreviated weekday in front
223
+ # of the date. %a is the tag for this.
224
+ timeformat "%a %Y-%m-%d"
225
+ loadunit days
226
+ hideresource 1
227
+ balance cost rev
228
+ caption 'All effort values are in man days.'
229
+
230
+ footer -8<-
231
+ === Staffing ===
232
+
233
+ All project phases are properly staffed. See [[ResourceGraph]] for
234
+ detailed resource allocations.
235
+
236
+ === Current Status ===
237
+
238
+ Some blurb about the current situation.
239
+ ->8-
240
+ }
241
+
242
+ # Macro to set the background color of a cell according to the alert
243
+ # level of the task.
244
+ macro AlertColor [
245
+ cellcolor plan.alert = 0 "#00D000" # green
246
+ cellcolor plan.alert = 1 "#D0D000" # yellow
247
+ cellcolor plan.alert = 2 "#D00000" # red
248
+ ]
249
+
250
+ taskreport status "" {
251
+ columns bsi { width 50 title 'WBS' }, name { width 150 },
252
+ start { width 100 }, end { width 100 },
253
+ effort { width 100 },
254
+ alert { tooltip plan.journal
255
+ != '' "<-query attribute='journal'->" width 150 },
256
+ status { width 150 }
257
+
258
+ taskreport dashboard "" {
259
+ headline "Project Dashboard (<-query attribute='now'->)"
260
+ columns name { title "Task" ${AlertColor} width 200},
261
+ resources { width 200 ${AlertColor}
262
+ listtype bullets
263
+ listitem "<-query attribute='name'->"
264
+ start ${projectstart} end ${projectend} },
265
+ alerttrend { title "Trend" ${AlertColor} width 50 },
266
+ journal { width 350 ${AlertColor} }
267
+ journalmode status_up
268
+ journalattributes headline, author, date, summary, details
269
+ hidetask ~hasalert(0)
270
+ sorttasks alert.down, plan.end.up
271
+ period %{${now} - 1w} +1w
272
+ }
273
+ taskreport completed "" {
274
+ headline "Already completed tasks"
275
+ hidetask ~(plan.end <= ${now})
276
+ }
277
+ taskreport ongoing "" {
278
+ headline "Ongoing tasks"
279
+ hidetask ~((plan.start <= ${now}) & (plan.end > ${now}))
280
+ }
281
+ taskreport future "" {
282
+ headline "Future tasks"
283
+ hidetask ~(plan.start > ${now})
284
+ }
285
+ }
286
+
287
+ # A list of tasks showing the resources assigned to each task.
288
+ taskreport wp1 "" {
289
+ headline "Work package 1 - Resource Allocation Report"
290
+ columns bsi { title 'WBS' }, name, start, end, effort { title "Work" },
291
+ duration, chart { ${TaskTip} scale day width 500 }
292
+ timeformat "%Y-%m-%d"
293
+ hideresource ~(isleaf() & isleaf_())
294
+ sortresources name.up
295
+ taskroot project.wp1
296
+ }
297
+ # A list of tasks showing the resources assigned to each task.
298
+ taskreport wp2 "" {
299
+ headline "Work package 2 - Resource Allocation Report"
300
+ columns bsi { title 'WBS' }, name, start, end, effort { title "Work" },
301
+ duration, chart { ${TaskTip} scale day width 500 }
302
+ timeformat "%Y-%m-%d"
303
+ hideresource ~(isleaf() & isleaf_())
304
+ sortresources name.up
305
+ taskroot project.wp2
306
+ }
307
+
308
+ # A list of all tasks with the percentage completed for each task
309
+ taskreport deliveries "" {
310
+ headline "Project Deliverables"
311
+ columns bsi { title 'WBS' }, name, start, end, note { width 150 }, complete,
312
+ chart { ${TaskTip} }
313
+ taskroot project.deliveries
314
+ hideresource 1
315
+ }
316
+ # A list of all employees with their contact details.
317
+ resourcereport contactList "" {
318
+ headline "Contact list and duty plan"
319
+ columns name,
320
+ email { celltext 1 "[mailto:<-email-> <-email->]" },
321
+ managers { title "Manager" },
322
+ chart { scale day }
323
+ hideresource ~isleaf()
324
+ sortresources name.up
325
+ hidetask 1
326
+ }
327
+
328
+ # A graph showing resource allocation. It identifies whether each
329
+ # resource is under- or over-allocated for.
330
+ resourcereport resourceGraph "" {
331
+ headline "Resource Allocation Graph"
332
+ columns no, name, effort, rate, weekly { ${TaskTip} }
333
+ loadunit shortauto
334
+ # We only like to show leaf tasks for leaf resources.
335
+ hidetask ~(isleaf() & isleaf_())
336
+ sorttasks plan.start.up
337
+ }
338
+
@@ -0,0 +1,84 @@
1
+ project "My TODO List" 2011-01-01 +5y {
2
+ # The now date is only set to keep the reports constant. In a real
3
+ # list you would _not_ set a now date.
4
+ now 2011-12-20
5
+ }
6
+
7
+ task "Arrents" {
8
+ priority 5
9
+
10
+ task "By some milk" {
11
+ end 2011-12-13
12
+ complete 100
13
+ priority 7
14
+ }
15
+ task "Pickup Jacket from dry cleaner" {
16
+ end 2011-12-18
17
+ complete 0
18
+ note "Smith Dry Cleaners"
19
+ }
20
+ task "Buy present for wife" {
21
+ end 2011-12-23
22
+ note "Have a good idea first"
23
+ journalentry 2011-12-10 "Maybe a ring?"
24
+ journalentry 2011-12-14 "Too expensive. Some book?"
25
+ }
26
+ }
27
+ task "Long term projects" {
28
+ priority 3
29
+
30
+ task "Buy new car" {
31
+ end 2011-05-11
32
+ complete 100
33
+ priority 6
34
+ }
35
+ task "Build boat" {
36
+ end 2013-04-01
37
+ complete 42
38
+ }
39
+ }
40
+
41
+ macro cellcol [
42
+ cellcolor (plan.end < ${now}) & (plan.gauge = "behind schedule") "#FF0000"
43
+ cellcolor plan.gauge = "behind schedule" "#FFFF00"
44
+ ]
45
+
46
+ navigator navbar
47
+
48
+ textreport frame "" {
49
+ formats html
50
+ header -8<-
51
+ == My ToDo List for ${today} ==
52
+ <[navigator id="navbar"]>
53
+ ->8-
54
+ footer "----"
55
+
56
+ columns name,
57
+ end { title "Due Date" ${cellcol} },
58
+ complete,
59
+ priority,
60
+ note,
61
+ journal { celltext 1 ""
62
+ tooltip 1 "<-query attribute='journal'->"
63
+ width 70 }
64
+
65
+ taskreport "TODOs due today" {
66
+ hidetask (plan.complete >= 100) | (plan.end > %{${now} +1d})
67
+ journalattributes date, headline, summary, details
68
+ }
69
+ taskreport "TODOs due within a week" {
70
+ hidetask (plan.complete >= 100) | (plan.end > %{${now} +1w})
71
+ journalattributes date, headline, summary, details
72
+ }
73
+ taskreport "All open TODOs" {
74
+ hidetask plan.complete >= 100
75
+ journalattributes date, headline, summary, details
76
+ }
77
+
78
+ taskreport "Completed TODOs" {
79
+ hidetask plan.complete < 100
80
+ }
81
+
82
+ purge formats
83
+ }
84
+
@@ -260,7 +260,7 @@ task AcSo "Accounting Software" {
260
260
 
261
261
  task prev "Technology Preview" {
262
262
  depends !!software.backend
263
- startcredit 31000.0
263
+ charge 31000.0 onstart
264
264
  note "All '''major''' features should be usable."
265
265
  }
266
266
 
@@ -371,8 +371,8 @@ taskreport overview "" {
371
371
 
372
372
  === Original Project Plan ===
373
373
  ->8-
374
- columns hierarchindex,
375
- name, start, end, effort, duration, cost,
374
+ columns bsi { title 'WBS' },
375
+ name, start, end, effort, cost,
376
376
  revenue, chart { ${TaskTip} }
377
377
  # For this report we like to have the abbreviated weekday in front
378
378
  # of the date. %a is the tag for this.
@@ -405,7 +405,7 @@ macro AlertColor [
405
405
  ]
406
406
 
407
407
  taskreport status "" {
408
- columns wbs { width 50 }, name { width 150 },
408
+ columns bsi { width 50 title 'WBS' }, name { width 150 },
409
409
  start { width 100 }, end { width 100 },
410
410
  effort { width 100 },
411
411
  alert { tooltip plan.journal
@@ -421,7 +421,9 @@ taskreport status "" {
421
421
  listitem "<-query attribute='name'->"
422
422
  start ${projectstart} end ${projectend} },
423
423
  alerttrend { title "Trend" ${AlertColor} width 50 },
424
- journalmessages { width 350 ${AlertColor} }
424
+ journal { width 350 ${AlertColor} }
425
+ journalmode status_up
426
+ journalattributes headline, author, date, summary, details
425
427
  hidetask ~hasalert(0)
426
428
  sorttasks alert.down, delayed.end.up
427
429
  period %{${now} - 1w} +1w
@@ -444,7 +446,7 @@ taskreport status "" {
444
446
  taskreport development "" {
445
447
  scenarios delayed
446
448
  headline "Development - Resource Allocation Report"
447
- columns hierarchindex, name, start, end, effort { title "Work" },
449
+ columns bsi { title 'WBS' }, name, start, end, effort { title "Work" },
448
450
  duration, chart { ${TaskTip} scale day width 500 }
449
451
  timeformat "%Y-%m-%d"
450
452
  hideresource ~(isleaf() & isleaf_())
@@ -454,7 +456,7 @@ taskreport development "" {
454
456
  # A list of all tasks with the percentage completed for each task
455
457
  taskreport deliveries "" {
456
458
  headline "Project Deliverables"
457
- columns hierarchindex, name, start, end, note { width 150 }, complete,
459
+ columns bsi { title 'WBS' }, name, start, end, note { width 150 }, complete,
458
460
  chart { ${TaskTip} }
459
461
  taskroot AcSo.deliveries
460
462
  hideresource 1