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,30 @@
1
+ #!/usr/bin/env ruby -w
2
+ # encoding: UTF-8
3
+ #
4
+ # = TableReportColumn.rb -- The TaskJuggler III Project Management Software
5
+ #
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
+ # by Chris Schlaeger <chris@linux.com>
8
+ #
9
+ # This program is free software; you can redistribute it and/or modify
10
+ # it under the terms of version 2 of the GNU General Public License as
11
+ # published by the Free Software Foundation.
12
+ #
13
+
14
+ class TaskJuggler
15
+
16
+ # This class holds some computed data that is used to render the TableReport
17
+ # Columns.
18
+ class TableReportColumn
19
+
20
+ attr_accessor :start, :end
21
+
22
+ def initialize(startDate, endDate)
23
+ @start = startDate
24
+ @end = endDate
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env ruby -w
2
2
  # encoding: UTF-8
3
3
  #
4
- # = ProjectFileParser.rb -- The TaskJuggler III Project Management Software
4
+ # = TagFile.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = TaskListRE.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -33,10 +33,9 @@ class TaskJuggler
33
33
  def generateIntermediateFormat
34
34
  super
35
35
 
36
- setReportPeriod
37
-
38
36
  # Prepare the task list.
39
37
  taskList = PropertyList.new(@project.tasks)
38
+ taskList.includeAdopted
40
39
  taskList.setSorting(@report.get('sortTasks'))
41
40
  taskList.query = @report.project.reportContexts.last.query
42
41
  taskList = filterTaskList(taskList, nil, @report.get('hideTask'),
@@ -51,11 +50,9 @@ class TaskJuggler
51
50
  resourceList.query = @report.project.reportContexts.last.query
52
51
  resourceList.sort!
53
52
 
54
- adjustReportPeriod(taskList, @report.get('scenarios'),
55
- @report.get('columns'))
56
-
57
53
  # Generate the table header.
58
54
  @report.get('columns').each do |columnDescr|
55
+ adjustColumnPeriod(columnDescr, taskList, @report.get('scenarios'))
59
56
  generateHeaderCell(columnDescr)
60
57
  end
61
58
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = TextReport.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = TimeSheetReport.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -217,14 +217,14 @@ EOT
217
217
  records << (resourceRecord = TSResourceRecord.new(resource))
218
218
 
219
219
  # Calculate the average working days per week (usually 5)
220
- weeklyWorkingDays = @project['yearlyworkingdays'] / 52.1428
220
+ weeklyWorkingDays = @project.weeklyWorkingDays
221
221
  # Calculate the number of weeks in the report
222
222
  weeksToReport = (to - from) / (60 * 60 * 24 * 7)
223
223
 
224
224
  # Get the vacation days for the resource for this period.
225
225
  queryAttrs['property'] = resource
226
226
  query = Query.new(queryAttrs)
227
- query.attributeId = 'vacationdays'
227
+ query.attributeId = 'timeoffdays'
228
228
  query.start = from
229
229
  query.end = to
230
230
  query.process
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = TjpExportRE.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -81,6 +81,9 @@ class TaskJuggler
81
81
  "#{@project['scheduleGranularity'] / 60}min", 2)
82
82
  end
83
83
  generateAttributeText("timezone \"#{@project['timezone']}\"", 2)
84
+ if @project['alertLevels'].modified?
85
+ generateAttributeText(@project['alertLevels'].to_tjp, 2)
86
+ end
84
87
  generateCustomAttributeDeclarations('resource', @project.resources,
85
88
  a('resourceAttributes'))
86
89
  generateCustomAttributeDeclarations('task', @project.tasks,
data/lib/tj3.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
data/lib/tj3client.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3client.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
data/lib/tj3d.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3d.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
data/lib/tj3man.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3man.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3ss_receiver.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
data/lib/tj3ss_sender.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3ss_sender.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3ts_receiver.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
data/lib/tj3ts_sender.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3ts_sender.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
data/lib/tj3ts_summary.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = tj3ts_summary.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
7
7
  # by Chris Schlaeger <chris@linux.com>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
data/lib/updateheader.sh CHANGED
@@ -1,4 +1,7 @@
1
- files="*.rb reports/*.rb daemon/*.rb TextParser/*.rb ../test/*.rb ../spec/*.rb"
1
+ files="*.rb taskjuggler/*.rb taskjuggler/apps/*.rb
2
+ taskjuggler/daemon/*.rb taskjuggler/reports/*.rb
3
+ taskjuggler/RichText/*.rb taskjuggler/TextParser/*.rb ../test/*.rb
4
+ ../spec/*.rb ../spec/support/*.rb"
2
5
 
3
6
  for f in $files; do
4
7
  basename=`basename $f`
@@ -8,7 +8,7 @@ main project may include other files. Such included files must have
8
8
  file names with a ''''.tji'''' extension.
9
9
 
10
10
  The graphical user interface from the 2.x version has not been ported
11
- to TaskJuggler III yet. So all work with TaskJuggler needs to be done
11
+ to TaskJuggler 3.x yet. So all work with TaskJuggler needs to be done
12
12
  in your favorite text editor and in a command shell.
13
13
 
14
14
  The commandline version of TaskJuggler works like a compiler. You
@@ -42,8 +42,8 @@ Every project must start with a [[project|project header]]. The
42
42
  project header must be in the main project file. All other elements
43
43
  may be put into include files. The project header must then be
44
44
  followed by any number of project properties such as [[account|
45
- accounts]], [[resource|resources]], [[task|tasks]] and [[report|
46
- reports]]. Each project must have at least one task defined and should
45
+ accounts]], [[resource|resources]], [[task|tasks]] and
46
+ 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
@@ -57,6 +57,9 @@ define them in the following sequence.
57
57
  * [[vacation|vacations]]
58
58
  * [[resource|resources]]
59
59
  * [[task|tasks]]
60
- * [[report|reports]]
60
+ * [[accountreport|accountreports]]
61
+ * [[resourcereport|resourcereports]]
62
+ * [[taskreport|taskreports]]
63
+ * [[textreport|textreports]]
61
64
  * [[export|exports]]
62
65
 
@@ -85,9 +85,30 @@ files, you need to register them with your repository.
85
85
  If you think you are done, you can commit your changes to your local
86
86
  repository.
87
87
 
88
- git commit -a
88
+ git commit -a -s
89
89
 
90
- And then push it into your forked github repository.
90
+ The -s parameter is very important. We will only accept signed-off patches. By
91
+ signing off on your patches you confirm that you wrote the code and have the
92
+ right to pass it on as a patch. See
93
+ [http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html this
94
+ document] for more information!
95
+
96
+ Please include a meaningful commit message. The first line (header line) should
97
+ be prefixed by ''''Fix: '''' for bug fixes or ''''New: '''' for new features.
98
+ This is used to automatically generate the change log from one release to
99
+ another. So a bug that has been introduced after the last release and is fixed
100
+ before the next release does not need to be included in the changelog. For
101
+ those cases, don't use any prefix.
102
+
103
+ After the header line leave a blank line and include one or more paragraphs
104
+ with more detailed information about the patch. This information will also be
105
+ included in the the change log if the header line has a prefix.
106
+
107
+ If you fix a bug that was reported by somebody else, please also include a reported-by line:
108
+
109
+ Reported-by: whoever-reported-the-bug
110
+
111
+ Then push it into your forked github repository.
91
112
 
92
113
  git push
93
114
 
@@ -133,14 +154,14 @@ available in the ''''test'''' directory.
133
154
 
134
155
  ==== Contributing to the Ruby code ====
135
156
 
136
- For the first stable TaskJuggler III release we should have all 2.x
157
+ For the first stable TaskJuggler release we have most 2.x
137
158
  features supported. The few things that break backwards compatibility
138
- should be documented in the [[TaskJuggler_2x_Migration]] section.
159
+ are documented in the [[TaskJuggler_2x_Migration]] section.
139
160
 
140
161
  In general, patches are very welcome. Please follow the coding style
141
162
  and naming conventions used in the existing code. Larger changes
142
163
  should be preceded by a discussion in the
143
- [http://www.taskjuggler.org/forum.php TaskJuggler Developer Forum].
164
+ [http://www.taskjuggler.org/contact.html TaskJuggler Developer Forum].
144
165
 
145
166
  ==== Some final words to Contributors ====
146
167
 
data/manual/Installation CHANGED
@@ -1,15 +1,10 @@
1
1
  == Installation ==
2
2
 
3
- TaskJuggler III is written in [http://www.ruby-lang.org Ruby]. It
3
+ TaskJuggler 3.x is written in [http://www.ruby-lang.org Ruby]. It
4
4
  should run on any platform that Ruby is available on. It uses the
5
5
  standard Ruby mechanism for distribution, a package format called
6
6
  [http://docs.rubygems.org RubyGems].
7
7
 
8
- TaskJuggler III is still under development. There is no stable
9
- version yet. You are welcome to try it. Some users are already using
10
- it successfully for their purposes, but it might not yet be right for
11
- you.
12
-
13
8
  === Requirements ===
14
9
 
15
10
  Ruby applications are platform independent. There is no need to
@@ -38,7 +33,7 @@ developer mailing list.
38
33
 
39
34
  ==== Other required Software ====
40
35
 
41
- * '''Ruby:''' TaskJuggler III is written in Ruby. You need a Ruby
36
+ * '''Ruby:''' TaskJuggler 3.x is written in Ruby. You need a Ruby
42
37
  runtime environment to run it. This can be downloaded from
43
38
  [http://www.ruby-lang.org/en/downloads/ here]. Most Linux
44
39
  distributions usually have Ruby already included. So does MacOS X
@@ -54,7 +49,10 @@ version in parallel with your distribution Ruby.
54
49
 
55
50
  * '''RubyGems:''' If it did not come with your OS or the Ruby
56
51
  installation, see [http://docs.rubygems.org here] how to get and
57
- install it.
52
+ install it. RubyGems is a cross-platform package manager. It will
53
+ download and install all other required software packages
54
+ automatically when you install TaskJuggler. These packages are called
55
+ Ruby gems.
58
56
 
59
57
  Other versions of Ruby (Rubinius, JRuby, etc.) may work but have not
60
58
  been tested.
@@ -124,7 +122,7 @@ That's it. You now should be run TaskJuggler.
124
122
  ==== The manual way ====
125
123
 
126
124
  If the easy way doesn't work for you, you need to download and install
127
- the packages manually. Download TaskJuggler III gem file from the
125
+ the packages manually. Download TaskJuggler gem file from the
128
126
  [http://rubygems.org/gems/taskjuggler RubyGems.org] site.
129
127
 
130
128
  A gem package is an operating system and architecture independent
@@ -150,7 +148,7 @@ following line in your ''''${HOME}/.profile'''' file.
150
148
 
151
149
  Windows and MacOS platforms may require similar steps.
152
150
 
153
- === Update from older TaskJuggler III versions ===
151
+ === Update from older TaskJuggler 3.x versions ===
154
152
 
155
153
  Updates work just like the installation.
156
154
 
@@ -161,13 +159,22 @@ For downloaded or self-built packages use the following command:
161
159
  gem update pkg/taskjuggler-X.X.X.gem
162
160
 
163
161
 
164
- === Installation Steps for Developers ===
162
+ === Installing TaskJuggler from the Git Repository ===
165
163
 
166
- The following description is for users that want to learn more about
167
- TaskJuggler or want to make improvements. TaskJuggler is
168
- [http://en.wikipedia.org/wiki/Open_source Open Source] software and
164
+ The following description is for developers and users that want to
165
+ learn more about TaskJuggler or want to make improvements. TaskJuggler
166
+ is [http://en.wikipedia.org/wiki/Open_source Open Source] software and
169
167
  you are encouraged to read and modify the source code.
170
168
 
169
+ Before you download the source code, make sure you have all the
170
+ necessary dependencies installed. You should have Ruby 1.9.2 or later
171
+ and you need to have the following gems installed
172
+
173
+ gem install rake mail rspec term-ansicolor rcov
174
+
175
+ rcov is optional, but you must have the other gems and their
176
+ dependencies installed.
177
+
171
178
  To get the source code, the recommended way it to check out the
172
179
  latest code from the developer repository. To do this, you need to
173
180
  have [http://www.kernel.org/pub/software/scm/git/docs/ git] installed.
@@ -204,7 +211,7 @@ another shell.
204
211
  # Make sure the shell finds the TaskJuggler programs
205
212
  export PATH=${PATH}:${TASKJUGGLER_DIR}/bin
206
213
 
207
- === Quickly switching between various TaskJuggler III versions ===
214
+ === Quickly switching between various TaskJuggler 3.x versions ===
208
215
 
209
216
  One of the benefits of using TaskJuggler from the Git repository is
210
217
  the ability to get the latest bug fixes. If a bug was reported, it is
@@ -232,7 +239,7 @@ This will switch to the released version 0.0.10.
232
239
 
233
240
  provides you with a list of all tags.
234
241
 
235
- TaskJuggler III is written in Ruby. There is no make or build process
242
+ TaskJuggler 3.x is written in Ruby. There is no make or build process
236
243
  needed. Every code change is effective immediately. The tutorial, the
237
244
  manual and some other parts do require a build step.
238
245
 
@@ -286,9 +293,10 @@ will be installed into ''''/usr/local/bin''''.
286
293
 
287
294
  sudo make install
288
295
 
289
- As a final step, you need to install the ''''mail'''' gem.
296
+ As a final step, you need to install the ''''mail'''' and
297
+ ''''term-ansicolor'''' gems.
290
298
 
291
- sudo gem19 install mail
299
+ sudo gem19 install mail term-ansicolor
292
300
 
293
301
  If you don't want to use TaskJuggler from the git repository, you can
294
302
  install the TaskJuggler gem as well.
data/manual/Intro CHANGED
@@ -40,10 +40,10 @@ that to enter your project data you will use one of the most
40
40
  versatile and powerful tools there is: your favorite
41
41
  [http://en.wikipedia.org/wiki/Text_editor text editor]. To get a
42
42
  first impression, you can look at this
43
- [http://www.taskjuggler.org/tj3/examples/tutorial.tjp project file]. The
44
- project description is fairly intuitive, but very powerful as well.
45
- The [[Tutorial]] will explain this file line by line. Please look at
46
- the [http://www.taskjuggler.org/tj3/examples/Overview.html
43
+ [http://www.taskjuggler.org/tj3/examples/Tutorial/tutorial.tjp project
44
+ file]. The project description is fairly intuitive, but very powerful
45
+ as well. The [[Tutorial]] will explain this file line by line. Please
46
+ look at the [http://www.taskjuggler.org/tj3/examples/Overview.html
47
47
  resulting reports] that visualize the project.
48
48
 
49
49
 
@@ -70,46 +70,68 @@ The HTML reports use icons from the
70
70
  licensed under the [http://www.fsf.org/licenses/lgpl.html GNU Lesser
71
71
  General Public License].
72
72
 
73
- The HTML reports use Java Script code from [http://www.walterzorn.com
74
- Walter Zorn]. The code is licensed under the
75
- [http://www.fsf.org/licenses/lgpl.html GNU Lesser General Public
76
- License].
73
+ The HTML reports use Java Script code from
74
+ [http://www.walterzorn.de/en/tooltip/tooltip_e.htm Walter Zorn]. The code
75
+ is licensed under the [http://www.fsf.org/licenses/lgpl.html GNU
76
+ Lesser General Public License].
77
+
78
+ TaskJuggler does require other software components to operate. These
79
+ components include the Ruby runtime system, operating system libraries
80
+ and other components installed as Ruby gems. We have used great care
81
+ to ensure that all dependencies are compatible with the TaskJuggler
82
+ license and are being used as required by those licenses. But use
83
+ cases may vary and you should check those licenses yourself to ensure
84
+ that you use those components in accordance with their licenses.
77
85
 
78
86
  === Features and Highlights ===
79
87
 
88
+ ==== Basic Properties ====
89
+
80
90
  * Manages tasks, resources and accounts of your project
91
+ * Powerful to-do list management
92
+ * Detailed reference manual
93
+ * Simple installation
94
+ * Runs on all Linux, Unix, Windows, MacOS and several other operating systems
95
+ * Full integration with Vim text editor
96
+
97
+ ==== Advanced Scheduling ====
98
+
81
99
  * Automatic resource leveling and tasks conflict resolution
82
- * Comprehensive and flexible reports so you can find the information you need when you need it
83
- * Project tracking and status reporting with dashboard support
84
- * Time and status sheet reporting infrastructure
85
100
  * Unlimited number of scenarios (baselines) of the same project for what-if analysis
86
- * Projects can be combined to larger projects
87
- * Project breakdown and management team support
88
- * Multiple project managers can work on the same project
89
- * Flexible working hours and vacation handling
101
+ * Flexible working hours and leave management
90
102
  * Support for shift working
91
103
  * Multiple time zone support
104
+
105
+ ==== Accounting ====
106
+
92
107
  * Tasks may have initial costs, finishing costs
93
- * Resources may have running costs
94
- * Unlimited number of scenarios (baselines) of same project for what-if
95
- analysis
108
+ * Resources may have usage based costs
109
+ * Task and/or resource base cost models
96
110
  * Support for profit/loss analysis
97
- * HTML reports for Web publishing
98
- * CSV data export for exchange with popular office software
99
- * iCalendar export for data exchange with calendar applications
100
- * Project description syntax with macro support
101
- * Built-in web server for dynamic and interactive reports
102
- * Powerful and flexible filtering functions to provide the right
103
- amount of detail to the right audience
104
- * Server based time sheet system for status and actual collection
105
- * Powerful project description syntax with macro support
111
+
112
+ ==== Reporting ====
113
+
114
+ * Comprehensive and flexible reports so you can find the information you need when you need it
115
+ * Powerful filtering functions to provide the right amount of detail to the right audience
116
+ * Time and status sheet reporting infrastructure
117
+ * Project tracking and status reporting with dashboard support
118
+
119
+ ==== Scaling and Enterprise Features ====
120
+
121
+ * Projects can be combined to larger projects
106
122
  * Support for central resource allocation database
123
+ * Manages roles and complex reporting lines
124
+ * Powerful project description language with macro support
107
125
  * Scales well on multi-core or multi-CPU systems
108
- * Full integration with Vim text editor
109
- * Runs on all Linux, Unix, Windows, MacOS and several other operating systems
110
- * Simple installation
111
- * Detailed reference manual
112
- * Support for project management teams and revision control
126
+ * Support for project management teams and revision control systems
127
+
128
+ ==== Web Publishing and Groupware Functions ====
129
+
130
+ * HTML reports for web publishing
131
+ * CSV data export for exchange with popular office software
132
+ * iCalendar export for data exchange with calendar and productivity applications
133
+ * Built-in web server for dynamic and interactive reports
134
+ * Server based time sheet system for status and actual work reporting
113
135
 
114
136
  === TaskJuggler on the Web ===
115
137
 
@@ -117,6 +139,6 @@ The official TaskJuggler web site can be found at
117
139
  [http://www.taskjuggler.org].
118
140
 
119
141
  Since the developers are mostly busy project managers themselves, we
120
- have created a [http://www.taskjuggler.org/forum.php forum] for users
142
+ have created a [http://www.taskjuggler.org/contact.html forum] for users
121
143
  to help each other.
122
144