taskjuggler 3.5.0 → 3.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (547) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG +31 -0
  3. data/COPYING +72 -13
  4. data/README.rdoc +8 -8
  5. data/bin/tj3 +1 -1
  6. data/bin/tj3client +1 -1
  7. data/bin/tj3d +1 -1
  8. data/bin/tj3man +1 -1
  9. data/bin/tj3ss_receiver +1 -1
  10. data/bin/tj3ss_sender +1 -1
  11. data/bin/tj3ts_receiver +1 -1
  12. data/bin/tj3ts_sender +1 -1
  13. data/bin/tj3ts_summary +1 -1
  14. data/bin/tj3webd +1 -1
  15. data/data/tjp.vim +13 -5
  16. data/examples/Fedora-20/f-20.tjp +15 -15
  17. data/examples/ProjectTemplate/template.tjp +2 -2
  18. data/lib/header.tmpl +2 -2
  19. data/lib/taskjuggler/Account.rb +2 -2
  20. data/lib/taskjuggler/AccountCredit.rb +2 -2
  21. data/lib/taskjuggler/AccountScenario.rb +2 -2
  22. data/lib/taskjuggler/AlertLevelDefinitions.rb +2 -2
  23. data/lib/taskjuggler/AlgorithmDiff.rb +4 -4
  24. data/lib/taskjuggler/Allocation.rb +2 -2
  25. data/lib/taskjuggler/AppConfig.rb +3 -3
  26. data/lib/taskjuggler/AttributeBase.rb +12 -4
  27. data/lib/taskjuggler/AttributeDefinition.rb +2 -2
  28. data/lib/taskjuggler/Attributes.rb +3 -3
  29. data/lib/taskjuggler/BatchProcessor.rb +2 -2
  30. data/lib/taskjuggler/Booking.rb +2 -2
  31. data/lib/taskjuggler/Charge.rb +2 -2
  32. data/lib/taskjuggler/ChargeSet.rb +2 -2
  33. data/lib/taskjuggler/DataCache.rb +2 -2
  34. data/lib/taskjuggler/FileList.rb +2 -2
  35. data/lib/taskjuggler/HTMLDocument.rb +2 -2
  36. data/lib/taskjuggler/HTMLElements.rb +3 -3
  37. data/lib/taskjuggler/ICalendar.rb +2 -2
  38. data/lib/taskjuggler/Interval.rb +2 -2
  39. data/lib/taskjuggler/IntervalList.rb +2 -2
  40. data/lib/taskjuggler/Journal.rb +2 -2
  41. data/lib/taskjuggler/KateSyntax.rb +2 -2
  42. data/lib/taskjuggler/KeywordArray.rb +2 -2
  43. data/lib/taskjuggler/KeywordDocumentation.rb +55 -33
  44. data/lib/taskjuggler/LeaveList.rb +4 -3
  45. data/lib/taskjuggler/Limits.rb +2 -2
  46. data/lib/taskjuggler/Log.rb +2 -2
  47. data/lib/taskjuggler/LogicalExpression.rb +2 -2
  48. data/lib/taskjuggler/LogicalFunction.rb +15 -3
  49. data/lib/taskjuggler/LogicalOperation.rb +15 -10
  50. data/lib/taskjuggler/MessageHandler.rb +2 -2
  51. data/lib/taskjuggler/PTNProxy.rb +2 -2
  52. data/lib/taskjuggler/Painter.rb +2 -2
  53. data/lib/taskjuggler/Project.rb +8 -2
  54. data/lib/taskjuggler/ProjectFileParser.rb +3 -3
  55. data/lib/taskjuggler/ProjectFileScanner.rb +2 -2
  56. data/lib/taskjuggler/PropertyList.rb +8 -15
  57. data/lib/taskjuggler/PropertySet.rb +6 -2
  58. data/lib/taskjuggler/PropertyTreeNode.rb +20 -2
  59. data/lib/taskjuggler/Query.rb +9 -4
  60. data/lib/taskjuggler/RealFormat.rb +2 -2
  61. data/lib/taskjuggler/Resource.rb +2 -2
  62. data/lib/taskjuggler/ResourceScenario.rb +45 -33
  63. data/lib/taskjuggler/RichText.rb +2 -2
  64. data/lib/taskjuggler/RichText/Document.rb +2 -2
  65. data/lib/taskjuggler/RichText/Element.rb +2 -2
  66. data/lib/taskjuggler/RichText/FunctionExample.rb +2 -2
  67. data/lib/taskjuggler/RichText/FunctionHandler.rb +2 -2
  68. data/lib/taskjuggler/RichText/Parser.rb +2 -2
  69. data/lib/taskjuggler/RichText/RTFHandlers.rb +2 -2
  70. data/lib/taskjuggler/RichText/RTFNavigator.rb +2 -2
  71. data/lib/taskjuggler/RichText/RTFQuery.rb +2 -2
  72. data/lib/taskjuggler/RichText/RTFReport.rb +2 -2
  73. data/lib/taskjuggler/RichText/RTFReportLink.rb +2 -2
  74. data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +2 -2
  75. data/lib/taskjuggler/RichText/Scanner.rb +2 -2
  76. data/lib/taskjuggler/RichText/Snip.rb +2 -2
  77. data/lib/taskjuggler/RichText/SyntaxRules.rb +2 -2
  78. data/lib/taskjuggler/RichText/TOCEntry.rb +2 -2
  79. data/lib/taskjuggler/RichText/TableOfContents.rb +2 -2
  80. data/lib/taskjuggler/RuntimeConfig.rb +4 -4
  81. data/lib/taskjuggler/Scenario.rb +2 -2
  82. data/lib/taskjuggler/ScenarioData.rb +2 -2
  83. data/lib/taskjuggler/Scoreboard.rb +2 -2
  84. data/lib/taskjuggler/SheetHandlerBase.rb +3 -3
  85. data/lib/taskjuggler/SheetReceiver.rb +2 -2
  86. data/lib/taskjuggler/SheetSender.rb +2 -2
  87. data/lib/taskjuggler/Shift.rb +2 -2
  88. data/lib/taskjuggler/ShiftAssignments.rb +2 -2
  89. data/lib/taskjuggler/ShiftScenario.rb +2 -2
  90. data/lib/taskjuggler/SimpleQueryExpander.rb +2 -2
  91. data/lib/taskjuggler/StatusSheetReceiver.rb +2 -2
  92. data/lib/taskjuggler/StatusSheetSender.rb +4 -4
  93. data/lib/taskjuggler/StdIoWrapper.rb +2 -2
  94. data/lib/taskjuggler/SyntaxReference.rb +3 -3
  95. data/lib/taskjuggler/TableColumnDefinition.rb +2 -2
  96. data/lib/taskjuggler/TableColumnSorter.rb +2 -2
  97. data/lib/taskjuggler/Task.rb +2 -2
  98. data/lib/taskjuggler/TaskDependency.rb +2 -2
  99. data/lib/taskjuggler/TaskJuggler.rb +3 -4
  100. data/lib/taskjuggler/TaskScenario.rb +138 -60
  101. data/lib/taskjuggler/TernarySearchTree.rb +2 -2
  102. data/lib/taskjuggler/TextFormatter.rb +2 -2
  103. data/lib/taskjuggler/TextParser.rb +2 -2
  104. data/lib/taskjuggler/TextParser/MacroTable.rb +2 -2
  105. data/lib/taskjuggler/TextParser/Pattern.rb +2 -2
  106. data/lib/taskjuggler/TextParser/Rule.rb +2 -2
  107. data/lib/taskjuggler/TextParser/Scanner.rb +3 -3
  108. data/lib/taskjuggler/TextParser/SourceFileInfo.rb +2 -2
  109. data/lib/taskjuggler/TextParser/StackElement.rb +2 -2
  110. data/lib/taskjuggler/TextParser/State.rb +2 -2
  111. data/lib/taskjuggler/TextParser/TokenDoc.rb +2 -2
  112. data/lib/taskjuggler/TimeSheetReceiver.rb +2 -2
  113. data/lib/taskjuggler/TimeSheetSender.rb +2 -2
  114. data/lib/taskjuggler/TimeSheetSummary.rb +3 -3
  115. data/lib/taskjuggler/TimeSheets.rb +2 -2
  116. data/lib/taskjuggler/Tj3AppBase.rb +2 -2
  117. data/lib/taskjuggler/Tj3Config.rb +5 -5
  118. data/lib/taskjuggler/Tj3SheetAppBase.rb +2 -2
  119. data/lib/taskjuggler/TjException.rb +2 -2
  120. data/lib/taskjuggler/TjTime.rb +2 -2
  121. data/lib/taskjuggler/TjpExample.rb +2 -2
  122. data/lib/taskjuggler/TjpSyntaxRules.rb +206 -52
  123. data/lib/taskjuggler/URLParameter.rb +2 -2
  124. data/lib/taskjuggler/UTF8String.rb +2 -2
  125. data/lib/taskjuggler/UserManual.rb +3 -2
  126. data/lib/taskjuggler/VimSyntax.rb +4 -4
  127. data/lib/taskjuggler/WorkingHours.rb +2 -2
  128. data/lib/taskjuggler/XMLDocument.rb +2 -2
  129. data/lib/taskjuggler/XMLElement.rb +2 -2
  130. data/lib/taskjuggler/apps/Tj3.rb +2 -2
  131. data/lib/taskjuggler/apps/Tj3Client.rb +2 -2
  132. data/lib/taskjuggler/apps/Tj3Daemon.rb +7 -3
  133. data/lib/taskjuggler/apps/Tj3Man.rb +3 -3
  134. data/lib/taskjuggler/apps/Tj3SsReceiver.rb +2 -2
  135. data/lib/taskjuggler/apps/Tj3SsSender.rb +2 -2
  136. data/lib/taskjuggler/apps/Tj3TsReceiver.rb +2 -2
  137. data/lib/taskjuggler/apps/Tj3TsSender.rb +2 -2
  138. data/lib/taskjuggler/apps/Tj3TsSummary.rb +2 -2
  139. data/lib/taskjuggler/apps/Tj3WebD.rb +7 -3
  140. data/lib/taskjuggler/daemon/Daemon.rb +2 -2
  141. data/lib/taskjuggler/daemon/DaemonConnector.rb +2 -2
  142. data/lib/taskjuggler/daemon/ProcessIntercom.rb +4 -3
  143. data/lib/taskjuggler/daemon/ProjectBroker.rb +2 -2
  144. data/lib/taskjuggler/daemon/ProjectServer.rb +2 -2
  145. data/lib/taskjuggler/daemon/ReportServer.rb +2 -2
  146. data/lib/taskjuggler/daemon/ReportServlet.rb +22 -11
  147. data/lib/taskjuggler/daemon/WebServer.rb +2 -2
  148. data/lib/taskjuggler/daemon/WelcomePage.rb +2 -2
  149. data/lib/taskjuggler/deep_copy.rb +2 -2
  150. data/lib/taskjuggler/reports/AccountListRE.rb +2 -2
  151. data/lib/taskjuggler/reports/CSVFile.rb +2 -2
  152. data/lib/taskjuggler/reports/ChartPlotter.rb +2 -2
  153. data/lib/taskjuggler/reports/CollisionDetector.rb +2 -2
  154. data/lib/taskjuggler/reports/ColumnTable.rb +2 -2
  155. data/lib/taskjuggler/reports/ExportRE.rb +2 -2
  156. data/lib/taskjuggler/reports/GanttChart.rb +2 -2
  157. data/lib/taskjuggler/reports/GanttContainer.rb +2 -2
  158. data/lib/taskjuggler/reports/GanttHeader.rb +2 -2
  159. data/lib/taskjuggler/reports/GanttHeaderScaleItem.rb +2 -2
  160. data/lib/taskjuggler/reports/GanttLine.rb +8 -5
  161. data/lib/taskjuggler/reports/GanttLoadStack.rb +2 -2
  162. data/lib/taskjuggler/reports/GanttMilestone.rb +2 -2
  163. data/lib/taskjuggler/reports/GanttRouter.rb +2 -2
  164. data/lib/taskjuggler/reports/GanttTaskBar.rb +2 -2
  165. data/lib/taskjuggler/reports/HTMLGraphics.rb +2 -2
  166. data/lib/taskjuggler/reports/ICalReport.rb +2 -2
  167. data/lib/taskjuggler/reports/MspXmlRE.rb +6 -3
  168. data/lib/taskjuggler/reports/Navigator.rb +2 -2
  169. data/lib/taskjuggler/reports/NikuReport.rb +2 -2
  170. data/lib/taskjuggler/reports/Report.rb +6 -6
  171. data/lib/taskjuggler/reports/ReportBase.rb +2 -2
  172. data/lib/taskjuggler/reports/ReportContext.rb +2 -2
  173. data/lib/taskjuggler/reports/ReportTable.rb +2 -2
  174. data/lib/taskjuggler/reports/ReportTableCell.rb +2 -2
  175. data/lib/taskjuggler/reports/ReportTableColumn.rb +2 -2
  176. data/lib/taskjuggler/reports/ReportTableLegend.rb +2 -2
  177. data/lib/taskjuggler/reports/ReportTableLine.rb +2 -2
  178. data/lib/taskjuggler/reports/ResourceListRE.rb +2 -2
  179. data/lib/taskjuggler/reports/StatusSheetReport.rb +2 -2
  180. data/lib/taskjuggler/reports/TableReport.rb +22 -19
  181. data/lib/taskjuggler/reports/TableReportColumn.rb +2 -2
  182. data/lib/taskjuggler/reports/TagFile.rb +2 -2
  183. data/lib/taskjuggler/reports/TaskListRE.rb +2 -2
  184. data/lib/taskjuggler/reports/TextReport.rb +2 -2
  185. data/lib/taskjuggler/reports/TimeSheetReport.rb +2 -2
  186. data/lib/taskjuggler/reports/TjpExportRE.rb +2 -2
  187. data/lib/taskjuggler/reports/TraceReport.rb +3 -3
  188. data/lib/tj3.rb +2 -2
  189. data/lib/tj3client.rb +2 -2
  190. data/lib/tj3d.rb +2 -2
  191. data/lib/tj3man.rb +2 -2
  192. data/lib/tj3ss_receiver.rb +2 -2
  193. data/lib/tj3ss_sender.rb +2 -2
  194. data/lib/tj3ts_receiver.rb +2 -2
  195. data/lib/tj3ts_sender.rb +2 -2
  196. data/lib/tj3ts_summary.rb +2 -2
  197. data/lib/tj3webd.rb +2 -2
  198. data/manual/Day_To_Day_Juggling +7 -7
  199. data/manual/Getting_Started +2 -2
  200. data/manual/Installation +4 -4
  201. data/manual/Intro +1 -1
  202. data/manual/List_Attributes +45 -0
  203. data/manual/Rich_Text_Attributes +5 -5
  204. data/manual/Software +1 -1
  205. data/manual/TaskJuggler_2x_Migration +2 -2
  206. data/manual/html/Day_To_Day_Juggling.html +9 -9
  207. data/manual/html/Getting_Started.html +3 -3
  208. data/manual/html/How_To_Contribute.html +2 -2
  209. data/manual/html/Installation.html +6 -6
  210. data/manual/html/Intro.html +3 -3
  211. data/manual/html/List_Attributes.html +76 -0
  212. data/manual/html/Reporting_Bugs.html +2 -2
  213. data/manual/html/Rich_Text_Attributes.html +9 -9
  214. data/manual/html/Software.html +5 -5
  215. data/manual/html/TaskJuggler_2x_Migration.html +4 -4
  216. data/manual/html/TaskJuggler_Internals.html +2 -2
  217. data/manual/html/The_TaskJuggler_Syntax.html +2 -2
  218. data/manual/html/Tutorial.html +2 -2
  219. data/manual/html/account.html +5 -3
  220. data/manual/html/account.task.html +5 -3
  221. data/manual/html/accountprefix.html +5 -3
  222. data/manual/html/accountreport.html +5 -3
  223. data/manual/html/accountroot.html +5 -3
  224. data/manual/html/active.html +5 -3
  225. data/manual/html/adopt.task.html +5 -3
  226. data/manual/html/aggregate.html +5 -3
  227. data/manual/html/alert.html +5 -3
  228. data/manual/html/alertlevels.html +5 -3
  229. data/manual/html/allocate.html +6 -3
  230. data/manual/html/alphabet.html +1 -1
  231. data/manual/html/alternative.html +5 -3
  232. data/manual/html/author.html +5 -3
  233. data/manual/html/auxdir.html +5 -3
  234. data/manual/html/auxdir.report.html +5 -3
  235. data/manual/html/balance.html +5 -3
  236. data/manual/html/booking.resource.html +6 -4
  237. data/manual/html/booking.task.html +7 -4
  238. data/manual/html/caption.html +5 -3
  239. data/manual/html/cellcolor.column.html +5 -3
  240. data/manual/html/celltext.column.html +5 -3
  241. data/manual/html/center.html +5 -3
  242. data/manual/html/charge.html +6 -3
  243. data/manual/html/chargeset.html +6 -3
  244. data/manual/html/columnid.html +24 -15
  245. data/manual/html/columns.html +6 -3
  246. data/manual/html/complete.html +5 -3
  247. data/manual/html/copyright.html +5 -3
  248. data/manual/html/credits.html +6 -3
  249. data/manual/html/currency.html +5 -3
  250. data/manual/html/currencyformat.html +5 -3
  251. data/manual/html/dailymax.html +5 -3
  252. data/manual/html/dailymin.html +5 -3
  253. data/manual/html/dailyworkinghours.html +5 -3
  254. data/manual/html/date.extend.html +5 -3
  255. data/manual/html/date.html +5 -3
  256. data/manual/html/definitions.html +5 -3
  257. data/manual/html/depends.html +6 -3
  258. data/manual/html/details.html +5 -3
  259. data/manual/html/disabled.html +5 -3
  260. data/manual/html/duration.html +5 -3
  261. data/manual/html/efficiency.html +5 -3
  262. data/manual/html/effort.html +7 -5
  263. data/manual/html/effortdone.html +105 -0
  264. data/manual/html/effortleft.html +105 -0
  265. data/manual/html/email.html +7 -5
  266. data/manual/html/enabled.html +5 -3
  267. data/manual/html/end.column.html +5 -3
  268. data/manual/html/end.html +5 -3
  269. data/manual/html/end.limit.html +5 -3
  270. data/manual/html/end.report.html +5 -3
  271. data/manual/html/end.timesheet.html +5 -3
  272. data/manual/html/endcredit.html +5 -3
  273. data/manual/html/epilog.html +5 -3
  274. data/manual/html/export.html +5 -3
  275. data/manual/html/extend.html +5 -3
  276. data/manual/html/fail.html +6 -3
  277. data/manual/html/fdl.html +2 -2
  278. data/manual/html/flags.account.html +6 -3
  279. data/manual/html/flags.html +5 -3
  280. data/manual/html/flags.journalentry.html +5 -3
  281. data/manual/html/flags.report.html +6 -3
  282. data/manual/html/flags.resource.html +6 -3
  283. data/manual/html/flags.statussheet.html +5 -3
  284. data/manual/html/flags.task.html +6 -3
  285. data/manual/html/flags.timesheet.html +5 -3
  286. data/manual/html/fontcolor.column.html +5 -3
  287. data/manual/html/footer.html +5 -3
  288. data/manual/html/formats.export.html +6 -4
  289. data/manual/html/formats.html +6 -3
  290. data/manual/html/functions.html +5 -3
  291. data/manual/html/gapduration.html +6 -4
  292. data/manual/html/gaplength.html +6 -4
  293. data/manual/html/halign.center.html +5 -3
  294. data/manual/html/halign.column.html +5 -3
  295. data/manual/html/halign.left.html +5 -3
  296. data/manual/html/halign.right.html +5 -3
  297. data/manual/html/hasalert.html +5 -3
  298. data/manual/html/header.html +5 -3
  299. data/manual/html/headline.html +5 -3
  300. data/manual/html/height.html +5 -3
  301. data/manual/html/hideaccount.html +5 -3
  302. data/manual/html/hidejournalentry.html +5 -3
  303. data/manual/html/hidereport.html +5 -3
  304. data/manual/html/hideresource.html +5 -3
  305. data/manual/html/hidetask.html +5 -3
  306. data/manual/html/icalreport.html +5 -3
  307. data/manual/html/include.macro.html +5 -3
  308. data/manual/html/include.project.html +5 -3
  309. data/manual/html/include.properties.html +5 -3
  310. data/manual/html/index.html +1 -1
  311. data/manual/html/inherit.extend.html +5 -3
  312. data/manual/html/interval1.html +5 -3
  313. data/manual/html/interval2.html +5 -3
  314. data/manual/html/interval3.html +5 -3
  315. data/manual/html/interval4.html +5 -3
  316. data/manual/html/isactive.html +5 -3
  317. data/manual/html/ischildof.html +5 -3
  318. data/manual/html/isdependencyof.html +5 -3
  319. data/manual/html/isdutyof.html +5 -3
  320. data/manual/html/isfeatureof.html +5 -3
  321. data/manual/html/isleaf.html +5 -3
  322. data/manual/html/ismilestone.html +5 -3
  323. data/manual/html/isongoing.html +5 -3
  324. data/manual/html/isresource.html +5 -3
  325. data/manual/html/isresponsibilityof.html +5 -3
  326. data/manual/html/istask.html +5 -3
  327. data/manual/html/isvalid.html +5 -3
  328. data/manual/html/journalattributes.html +5 -3
  329. data/manual/html/journalentry.html +5 -3
  330. data/manual/html/journalmode.html +5 -3
  331. data/manual/html/leaveallowance.html +5 -3
  332. data/manual/html/leaves.html +13 -6
  333. data/manual/html/left.html +5 -3
  334. data/manual/html/length.html +5 -3
  335. data/manual/html/limits.allocate.html +5 -3
  336. data/manual/html/limits.html +5 -3
  337. data/manual/html/limits.resource.html +5 -3
  338. data/manual/html/limits.task.html +5 -3
  339. data/manual/html/listitem.column.html +5 -3
  340. data/manual/html/listtype.column.html +5 -3
  341. data/manual/html/loadunit.html +5 -3
  342. data/manual/html/logicalexpression.html +6 -4
  343. data/manual/html/logicalflagexpression.html +5 -3
  344. data/manual/html/macro.html +5 -3
  345. data/manual/html/managers.html +6 -3
  346. data/manual/html/mandatory.html +5 -3
  347. data/manual/html/maxend.html +5 -3
  348. data/manual/html/maximum.html +5 -3
  349. data/manual/html/maxstart.html +5 -3
  350. data/manual/html/milestone.html +5 -3
  351. data/manual/html/minend.html +5 -3
  352. data/manual/html/minimum.html +5 -3
  353. data/manual/html/minstart.html +5 -3
  354. data/manual/html/monthlymax.html +5 -3
  355. data/manual/html/monthlymin.html +5 -3
  356. data/manual/html/navbar.html +7 -1
  357. data/manual/html/navigator.html +5 -3
  358. data/manual/html/newtask.html +5 -3
  359. data/manual/html/nikureport.html +5 -3
  360. data/manual/html/note.task.html +5 -3
  361. data/manual/html/now.html +5 -3
  362. data/manual/html/number.extend.html +5 -3
  363. data/manual/html/numberformat.html +5 -3
  364. data/manual/html/onend.html +5 -3
  365. data/manual/html/onstart.html +5 -3
  366. data/manual/html/opennodes.html +5 -3
  367. data/manual/html/outputdir.html +5 -3
  368. data/manual/html/overtime.booking.html +5 -3
  369. data/manual/html/period.column.html +5 -3
  370. data/manual/html/period.limit.html +5 -3
  371. data/manual/html/period.report.html +5 -3
  372. data/manual/html/period.task.html +5 -3
  373. data/manual/html/persistent.html +5 -3
  374. data/manual/html/precedes.html +6 -3
  375. data/manual/html/priority.html +5 -3
  376. data/manual/html/priority.timesheet.html +5 -3
  377. data/manual/html/project.html +5 -3
  378. data/manual/html/projectid.html +5 -3
  379. data/manual/html/projectid.task.html +5 -3
  380. data/manual/html/projectids.html +5 -3
  381. data/manual/html/projection.html +5 -3
  382. data/manual/html/prolog.html +5 -3
  383. data/manual/html/properties.html +5 -3
  384. data/manual/html/purge.html +5 -3
  385. data/manual/html/rate.html +5 -3
  386. data/manual/html/rate.resource.html +5 -3
  387. data/manual/html/rawhtmlhead.html +5 -3
  388. data/manual/html/reference.extend.html +5 -3
  389. data/manual/html/remaining.html +5 -3
  390. data/manual/html/replace.html +5 -3
  391. data/manual/html/reportprefix.html +5 -3
  392. data/manual/html/resource.html +5 -3
  393. data/manual/html/resourceattributes.html +5 -3
  394. data/manual/html/resourceprefix.html +5 -3
  395. data/manual/html/resourcereport.html +5 -3
  396. data/manual/html/resourceroot.html +5 -3
  397. data/manual/html/resources.limit.html +5 -3
  398. data/manual/html/responsible.html +6 -3
  399. data/manual/html/richtext.extend.html +5 -3
  400. data/manual/html/right.html +5 -3
  401. data/manual/html/rollupaccount.html +5 -3
  402. data/manual/html/rollupresource.html +5 -3
  403. data/manual/html/rolluptask.html +5 -3
  404. data/manual/html/scale.column.html +5 -3
  405. data/manual/html/scenario.html +5 -3
  406. data/manual/html/scenario.ical.html +5 -3
  407. data/manual/html/scenarios.export.html +5 -3
  408. data/manual/html/scenarios.html +6 -3
  409. data/manual/html/scenariospecific.extend.html +5 -3
  410. data/manual/html/scheduled.html +6 -4
  411. data/manual/html/scheduling.html +7 -5
  412. data/manual/html/schedulingmode.html +74 -0
  413. data/manual/html/select.html +7 -5
  414. data/manual/html/selfcontained.html +5 -3
  415. data/manual/html/shift.allocate.html +5 -3
  416. data/manual/html/shift.html +5 -3
  417. data/manual/html/shift.resource.html +5 -3
  418. data/manual/html/shift.task.html +5 -3
  419. data/manual/html/shift.timesheet.html +5 -3
  420. data/manual/html/shifts.allocate.html +5 -3
  421. data/manual/html/shifts.resource.html +5 -3
  422. data/manual/html/shifts.task.html +6 -4
  423. data/manual/html/shorttimeformat.html +5 -3
  424. data/manual/html/sloppy.booking.html +5 -3
  425. data/manual/html/sloppy.projection.html +5 -3
  426. data/manual/html/sortaccounts.html +6 -4
  427. data/manual/html/sortjournalentries.html +5 -3
  428. data/manual/html/sortresources.html +6 -4
  429. data/manual/html/sorttasks.html +6 -4
  430. data/manual/html/start.column.html +5 -3
  431. data/manual/html/start.html +5 -3
  432. data/manual/html/start.limit.html +5 -3
  433. data/manual/html/start.report.html +5 -3
  434. data/manual/html/startcredit.html +5 -3
  435. data/manual/html/status.statussheet.html +5 -3
  436. data/manual/html/status.timesheet.html +5 -3
  437. data/manual/html/statussheet.html +5 -3
  438. data/manual/html/statussheetreport.html +5 -3
  439. data/manual/html/strict.projection.html +5 -3
  440. data/manual/html/summary.html +5 -3
  441. data/manual/html/supplement.html +5 -3
  442. data/manual/html/supplement.resource.html +5 -3
  443. data/manual/html/supplement.task.html +24 -4
  444. data/manual/html/tagfile.html +5 -3
  445. data/manual/html/task.html +24 -4
  446. data/manual/html/task.statussheet.html +5 -3
  447. data/manual/html/task.timesheet.html +5 -3
  448. data/manual/html/taskattributes.html +5 -3
  449. data/manual/html/taskprefix.html +5 -3
  450. data/manual/html/taskreport.html +5 -3
  451. data/manual/html/taskroot.export.html +5 -3
  452. data/manual/html/taskroot.html +5 -3
  453. data/manual/html/text.extend.html +5 -3
  454. data/manual/html/textreport.html +5 -3
  455. data/manual/html/timeformat.html +5 -3
  456. data/manual/html/timeformat1.html +5 -3
  457. data/manual/html/timeformat2.html +5 -3
  458. data/manual/html/timeoff.nikureport.html +5 -3
  459. data/manual/html/timesheet.html +5 -3
  460. data/manual/html/timesheetreport.html +5 -3
  461. data/manual/html/timezone.export.html +5 -3
  462. data/manual/html/timezone.html +5 -3
  463. data/manual/html/timezone.report.html +5 -3
  464. data/manual/html/timezone.shift.html +5 -3
  465. data/manual/html/timingresolution.html +5 -3
  466. data/manual/html/title.column.html +5 -3
  467. data/manual/html/title.html +5 -3
  468. data/manual/html/toc.html +251 -223
  469. data/manual/html/tooltip.column.html +5 -3
  470. data/manual/html/tracereport.html +6 -3
  471. data/manual/html/trackingscenario.html +5 -3
  472. data/manual/html/treelevel.html +5 -3
  473. data/manual/html/vacation.html +5 -3
  474. data/manual/html/vacation.resource.html +5 -3
  475. data/manual/html/vacation.shift.html +5 -3
  476. data/manual/html/warn.html +6 -3
  477. data/manual/html/weeklymax.html +5 -3
  478. data/manual/html/weeklymin.html +5 -3
  479. data/manual/html/weekstartsmonday.html +5 -3
  480. data/manual/html/weekstartssunday.html +5 -3
  481. data/manual/html/width.column.html +5 -3
  482. data/manual/html/width.html +5 -3
  483. data/manual/html/work.html +5 -3
  484. data/manual/html/workinghours.project.html +5 -3
  485. data/manual/html/workinghours.resource.html +5 -3
  486. data/manual/html/workinghours.shift.html +5 -3
  487. data/manual/html/yearlyworkingdays.html +5 -3
  488. data/spec/Color_spec.rb +6 -2
  489. data/spec/ICalendar_spec.rb +6 -2
  490. data/spec/IntervalList_spec.rb +7 -3
  491. data/spec/ProjectBroker_spec.rb +6 -2
  492. data/spec/StatusSheets_spec.rb +6 -2
  493. data/spec/TableColumnSorter_spec.rb +6 -2
  494. data/spec/TernarySearchTree_spec.rb +8 -4
  495. data/spec/TimeSheets_spec.rb +6 -2
  496. data/spec/Tj3Daemon_spec.rb +6 -2
  497. data/spec/Tj3_spec.rb +6 -2
  498. data/spec/TraceReport_spec.rb +2 -2
  499. data/spec/support/DaemonControl.rb +2 -2
  500. data/spec/support/spec_helper.rb +2 -2
  501. data/taskjuggler.gemspec +1 -1
  502. data/test/MessageChecker.rb +2 -2
  503. data/test/ReferenceGenerator.rb +2 -2
  504. data/test/TestSuite/CSV-Reports/headcount.tjp +1 -0
  505. data/test/TestSuite/ReportGenerator/Correct/JournalMode.tjp +1 -1
  506. data/test/TestSuite/ReportGenerator/Correct/refs/JournalMode-1.csv +9 -9
  507. data/test/TestSuite/ReportGenerator/Correct/refs/JournalMode-2.csv +46 -48
  508. data/test/TestSuite/Scheduler/Correct/Depends.tjp +17 -0
  509. data/test/TestSuite/Scheduler/Correct/Precedes.tjp +17 -0
  510. data/test/TestSuite/Scheduler/Correct/Scheduled.tjp +11 -0
  511. data/test/TestSuite/Scheduler/Correct/SchedulingMode.tjp +45 -0
  512. data/test/TestSuite/{Syntax → Scheduler}/Errors/not_scheduled.tjp +1 -1
  513. data/test/TestSuite/Syntax/Correct/Booking.tjp +1 -1
  514. data/test/TestSuite/Syntax/Correct/ListAttributes.tjp +48 -0
  515. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +1 -1
  516. data/test/TestSuite/Syntax/Errors/working_duration_too_small.tjp +6 -0
  517. data/test/TjpGen.rb +2 -2
  518. data/test/all.rb +2 -2
  519. data/test/test_AlgorithmDiff.rb +2 -2
  520. data/test/test_BatchProcessor.rb +2 -2
  521. data/test/test_CSV-Reports.rb +2 -2
  522. data/test/test_CSVFile.rb +2 -2
  523. data/test/test_CollisionDetector.rb +2 -2
  524. data/test/test_Export-Reports.rb +2 -2
  525. data/test/test_Journal.rb +2 -2
  526. data/test/test_Limits.rb +2 -2
  527. data/test/test_LogicalExpression.rb +2 -2
  528. data/test/test_MacroTable.rb +2 -2
  529. data/test/test_Project.rb +2 -2
  530. data/test/test_ProjectFileScanner.rb +2 -2
  531. data/test/test_PropertySet.rb +2 -2
  532. data/test/test_Query.rb +2 -2
  533. data/test/test_RealFormat.rb +2 -2
  534. data/test/test_ReportGenerator.rb +2 -2
  535. data/test/test_RichText.rb +2 -2
  536. data/test/test_Scheduler.rb +2 -2
  537. data/test/test_ShiftAssignments.rb +2 -2
  538. data/test/test_SimpleQueryExpander.rb +2 -2
  539. data/test/test_Syntax.rb +2 -2
  540. data/test/test_TextFormatter.rb +2 -2
  541. data/test/test_TjTime.rb +2 -2
  542. data/test/test_TjpExample.rb +2 -2
  543. data/test/test_URLParameter.rb +2 -2
  544. data/test/test_UTF8String.rb +2 -2
  545. data/test/test_WorkingHours.rb +2 -2
  546. data/test/test_deep_copy.rb +2 -2
  547. metadata +346 -350
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = TableReportColumn.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = TagFile.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = TaskListRE.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = TextReport.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = TimeSheetReport.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = TjpExportRE.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = TraceReport.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -86,7 +86,7 @@ class TaskJuggler
86
86
  generatePropertyListHeader(taskList, query)
87
87
 
88
88
  discontinuedColumns = 0
89
- if File.exists?(@fileName)
89
+ if File.exist?(@fileName)
90
90
  begin
91
91
  @table = CSVFile.new(nil, nil).read(@fileName)
92
92
  rescue
data/lib/tj3.rb CHANGED
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3client.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3d.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3man.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3ss_receiver.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3ss_sender.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3ts_receiver.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3ts_sender.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3ts_summary.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -3,8 +3,8 @@
3
3
  #
4
4
  # = tj3webd.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
7
- # by Chris Schlaeger <chris@linux.com>
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
7
+ # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
10
10
  # it under the terms of version 2 of the GNU General Public License as
@@ -257,7 +257,7 @@ as HTML pages from a web server.
257
257
 
258
258
  === Implementing the status tracking system ===
259
259
 
260
- ==== Prerequesites ====
260
+ ==== Prerequisites ====
261
261
 
262
262
  The .tjp and .tji files of your project plan should be managed by a
263
263
  revision control system. TaskJuggler does not require a particular
@@ -285,7 +285,7 @@ For the email based communication you need to provide email addresses
285
285
  for all project contributors. This is done in the project plan in the
286
286
  resource definition by using the [[email]] attribute.
287
287
 
288
- resource joe "Joe Avergage" {
288
+ resource joe "Joe Average" {
289
289
  email "joe@your_company.com
290
290
  }
291
291
 
@@ -372,7 +372,7 @@ To test the command without sending out actual emails you can use the
372
372
  directories. A copy of the generated templates will be stored in
373
373
  ''''TimeSheetTemplates/<date>/'''' under
374
374
  ''''<resource_id>-date.tji''''. ''''<date>'''' is replaced with the
375
- end date of the reporting interval and ''''<resoruce_id>'''' is the ID
375
+ end date of the reporting interval and ''''<resource_id>'''' is the ID
376
376
  of the resource.
377
377
 
378
378
  If you re-run the command existing templates will not be regenerated
@@ -380,7 +380,7 @@ nor will they be sent out again. You can use the ''''-f''''
380
380
  command line option to force them to be generated and sent out again.
381
381
 
382
382
  The ''''tj3ts_sender'''' command will also add the reporting interval
383
- to a file called ''''TimeSheetTemplates/acceptable_invervals''''.
383
+ to a file called ''''TimeSheetTemplates/acceptable_intervals''''.
384
384
  We'll cover this file later on when we deal with the time sheet
385
385
  receiver.
386
386
 
@@ -490,7 +490,7 @@ the taskjuggler home directory, you need to create it now.
490
490
  This procmail configuration will cause incoming emails that are
491
491
  addressed to timesheets@taskjuggler.your_company.com to be forwarded
492
492
  to the ''''tj3ts_receiver'''' program. Of course you need to replace
493
- ''your_comany.com'' with whatever domain you are using.
493
+ ''your_company.com'' with whatever domain you are using.
494
494
 
495
495
  The received emails are then checked for syntactical and logical
496
496
  errors. If such are found, an email is sent back with an appropriate
@@ -751,7 +751,7 @@ used. It will use the ''''tj3client'''' program to do 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
754
- TaskJuggelr configuration file.
754
+ TaskJuggler configuration file.
755
755
 
756
756
  _statussheets:
757
757
  projectId: prj
@@ -764,7 +764,7 @@ can hardcode that like in the example above. For multiple level of
764
764
  management you need to specify which group of managers should the
765
765
  report templates be generated for and pass that information on the
766
766
  command line. Use the ''''--hideresource'''' option to specify a
767
- logicalexpression to filter away the resources you don't want
767
+ logical expression to filter away the resources you don't want
768
768
  templates to be generated for. The easiest way to achieve this is by
769
769
  using unique flags for each management level. In the example above we
770
770
  assume you have assigned the flag ''''manager'''' to each first-level
@@ -47,8 +47,8 @@ reports. Each project must have at least one task defined and should
47
47
  have at least one report. Properties don't have to be listed in a
48
48
  particular order, but may have interdependencies that require such an
49
49
  order. If you want to assign a resource to work on a task, this
50
- resource needs to be defined first. It is therefor recommended to
51
- define them in the following sequence.
50
+ resource needs to be defined first. It is therefore recommended to
51
+ define them in the following sequence:
52
52
 
53
53
  * [[macro|macros]]
54
54
  * [[flags]]
@@ -42,13 +42,13 @@ recommended Ruby version to make full use of TaskJuggler is Ruby 2.0.
42
42
  Ruby 1.9.1 contains some bugs that prevent the multi-core support to
43
43
  work. For users that are not interested in multi-core support, the web
44
44
  server, the time sheet infrastructure and daemon Ruby 1.8.7 is still
45
- ok to use. On Windows you need at least Ruby 1.9.2. If you want to
45
+ OK to use. On Windows you need at least Ruby 1.9.2. If you want to
46
46
  use non-ASCII characters, Ruby 1.9.2 or later is required as well.
47
47
 
48
48
  You must have configured your system locale to be UTF-8 to work
49
49
  properly with non-ASCII characters.
50
50
 
51
- See below for instructions on how to use the latest and greates Ruby
51
+ See below for instructions on how to use the latest and greatest Ruby
52
52
  version in parallel with your distribution Ruby.
53
53
 
54
54
  * '''RubyGems:''' If it did not come with your OS or the Ruby
@@ -67,7 +67,7 @@ been tested.
67
67
 
68
68
  ===== System Wide Installation =====
69
69
 
70
- TaskJuggler is a commandline tool. It does not (yet) have a graphical
70
+ TaskJuggler is a command line tool. It does not (yet) have a graphical
71
71
  user interface. To use it, you need to know how to open a command
72
72
  or terminal window. In this manual, we refer to it as your shell. The
73
73
  following paragraphs describe the commands you need to type into your
@@ -185,7 +185,7 @@ have [http://www.kernel.org/pub/software/scm/git/docs/ git] installed.
185
185
 
186
186
  Then checkout the source code with the following command
187
187
 
188
- git clone git@github.com:taskjuggler/TaskJuggler.git
188
+ git clone git@github.com/taskjuggler/TaskJuggler.git
189
189
 
190
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
@@ -34,7 +34,7 @@ and other reports, but it takes some effort to master its power. For
34
34
  those that are willing to invest a few hours to get started with the
35
35
  software it will become a companion you don't want to miss anymore.
36
36
 
37
- TaskJuggler is a commandline tool that you use from a
37
+ TaskJuggler is a command line tool that you use from a
38
38
  [http://en.wikipedia.org/wiki/Shell_(computing) shell]. This means
39
39
  that to enter your project data you will use one of the most
40
40
  versatile and powerful tools there is: your favorite
@@ -0,0 +1,45 @@
1
+ === List Attributes ===
2
+
3
+ All properties have some optional attributes. Which attributes can be
4
+ used depends on the type of the property. Attributes can either be
5
+ single value attributes or they can have multiple values. In the
6
+ latter case, we call them list attributes.
7
+
8
+ All list attributes are marked as such in the syntax reference. When
9
+ using an attribute inside a property context, it is important to
10
+ understand whether it is a list attribute or not. In many cases, the
11
+ attribute name already indicates that the attribute may have a list
12
+ of values. E. g. [[flags.task|flags]] or [[limits.task|limits]].
13
+
14
+ The multiple values of the list attributes can either be specified as
15
+ a comma separated list or by using multiple attribute statements in
16
+ the same context. In this example, the task has the flags ''''f1'''',
17
+ ''''f2'''' and ''''f3'''' assigned. The second ''''flags''''
18
+ attribute does not override the first value. It will append the new
19
+ ones to the old list.
20
+
21
+ <[example file="ListAttributes" tag="define"]>
22
+
23
+ Special care needs to be taken when list attributes are inherited by
24
+ the enclosing property or by the parent scenario.
25
+
26
+ <[example file="ListAttributes" tag="inherit"]>
27
+
28
+ In this example, task ''''T3'''' has the flags ''''f1'''' and
29
+ ''''f2'''' assigned.
30
+
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
33
+ values from ''''s1''''.
34
+
35
+ <[example file="ListAttributes" tag="scenario"]>
36
+
37
+ In scenario ''''s2'''' the task ''''T4'''' has the flags ''''f1''''
38
+ and ''''f2'''' assigned.
39
+
40
+ Sometimes this inheritance is not desired. In these cases, you can
41
+ explicitly purge the attribute list before assigning new values.
42
+ Here, task ''''T6'''' only has the flag ''''f2'''' assigned.
43
+
44
+ <[example file="ListAttributes" tag="purge"]>
45
+
@@ -50,7 +50,7 @@ as pre-formatted text. The formatting will be preserved by using a
50
50
  fixed-width font and by not interpreting any markup characters within
51
51
  the text.
52
52
 
53
- Preformatted text start with
53
+ Pre-formatted text start with
54
54
  a single space at the start of
55
55
  each line.
56
56
 
@@ -64,7 +64,7 @@ start at the start of the line.
64
64
  This is a ''''monospaced'''' word.
65
65
  This is a '''''italic and bold''''' word.
66
66
 
67
- The monospace format is not part of the original MediaWiki markup, but
67
+ The monospaced format is not part of the original MediaWiki markup, but
68
68
  we found it useful to have for this manual.
69
69
 
70
70
  Text can be colored when enclosed in ''''fcol'''' tags.
@@ -163,7 +163,7 @@ The navigator generator inserts the referenced navigator.
163
163
  ----
164
164
  '''Block Generator''' ''''report''''
165
165
 
166
- Paramters:
166
+ Parameters:
167
167
 
168
168
  * ''''id'''' : ID of a defined report
169
169
 
@@ -173,7 +173,7 @@ report period and the property set from the referencing report.
173
173
  ----
174
174
  '''Inline Generator''' ''''reportlink''''
175
175
 
176
- Paramters:
176
+ Parameters:
177
177
 
178
178
  * ''''id'''' : ID of a defined report
179
179
 
@@ -205,7 +205,7 @@ The report link generator inserts a link to the referenced report.
205
205
  ----
206
206
  '''Inline Generator''' ''''query''''
207
207
 
208
- Paramters:
208
+ Parameters:
209
209
 
210
210
  * ''''family'''' : Specifies whether a ''''task'''' or a ''''resource''''
211
211
  should be queried.
@@ -115,7 +115,7 @@ settings.
115
115
  All taskjuggler components can use the same TaskJuggler configuration
116
116
  file. The format is a simple plain text format that follows the
117
117
  [http://www.yaml.org/ YAML specification]. The file should be called
118
- ''''.taskjuglerrc'''' or ''''taskjuggler.rc''''. The settings are
118
+ ''''.taskjugglerrc'''' or ''''taskjuggler.rc''''. The settings are
119
119
  structured by sections. Section names always start with an underscore.
120
120
 
121
121
  _global:
@@ -28,7 +28,7 @@ renamed to ''''shifts'''' to allow support for multiple shifts.
28
28
  * The global ''''limits'''' attribute has been removed. Since both
29
29
  tasks and resources have a ''''limits'''' attribute, a global
30
30
  attribute was inconsistent as only resources inherited this
31
- attribute. Use a parent resource to emulate the old behaviour.
31
+ attribute. Use a parent resource to emulate the old behavior.
32
32
 
33
33
  * Shifts and limits for allocations have been deprecated. The concept
34
34
  was bogus and not compatible with bookings. The functionality is
@@ -107,7 +107,7 @@ The resulting ''''FullProject.tjp'''' file is a valid self-contained
107
107
  project file that can be read with TaskJuggler 2.x or TaskJuggler
108
108
  3.x. The file does not contain any report definitions. To generate
109
109
  reports with TaskJuggler 3.x you need to create an additional file
110
- that contains the TaskJugler 3.x report definitions.
110
+ that contains the TaskJuggler 3.x report definitions.
111
111
 
112
112
  Let's assume the file is called ''''tj3reports.tji''''. Start
113
113
  TaskJuggler 3.x with the following command:
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html>
2
- <!-- This file has been generated by tj3man v3.5.0 -->
2
+ <!-- This file has been generated by tj3man v3.6.0 -->
3
3
  <html lang="en" xml:lang="en">
4
4
  <head>
5
5
  <title>Day_To_Day_Juggling</title>
@@ -130,12 +130,12 @@
130
130
  </ol>
131
131
  <p class="manual">In addition to the plain text versions of the time sheet summaries and the dashboards, TaskJuggler provides support for publishing them as HTML pages from a web server.</p>
132
132
  <h2 class="manual" id="Implementing_the_status_tracking_system">7.6 Implementing the status tracking system</h2>
133
- <h3 class="manual" id="Prerequesites">7.6.1 Prerequesites</h3>
133
+ <h3 class="manual" id="Prerequisites">7.6.1 Prerequisites</h3>
134
134
  <p class="manual">The .tjp and .tji files of your project plan should be managed by a revision control system. TaskJuggler does not require a particular software, but for this manual we illustrate the implementation with <a href="http://subversion.apache.org" target="_top">Subversion</a>. It should be obvious how to do this with other software though.</p>
135
135
  <p class="manual">All communication of time sheets and status sheets is done via email. TaskJuggler has built-in support for sending emails. To receive emails and to feed them to the correct program, TaskJuggler needs support from a mail transfer agent (MTA) and a mail processor. In this documentation we describe the setup with <a href="http://www.postfix.org/" target="_top">postfix</a> as MTA and <a href="http://www.procmail.org/" target="_top">procmail</a> as mail processor. These are standard parts of any Linux distribution and should be easy to setup. It's certainly possible to use other MTAs and mail processors, but this is not the scope of this manual.</p>
136
136
  <p class="manual">Finally, you need a web server to publish your reports. This can really be any web server. The generated reports are static HTML pages that can simply be put into a directory that the web server is serving.</p>
137
137
  <p class="manual">For the email based communication you need to provide email addresses for all project contributors. This is done in the project plan in the resource definition by using the <a href="email.html">email</a> attribute.</p>
138
- <div class="manual" codesection="1"><pre class="manual" codesection="1">resource joe "Joe Avergage" {
138
+ <div class="manual" codesection="1"><pre class="manual" codesection="1">resource joe "Joe Average" {
139
139
  email "joe@your_company.com
140
140
  }
141
141
  </pre></div>
@@ -165,9 +165,9 @@ _timesheets:
165
165
  <p class="manual">The hideResource option works similarly to the <a href="hideresource.html">hideresource</a> attribute in the report definitions of the project plan. It allows you to restrict the sending of time sheet templates to a subset of your defined resources. In this example, we only want to send templates to individual resources and not the teams you might have defined.</p>
166
166
  <p class="manual">By default the time sheets will cover the week from Monday morning 0:00 to Sunday night 24:00. When called without the <code class="manual">-e</code> option, <code class="manual">tj3ts_sender</code> will send out templates for the current week.</p>
167
167
  <p class="manual">To call the <code class="manual">tj3ts_sender</code> command you either need to be in the <code class="manual">/home/taskjuggler/projects/prj</code> directory or use the <code class="manual">-c</code> command line option to point it to the configuration file to use. In the latter case you also need to call it with the <code class="manual">-d</code> option to change the output directory to your project directory.</p>
168
- <p class="manual">To test the command without sending out actual emails you can use the <code class="manual">--dryrun</code> option on the command line. To do its job, <code class="manual">tj3ts_sender</code> needs to generate a number of files and directories. A copy of the generated templates will be stored in <code class="manual">TimeSheetTemplates/&lt;date&gt;/</code> under <code class="manual">&lt;resource_id&gt;-date.tji</code>. <code class="manual">&lt;date&gt;</code> is replaced with the end date of the reporting interval and <code class="manual">&lt;resoruce_id&gt;</code> is the ID of the resource.</p>
168
+ <p class="manual">To test the command without sending out actual emails you can use the <code class="manual">--dryrun</code> option on the command line. To do its job, <code class="manual">tj3ts_sender</code> needs to generate a number of files and directories. A copy of the generated templates will be stored in <code class="manual">TimeSheetTemplates/&lt;date&gt;/</code> under <code class="manual">&lt;resource_id&gt;-date.tji</code>. <code class="manual">&lt;date&gt;</code> is replaced with the end date of the reporting interval and <code class="manual">&lt;resource_id&gt;</code> is the ID of the resource.</p>
169
169
  <p class="manual">If you re-run the command existing templates will not be regenerated nor will they be sent out again. You can use the <code class="manual">-f</code> command line option to force them to be generated and sent out again.</p>
170
- <p class="manual">The <code class="manual">tj3ts_sender</code> command will also add the reporting interval to a file called <code class="manual">TimeSheetTemplates/acceptable_invervals</code>. We'll cover this file later on when we deal with the time sheet receiver.</p>
170
+ <p class="manual">The <code class="manual">tj3ts_sender</code> command will also add the reporting interval to a file called <code class="manual">TimeSheetTemplates/acceptable_intervals</code>. We'll cover this file later on when we deal with the time sheet receiver.</p>
171
171
  <h3 class="manual" id="The_Time_Sheet_Receiver">7.6.3 The Time Sheet Receiver</h3>
172
172
  <p class="manual">To receive the filled-out time sheets and to process them automatically you need to create a special user. TaskJuggler requires a number of email addresses to be setup to receive emails. We recommend to use the following setup. Create a special user called <code class="manual">taskjuggler</code> on a dedicated Linux machine. Then create the following email aliases for this user.</p>
173
173
  <div class="manual" codesection="1"><pre class="manual" codesection="1">timesheets
@@ -237,7 +237,7 @@ all
237
237
  :0
238
238
  /dev/null
239
239
  </pre></div>
240
- <p class="manual">This procmail configuration will cause incoming emails that are addressed to timesheets@taskjuggler.your_company.com to be forwarded to the <code class="manual">tj3ts_receiver</code> program. Of course you need to replace <i>your_comany.com</i> with whatever domain you are using.</p>
240
+ <p class="manual">This procmail configuration will cause incoming emails that are addressed to timesheets@taskjuggler.your_company.com to be forwarded to the <code class="manual">tj3ts_receiver</code> program. Of course you need to replace <i>your_company.com</i> with whatever domain you are using.</p>
241
241
  <p class="manual">The received emails are then checked for syntactical and logical errors. If such are found, an email is sent back with an appropriate error message. The time sheet contains the resource ID of the reporting resource. As soon as this has been detected, all email communication will be sent to the email address in the project plan. Only when the resource ID could not be identified, the sender of the email will get the answer. This was implemented as a security measure so other users cannot easily retrieve project related information from other users.</p>
242
242
  <p class="manual">Correct time sheets are archived in the <code class="manual">TimeSheets/&lt;date&gt;/</code> directory where <code class="manual">&lt;date&gt;</code> is the end date of the reporting period. If the directory does not exist yet, it will be created. The file will be called <code class="manual">&lt;resource_id&gt;-&lt;date&gt;.tji</code>. If a SCM command was specified, the file will be automatically put under revision control. Subsequent submission of the same time sheet will simply overwrite the earlier submissions. The file name will also be added to a file called <code class="manual">all.tji</code> which consists of include statements of all time sheet files in the directory. There also is an automatically maintained file <code class="manual">all.tji</code> in the <code class="manual">TimeSheets</code> directory that includes all the <code class="manual">&lt;date&gt;/all.tji</code> files. To add all the submitted time sheets to your project plan, simply include the top-level <code class="manual">all.tji</code>.</p>
243
243
  <p class="manual">
@@ -324,14 +324,14 @@ include</a> this file at the end of your project header section.</p>
324
324
  <p class="manual">The status sheet template is designed to perform all three actions in a simple manner. The original reports are commented out. To remove a report, it needs to be uncommented and the headline must be set to an empty string. To change a report, the text must be edited after the comment marks have been removed. To create a summary report for a group of tasks, a new report for the common parent task must be created.</p>
325
325
  <h3 class="manual" id="The_Status_Sheet_Template_Sender">7.7.2 The Status Sheet Template Sender</h3>
326
326
  <p class="manual">To send out the time sheets, the command <code class="manual">tj3ts_sender</code> must be used. It will use the <code class="manual">tj3client</code> program to do retrieve the necessary data from the TaskJuggler server.</p>
327
- <p class="manual">Before the program can be used, a new section must be added to the TaskJuggelr configuration file.</p>
327
+ <p class="manual">Before the program can be used, a new section must be added to the TaskJuggler configuration file.</p>
328
328
  <div class="manual" codesection="1"><pre class="manual" codesection="1">_statussheets:
329
329
  projectId: prj
330
330
  _sender:
331
331
  senderEmail: 'TaskJuggler &lt;statussheets@taskjuggler.amd.com&gt;'
332
332
  hideResource: '~(isleaf() &amp; manager)'
333
333
  </pre></div>
334
- <p class="manual">If you are using status sheets for only one level of management you can hardcode that like in the example above. For multiple level of management you need to specify which group of managers should the report templates be generated for and pass that information on the command line. Use the <code class="manual">--hideresource</code> option to specify a logicalexpression to filter away the resources you don't want templates to be generated for. The easiest way to achieve this is by using unique flags for each management level. In the example above we assume you have assigned the flag <code class="manual">manager</code> to each first-level manager.</p>
334
+ <p class="manual">If you are using status sheets for only one level of management you can hardcode that like in the example above. For multiple level of management you need to specify which group of managers should the report templates be generated for and pass that information on the command line. Use the <code class="manual">--hideresource</code> option to specify a logical expression to filter away the resources you don't want templates to be generated for. The easiest way to achieve this is by using unique flags for each management level. In the example above we assume you have assigned the flag <code class="manual">manager</code> to each first-level manager.</p>
335
335
  <p class="manual">For the override mechanism to work, the manager reports must always have a newer date than the original report. So, the end date of the first-level manager status sheets must be after the time sheet interval. The second-level mangers must use a later date than the first-level managers and so on.</p>
336
336
  <p class="manual">By default <code class="manual">tj3ss_sender</code> will use the next Wednesday as end date. If you need a different date, you must use the <code class="manual">-e</code> option to specify that date.</p>
337
337
  <p class="manual">Let's say you have two levels of managers that use status sheets. The time sheets are due midnight on Sunday. The project managers can work in the deltas and new tasks on Monday. After that you generate the reports for the first level managers with and end date of Wednesday. This implies a submission deadline of midnight on Tuesday. The second level manager templates will be sent out right after this deadline with an end date of Thursday. That would be the deadline for the second-level managers. The final report can than be generated by TaskJuggler automatically right after that deadline.</p>
@@ -360,6 +360,6 @@ include</a> this file at the end of your project header section.</p>
360
360
  </tr></table>
361
361
  <hr/>
362
362
  <br/>
363
- <div align="center" style="font-size:10px;">Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 by Chris Schlaeger &lt;chris@linux.com&gt;.<a href="http://www.taskjuggler.org">TaskJuggler</a> is a trademark of Chris Schlaeger.</div>
363
+ <div align="center" style="font-size:10px;">Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 by Chris Schlaeger &lt;cs@taskjuggler.org&gt;.<a href="http://www.taskjuggler.org">TaskJuggler</a> is a trademark of Chris Schlaeger.</div>
364
364
  </body>
365
365
  </html>