taskjuggler 3.0.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
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