taskjuggler 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. data/CHANGELOG +119 -0
  2. data/benchmarks/allocatedSlots.tjp +1602 -0
  3. data/benchmarks/booking.tjp +40 -30
  4. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
  5. data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
  6. data/benchmarks/gantt.tjp +57 -0
  7. data/benchmarks/htmltaskreport.tjp +26 -1
  8. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
  9. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
  10. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
  11. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
  12. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
  13. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
  14. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
  15. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
  16. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
  17. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
  18. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
  19. data/benchmarks/profile.clt +36082 -0
  20. data/benchmarks/profile.html +58182 -0
  21. data/benchmarks/runbench.rb +6 -0
  22. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
  23. data/doc/AppConfig.html +85 -37
  24. data/doc/Arguments.html +11 -1
  25. data/doc/CHANGELOG.html +131 -2
  26. data/doc/COPYING.html +11 -1
  27. data/doc/Object.html +12 -3
  28. data/doc/README.html +11 -1
  29. data/doc/RuntimeConfig.html +11 -1
  30. data/doc/String.html +11 -1
  31. data/doc/StringIO.html +11 -1
  32. data/doc/TaskJuggler.html +250 -219
  33. data/doc/TaskJuggler/Account.html +11 -1
  34. data/doc/TaskJuggler/AccountAttribute.html +11 -1
  35. data/doc/TaskJuggler/AccountScenario.html +11 -1
  36. data/doc/TaskJuggler/Allocation.html +11 -1
  37. data/doc/TaskJuggler/AllocationAttribute.html +11 -1
  38. data/doc/TaskJuggler/AttributeBase.html +11 -1
  39. data/doc/TaskJuggler/AttributeDefinition.html +11 -1
  40. data/doc/TaskJuggler/BatchProcessor.html +11 -1
  41. data/doc/TaskJuggler/Booking.html +11 -1
  42. data/doc/TaskJuggler/BookingListAttribute.html +11 -1
  43. data/doc/TaskJuggler/BooleanAttribute.html +11 -1
  44. data/doc/TaskJuggler/CSVFile.html +12 -2
  45. data/doc/TaskJuggler/CellSettingPattern.html +11 -1
  46. data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
  47. data/doc/TaskJuggler/Charge.html +11 -1
  48. data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
  49. data/doc/TaskJuggler/ChargeSet.html +11 -1
  50. data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
  51. data/doc/TaskJuggler/CollisionDetector.html +1063 -0
  52. data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
  53. data/doc/TaskJuggler/ColumnTable.html +11 -1
  54. data/doc/TaskJuggler/Daemon.html +11 -1
  55. data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
  56. data/doc/TaskJuggler/DataCacheEntry.html +711 -0
  57. data/doc/TaskJuggler/DateAttribute.html +11 -1
  58. data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
  59. data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
  60. data/doc/TaskJuggler/DurationAttribute.html +16 -5
  61. data/doc/TaskJuggler/FileList.html +11 -1
  62. data/doc/TaskJuggler/FileRecord.html +11 -1
  63. data/doc/TaskJuggler/FixnumAttribute.html +19 -9
  64. data/doc/TaskJuggler/FlagListAttribute.html +29 -19
  65. data/doc/TaskJuggler/FloatAttribute.html +23 -13
  66. data/doc/TaskJuggler/FormatListAttribute.html +19 -9
  67. data/doc/TaskJuggler/GanttChart.html +94 -133
  68. data/doc/TaskJuggler/GanttContainer.html +11 -1
  69. data/doc/TaskJuggler/GanttHeader.html +11 -1
  70. data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
  71. data/doc/TaskJuggler/GanttLine.html +11 -1
  72. data/doc/TaskJuggler/GanttLoadStack.html +11 -1
  73. data/doc/TaskJuggler/GanttMilestone.html +11 -1
  74. data/doc/TaskJuggler/GanttRouter.html +247 -596
  75. data/doc/TaskJuggler/GanttTaskBar.html +11 -1
  76. data/doc/TaskJuggler/HTMLDocument.html +11 -1
  77. data/doc/TaskJuggler/HTMLGraphics.html +11 -1
  78. data/doc/TaskJuggler/Interval.html +11 -1
  79. data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
  80. data/doc/TaskJuggler/JobInfo.html +11 -1
  81. data/doc/TaskJuggler/Journal.html +11 -1
  82. data/doc/TaskJuggler/JournalEntry.html +11 -1
  83. data/doc/TaskJuggler/JournalEntryList.html +11 -1
  84. data/doc/TaskJuggler/KeywordArray.html +11 -1
  85. data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
  86. data/doc/TaskJuggler/Limits.html +11 -1
  87. data/doc/TaskJuggler/Limits/Limit.html +11 -1
  88. data/doc/TaskJuggler/LimitsAttribute.html +24 -14
  89. data/doc/TaskJuggler/ListAttributeBase.html +11 -1
  90. data/doc/TaskJuggler/Log.html +11 -1
  91. data/doc/TaskJuggler/LogFile.html +11 -1
  92. data/doc/TaskJuggler/LogicalAttribute.html +11 -1
  93. data/doc/TaskJuggler/LogicalExpression.html +11 -1
  94. data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
  95. data/doc/TaskJuggler/LogicalFlag.html +11 -1
  96. data/doc/TaskJuggler/LogicalFunction.html +11 -1
  97. data/doc/TaskJuggler/LogicalOperation.html +11 -1
  98. data/doc/TaskJuggler/Macro.html +11 -1
  99. data/doc/TaskJuggler/MacroTable.html +11 -1
  100. data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
  101. data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
  102. data/doc/TaskJuggler/Message.html +11 -1
  103. data/doc/TaskJuggler/MessageHandler.html +11 -1
  104. data/doc/TaskJuggler/Navigator.html +12 -2
  105. data/doc/TaskJuggler/NavigatorElement.html +11 -1
  106. data/doc/TaskJuggler/NikuProject.html +11 -1
  107. data/doc/TaskJuggler/NikuReport.html +11 -1
  108. data/doc/TaskJuggler/NikuResource.html +11 -1
  109. data/doc/TaskJuggler/NodeListAttribute.html +17 -7
  110. data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
  111. data/doc/TaskJuggler/ProcessIntercom.html +11 -1
  112. data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
  113. data/doc/TaskJuggler/Project.html +587 -500
  114. data/doc/TaskJuggler/ProjectBroker.html +11 -1
  115. data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
  116. data/doc/TaskJuggler/ProjectFileParser.html +205 -192
  117. data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
  118. data/doc/TaskJuggler/ProjectRecord.html +11 -1
  119. data/doc/TaskJuggler/ProjectServer.html +11 -1
  120. data/doc/TaskJuggler/ProjectServerIface.html +11 -1
  121. data/doc/TaskJuggler/PropertyAttribute.html +19 -9
  122. data/doc/TaskJuggler/PropertyList.html +95 -83
  123. data/doc/TaskJuggler/PropertySet.html +11 -1
  124. data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
  125. data/doc/TaskJuggler/Query.html +234 -232
  126. data/doc/TaskJuggler/RTFHandlers.html +11 -1
  127. data/doc/TaskJuggler/RTFNavigator.html +11 -1
  128. data/doc/TaskJuggler/RTFQuery.html +11 -1
  129. data/doc/TaskJuggler/RTFReport.html +11 -1
  130. data/doc/TaskJuggler/RTFReportLink.html +11 -1
  131. data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
  132. data/doc/TaskJuggler/RealFormat.html +12 -2
  133. data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
  134. data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
  135. data/doc/TaskJuggler/Report.html +96 -113
  136. data/doc/TaskJuggler/ReportBase.html +161 -152
  137. data/doc/TaskJuggler/ReportContext.html +11 -1
  138. data/doc/TaskJuggler/ReportServer.html +59 -48
  139. data/doc/TaskJuggler/ReportServerIface.html +51 -41
  140. data/doc/TaskJuggler/ReportServerRecord.html +11 -1
  141. data/doc/TaskJuggler/ReportServlet.html +11 -1
  142. data/doc/TaskJuggler/ReportTable.html +46 -25
  143. data/doc/TaskJuggler/ReportTableCell.html +296 -275
  144. data/doc/TaskJuggler/ReportTableColumn.html +14 -4
  145. data/doc/TaskJuggler/ReportTableLegend.html +11 -1
  146. data/doc/TaskJuggler/ReportTableLine.html +19 -7
  147. data/doc/TaskJuggler/Resource.html +12 -2
  148. data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
  149. data/doc/TaskJuggler/ResourceListRE.html +11 -1
  150. data/doc/TaskJuggler/ResourceScenario.html +708 -565
  151. data/doc/TaskJuggler/RichText.html +54 -36
  152. data/doc/TaskJuggler/RichTextAttribute.html +31 -21
  153. data/doc/TaskJuggler/RichTextDocument.html +11 -1
  154. data/doc/TaskJuggler/RichTextElement.html +11 -1
  155. data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
  156. data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
  157. data/doc/TaskJuggler/RichTextImage.html +11 -1
  158. data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
  159. data/doc/TaskJuggler/RichTextParser.html +88 -33
  160. data/doc/TaskJuggler/RichTextScanner.html +45 -35
  161. data/doc/TaskJuggler/RichTextSnip.html +11 -1
  162. data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
  163. data/doc/TaskJuggler/Scenario.html +11 -1
  164. data/doc/TaskJuggler/ScenarioData.html +11 -1
  165. data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
  166. data/doc/TaskJuggler/Scoreboard.html +92 -73
  167. data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
  168. data/doc/TaskJuggler/SheetReceiver.html +11 -1
  169. data/doc/TaskJuggler/SheetSender.html +11 -1
  170. data/doc/TaskJuggler/Shift.html +11 -1
  171. data/doc/TaskJuggler/ShiftAssignment.html +11 -1
  172. data/doc/TaskJuggler/ShiftAssignments.html +11 -1
  173. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
  174. data/doc/TaskJuggler/ShiftScenario.html +11 -1
  175. data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
  176. data/doc/TaskJuggler/SortListAttribute.html +21 -11
  177. data/doc/TaskJuggler/SourceFileInfo.html +11 -1
  178. data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
  179. data/doc/TaskJuggler/StatusSheetReport.html +11 -1
  180. data/doc/TaskJuggler/StatusSheetSender.html +112 -11
  181. data/doc/TaskJuggler/StringAttribute.html +23 -13
  182. data/doc/TaskJuggler/SymbolAttribute.html +19 -9
  183. data/doc/TaskJuggler/SyntaxReference.html +80 -71
  184. data/doc/TaskJuggler/TOCEntry.html +11 -1
  185. data/doc/TaskJuggler/TSResourceRecord.html +11 -1
  186. data/doc/TaskJuggler/TSTaskRecord.html +11 -1
  187. data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
  188. data/doc/TaskJuggler/TableOfContents.html +11 -1
  189. data/doc/TaskJuggler/TableReport.html +422 -411
  190. data/doc/TaskJuggler/Task.html +11 -1
  191. data/doc/TaskJuggler/TaskDependency.html +11 -1
  192. data/doc/TaskJuggler/TaskListAttribute.html +33 -23
  193. data/doc/TaskJuggler/TaskListRE.html +11 -1
  194. data/doc/TaskJuggler/TaskScenario.html +2007 -1919
  195. data/doc/TaskJuggler/TextFormatter.html +11 -1
  196. data/doc/TaskJuggler/TextParser.html +421 -612
  197. data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
  198. data/doc/TaskJuggler/TextParser/Rule.html +224 -152
  199. data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
  200. data/doc/TaskJuggler/TextParser/State.html +989 -0
  201. data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
  202. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
  203. data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
  204. data/doc/TaskJuggler/TextReport.html +11 -1
  205. data/doc/TaskJuggler/TextScanner.html +285 -273
  206. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
  207. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
  208. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
  209. data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
  210. data/doc/TaskJuggler/TimeSheet.html +11 -1
  211. data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
  212. data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
  213. data/doc/TaskJuggler/TimeSheetReport.html +11 -1
  214. data/doc/TaskJuggler/TimeSheetSender.html +11 -1
  215. data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
  216. data/doc/TaskJuggler/TimeSheets.html +11 -1
  217. data/doc/TaskJuggler/Tj3AppBase.html +11 -1
  218. data/doc/TaskJuggler/Tj3Client.html +11 -1
  219. data/doc/TaskJuggler/Tj3Daemon.html +11 -1
  220. data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
  221. data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
  222. data/doc/TaskJuggler/Tj3SsSender.html +11 -1
  223. data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
  224. data/doc/TaskJuggler/Tj3TsSender.html +11 -1
  225. data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
  226. data/doc/TaskJuggler/TjException.html +11 -1
  227. data/doc/TaskJuggler/TjTime.html +474 -324
  228. data/doc/TaskJuggler/TjpExample.html +11 -1
  229. data/doc/TaskJuggler/TjpExportRE.html +11 -1
  230. data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
  231. data/doc/TaskJuggler/URLParameter.html +11 -1
  232. data/doc/TaskJuggler/UserManual.html +11 -1
  233. data/doc/TaskJuggler/VimSyntax.html +11 -1
  234. data/doc/TaskJuggler/WebServer.html +11 -1
  235. data/doc/TaskJuggler/WorkingHours.html +295 -221
  236. data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
  237. data/doc/TaskJuggler/XMLBlob.html +11 -1
  238. data/doc/TaskJuggler/XMLComment.html +11 -1
  239. data/doc/TaskJuggler/XMLDocument.html +11 -1
  240. data/doc/TaskJuggler/XMLElement.html +11 -1
  241. data/doc/TaskJuggler/XMLNamedText.html +11 -1
  242. data/doc/TaskJuggler/XMLText.html +11 -1
  243. data/doc/index.html +694 -624
  244. data/doc/lib/AppConfig_rb.html +1 -1
  245. data/doc/lib/Attributes_rb.html +1 -1
  246. data/doc/lib/Booking_rb.html +1 -1
  247. data/doc/lib/DataCache_rb.html +69 -0
  248. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  249. data/doc/lib/ProjectFileParser_rb.html +1 -1
  250. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  251. data/doc/lib/Project_rb.html +1 -1
  252. data/doc/lib/PropertyList_rb.html +1 -1
  253. data/doc/lib/Query_rb.html +1 -1
  254. data/doc/lib/RealFormat_rb.html +1 -1
  255. data/doc/lib/ResourceScenario_rb.html +1 -1
  256. data/doc/lib/Resource_rb.html +1 -1
  257. data/doc/lib/RichTextParser_rb.html +1 -1
  258. data/doc/lib/RichTextScanner_rb.html +1 -1
  259. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  260. data/doc/lib/RichText_rb.html +1 -1
  261. data/doc/lib/Scoreboard_rb.html +1 -1
  262. data/doc/lib/StatusSheetSender_rb.html +1 -1
  263. data/doc/lib/SyntaxReference_rb.html +1 -1
  264. data/doc/lib/TaskJuggler_rb.html +1 -1
  265. data/doc/lib/TaskScenario_rb.html +3 -1
  266. data/doc/lib/TextParser/Pattern_rb.html +3 -1
  267. data/doc/lib/TextParser/Rule_rb.html +3 -1
  268. data/doc/lib/TextParser/StackElement_rb.html +3 -1
  269. data/doc/lib/TextParser/State_rb.html +65 -0
  270. data/doc/lib/TextParser_rb.html +1 -1
  271. data/doc/lib/TextScanner_rb.html +1 -1
  272. data/doc/lib/Tj3Config_rb.html +1 -1
  273. data/doc/lib/TjTime_rb.html +1 -1
  274. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  275. data/doc/lib/WorkingHours_rb.html +3 -1
  276. data/doc/lib/daemon/ReportServer_rb.html +1 -1
  277. data/doc/lib/reports/CSVFile_rb.html +1 -1
  278. data/doc/lib/reports/CollisionDetector_rb.html +67 -0
  279. data/doc/lib/reports/GanttChart_rb.html +1 -1
  280. data/doc/lib/reports/GanttRouter_rb.html +3 -1
  281. data/doc/lib/reports/Navigator_rb.html +1 -1
  282. data/doc/lib/reports/ReportBase_rb.html +1 -1
  283. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  284. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  285. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  286. data/doc/lib/reports/ReportTable_rb.html +1 -1
  287. data/doc/lib/reports/Report_rb.html +1 -1
  288. data/doc/lib/reports/TableReport_rb.html +1 -1
  289. data/doc/lib/taskjuggler3_rb.html +1 -1
  290. data/examples/tutorial.tjp +1 -2
  291. data/lib/AppConfig.rb +10 -4
  292. data/lib/Attributes.rb +4 -4
  293. data/lib/DataCache.rb +124 -0
  294. data/lib/KeywordDocumentation.rb +5 -5
  295. data/lib/Project.rb +54 -10
  296. data/lib/ProjectFileParser.rb +10 -9
  297. data/lib/ProjectFileScanner.rb +38 -25
  298. data/lib/PropertyList.rb +6 -4
  299. data/lib/Query.rb +0 -8
  300. data/lib/RealFormat.rb +1 -1
  301. data/lib/Resource.rb +1 -1
  302. data/lib/ResourceScenario.rb +96 -31
  303. data/lib/RichText.rb +17 -5
  304. data/lib/RichTextParser.rb +22 -9
  305. data/lib/RichTextScanner.rb +34 -34
  306. data/lib/RichTextSyntaxRules.rb +41 -36
  307. data/lib/Scoreboard.rb +16 -7
  308. data/lib/StatusSheetSender.rb +63 -0
  309. data/lib/SyntaxReference.rb +9 -10
  310. data/lib/TaskJuggler.rb +28 -4
  311. data/lib/TaskScenario.rb +66 -19
  312. data/lib/TextParser.rb +219 -384
  313. data/lib/TextParser/Pattern.rb +168 -49
  314. data/lib/TextParser/Rule.rb +33 -17
  315. data/lib/TextParser/StackElement.rb +42 -2
  316. data/lib/TextParser/State.rb +175 -0
  317. data/lib/TextScanner.rb +19 -15
  318. data/lib/Tj3Config.rb +1 -1
  319. data/lib/TjTime.rb +111 -3
  320. data/lib/TjpSyntaxRules.rb +122 -66
  321. data/lib/WorkingHours.rb +91 -186
  322. data/lib/daemon/ReportServer.rb +3 -2
  323. data/lib/reports/CSVFile.rb +1 -1
  324. data/lib/reports/CollisionDetector.rb +177 -0
  325. data/lib/reports/GanttChart.rb +25 -41
  326. data/lib/reports/GanttRouter.rb +104 -233
  327. data/lib/reports/Navigator.rb +1 -1
  328. data/lib/reports/Report.rb +9 -33
  329. data/lib/reports/ReportBase.rb +0 -1
  330. data/lib/reports/ReportTable.rb +19 -8
  331. data/lib/reports/ReportTableCell.rb +61 -25
  332. data/lib/reports/ReportTableColumn.rb +2 -2
  333. data/lib/reports/ReportTableLine.rb +4 -2
  334. data/lib/reports/TableReport.rb +1 -0
  335. data/lib/taskjuggler3.rb +0 -1
  336. data/manual/Installation +7 -3
  337. data/manual/Intro +12 -10
  338. data/manual/The_TaskJuggler_Syntax +4 -4
  339. data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
  340. data/test/TestSuite/CSV-Reports/genrefs +1 -1
  341. data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
  342. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
  343. data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
  344. data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
  345. data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
  346. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
  347. data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
  348. data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
  349. data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
  350. data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
  351. data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
  352. data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
  353. data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
  354. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  355. data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
  356. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
  357. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
  358. data/test/TestSuite/StatusSheets/run +2 -0
  359. data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
  360. data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
  361. data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
  362. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
  363. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  364. data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
  365. data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
  366. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  367. data/test/TestSuite/TimeSheets/run +1 -1
  368. data/test/test_CSV-Reports.rb +2 -4
  369. data/test/test_CollisionDetector.rb +85 -0
  370. data/test/test_Project.rb +2 -2
  371. data/test/test_ProjectFileScanner.rb +73 -31
  372. data/test/test_Query.rb +2 -2
  373. data/test/test_ReportGenerator.rb +1 -1
  374. data/test/test_RichText.rb +4 -4
  375. data/test/test_WorkingHours.rb +150 -11
  376. metadata +75 -67
  377. data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
  378. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
  379. data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
  380. data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
  381. data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
  382. data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
  383. data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
  384. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
  385. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  386. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  387. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  388. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  389. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  390. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  391. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  392. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  393. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  394. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  395. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  396. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  397. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
  398. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
  399. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  400. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  401. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  402. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  403. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  404. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  405. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  406. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  407. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  408. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  409. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  410. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
  411. data/test/TestSuite/StatusSheets/resrep.tji +0 -7
  412. data/test/TestSuite/StatusSheets/tj3d.log +0 -312
  413. data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
  414. data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
  415. data/test/TestSuite/TimeSheets/statussheets.log +0 -1
data/CHANGELOG CHANGED
@@ -2244,3 +2244,122 @@
2244
2244
  When a status sheet was re-submitted, the old and the new entries were
2245
2245
  listed in the confirmation mail.
2246
2246
 
2247
+ = Release 0.0.8 (2010-11-24)
2248
+
2249
+ * Bumping version to 0.0.8
2250
+
2251
+ * Update feature list.
2252
+
2253
+ * Fixing end of exported bookings.
2254
+
2255
+ There was one time slot too much at the task end.
2256
+
2257
+ Reported-by: Dimitri Pissarenko <dmitri.pissarenko@gmail.com>
2258
+
2259
+ * Fixing the booking example used in the reference manual.
2260
+
2261
+ * Adding 'resourceroot' and 'rollupresource' attributes.
2262
+
2263
+ * Make dependency loop error message more specific.
2264
+
2265
+ * Properly detect illegal tokens inside of patterns.
2266
+
2267
+ This was only working for tokens at the end of a rule.
2268
+
2269
+ * Fixing the attributes and contexts info in the manual and tj3man
2270
+ output.
2271
+
2272
+ * Fixing CSV reports with embedded tables.
2273
+
2274
+ * Reuse RichText parser for parsing all RichText input.
2275
+
2276
+ * Switch parser to use new state machine compiler.
2277
+
2278
+ * Fix merge conflict.
2279
+
2280
+ * Fix Ruby 1.8.x compatibility issue.
2281
+
2282
+ * Some more work on the state machine compiler.
2283
+
2284
+ * Adding a (still disabled) state machine compiler to the parser.
2285
+
2286
+ * Looking into pre-compiled states for the parser FSM.
2287
+
2288
+ * Clarifying the difference between ${now} and ${today}.
2289
+
2290
+ * Minor parser code tweaks.
2291
+
2292
+ * More parser code tweaking.
2293
+
2294
+ * Cleaning up some parser code.
2295
+
2296
+ * Moving the rule transition analysis into Rules.
2297
+
2298
+ * Some speed improvements for the parsers.
2299
+
2300
+ * Use more symbols and less Strings.
2301
+
2302
+ * Add a warning if no report was defined or no format was specified.
2303
+
2304
+ * Add more descriptive error message for start/gap conflict.
2305
+
2306
+ * Cleaned-up the GanttRounter and refactored the collision detector.
2307
+
2308
+ * Limiting the scoreboard iterations to actually used segments.
2309
+
2310
+ * Fix missing values in 'status' column
2311
+
2312
+ * More performance improvements for the report generator.
2313
+
2314
+ * Fix performance regressions for the 'resources' column.
2315
+
2316
+ * Substantial speed improvements for the report generator.
2317
+
2318
+ * Fixing a typo.
2319
+
2320
+ * Some cleanups of the DataCache.
2321
+
2322
+ * Adding a global data cache to speed up report generation.
2323
+
2324
+ This is just a test implementation. It needs further fine tuning and
2325
+ polishing.
2326
+
2327
+ * Another merge conflict
2328
+
2329
+ * Fix a merge conflict
2330
+
2331
+ * Adding simple performance profiling support to report server
2332
+
2333
+ * Performance improvements
2334
+
2335
+ 'loadunit' now defaults to 'days' instead of 'shortauto'. 'shortauto'
2336
+ is neat, but can slow down the report generation quite a bit.
2337
+
2338
+ * Show tried directories when TASKJUGGLER_DATA_PATH is not set properly.
2339
+
2340
+ * Improve parser performance by sharing Workinghours scoreboards.
2341
+
2342
+ The scoreboards now use the copy-on-write scheme.
2343
+
2344
+ * Fixing several time zone related bugs in the context of working hours.
2345
+
2346
+ This patch also adds much stricter error checking for time and date
2347
+ values.
2348
+
2349
+ * Adding a new benchmark for report generation speed.
2350
+
2351
+ * Added a unit test for WorkingHours::timeOff?()
2352
+
2353
+ * Don't default time sheets that have been submitted after last tj3ts_summary.
2354
+
2355
+ * Include list of defaulters in the status report templates.
2356
+
2357
+ If tj3ts_summary has been used to generate the 'missing-reports' file,
2358
+ this will now be included in the status sheet templates.
2359
+
2360
+ * Don't use tooltips to shorten table headers.
2361
+
2362
+ * Fix crashes when bad sorting criteria is used.
2363
+
2364
+ * Updating the install section with current dependencies.
2365
+
@@ -0,0 +1,1602 @@
1
+ project "Benchmark" 2010-06-19 +3y
2
+
3
+ shift parttime "Part Time" {
4
+ workinghours mon, wed, fri 8:00 - 12:00
5
+ }
6
+
7
+ resource a "A"
8
+ resource b "B"
9
+ resource c "C"
10
+ resource d "D"
11
+ resource e "E"
12
+ resource f "F"
13
+ resource g "G"
14
+ resource h "H"
15
+
16
+ task g1 "Group 1" {
17
+ task sg1 "Sub Group 1" {
18
+ task t1 "Task 1" {
19
+ effort 2d
20
+ allocate a
21
+ }
22
+ task t2 "Task 2" {
23
+ length 2d
24
+ priority 600
25
+ allocate b
26
+ depends !t1
27
+ }
28
+ task t3 "Task 3" {
29
+ duration 4d
30
+ allocate a { alternative b }
31
+ priority 200
32
+ }
33
+ task t4 "Task 4" {
34
+ depends !t1
35
+ length 5d
36
+ allocate c
37
+ priority 800
38
+ limits { dailymax 2h }
39
+ }
40
+ task t5 "Task 5" {
41
+ effort 10d
42
+ allocate d
43
+ }
44
+ task t6 "Task 6" {
45
+ depends !t5
46
+ effort 5d
47
+ allocate e { mandatory }
48
+ allocate f { alternative g }
49
+ }
50
+ task t7 "Task 7" {
51
+ duration 5d
52
+ depends !t1
53
+ allocate e
54
+ priority 900
55
+ shift parttime
56
+ }
57
+ task t8 "Task 8" {
58
+ depends !t4
59
+ milestone
60
+ }
61
+ task t9 "Task 9" {
62
+ depends !t6
63
+ }
64
+ task t10 "Task 10" {
65
+ effort 3d
66
+ allocate h { alternative a }
67
+ }
68
+ }
69
+ task sg2 "Sub Group 2" {
70
+ depends !sg1
71
+ task t1 "Task 1" {
72
+ effort 2d
73
+ allocate a
74
+ }
75
+ task t2 "Task 2" {
76
+ length 2d
77
+ priority 600
78
+ allocate b
79
+ depends !t1
80
+ }
81
+ task t3 "Task 3" {
82
+ duration 4d
83
+ allocate a { alternative b }
84
+ priority 200
85
+ }
86
+ task t4 "Task 4" {
87
+ depends !t1
88
+ length 5d
89
+ allocate c
90
+ priority 800
91
+ limits { dailymax 2h }
92
+ }
93
+ task t5 "Task 5" {
94
+ effort 10d
95
+ allocate d
96
+ }
97
+ task t6 "Task 6" {
98
+ depends !t5
99
+ effort 5d
100
+ allocate e { mandatory }
101
+ allocate f { alternative g }
102
+ }
103
+ task t7 "Task 7" {
104
+ duration 5d
105
+ depends !t1
106
+ allocate e
107
+ priority 900
108
+ shift parttime
109
+ }
110
+ task t8 "Task 8" {
111
+ depends !t4
112
+ milestone
113
+ }
114
+ task t9 "Task 9" {
115
+ depends !t6
116
+ }
117
+ task t10 "Task 10" {
118
+ effort 3d
119
+ allocate h { alternative a }
120
+ }
121
+ }
122
+ task sg3 "Sub Group 3" {
123
+ task t1 "Task 1" {
124
+ effort 2d
125
+ allocate a
126
+ }
127
+ task t2 "Task 2" {
128
+ length 2d
129
+ priority 600
130
+ allocate b
131
+ depends !t1
132
+ }
133
+ task t3 "Task 3" {
134
+ duration 4d
135
+ allocate a { alternative b }
136
+ priority 200
137
+ }
138
+ task t4 "Task 4" {
139
+ depends !t1
140
+ length 5d
141
+ allocate c
142
+ priority 800
143
+ limits { dailymax 2h }
144
+ }
145
+ task t5 "Task 5" {
146
+ effort 10d
147
+ allocate d
148
+ }
149
+ task t6 "Task 6" {
150
+ depends !t5
151
+ effort 5d
152
+ allocate e { mandatory }
153
+ allocate f { alternative g }
154
+ }
155
+ task t7 "Task 7" {
156
+ duration 5d
157
+ depends !t1
158
+ allocate e
159
+ priority 900
160
+ shift parttime
161
+ }
162
+ task t8 "Task 8" {
163
+ depends !t4
164
+ milestone
165
+ }
166
+ task t9 "Task 9" {
167
+ depends !t6
168
+ }
169
+ task t10 "Task 10" {
170
+ effort 3d
171
+ allocate h { alternative a }
172
+ }
173
+ }
174
+ task sg4 "Sub Group 4" {
175
+ depends !sg2
176
+ task t1 "Task 1" {
177
+ effort 2d
178
+ allocate a
179
+ }
180
+ task t2 "Task 2" {
181
+ length 2d
182
+ priority 600
183
+ allocate b
184
+ depends !t1
185
+ }
186
+ task t3 "Task 3" {
187
+ duration 4d
188
+ allocate a { alternative b }
189
+ priority 200
190
+ }
191
+ task t4 "Task 4" {
192
+ depends !t1
193
+ length 5d
194
+ allocate c
195
+ priority 800
196
+ limits { dailymax 2h }
197
+ }
198
+ task t5 "Task 5" {
199
+ effort 10d
200
+ allocate d
201
+ }
202
+ task t6 "Task 6" {
203
+ depends !t5
204
+ effort 5d
205
+ allocate e { mandatory }
206
+ allocate f { alternative g }
207
+ }
208
+ task t7 "Task 7" {
209
+ duration 5d
210
+ depends !t1
211
+ allocate e
212
+ priority 900
213
+ shift parttime
214
+ }
215
+ task t8 "Task 8" {
216
+ depends !t4
217
+ milestone
218
+ }
219
+ task t9 "Task 9" {
220
+ depends !t6
221
+ }
222
+ task t10 "Task 10" {
223
+ effort 3d
224
+ allocate h { alternative a }
225
+ }
226
+ }
227
+ task sg5 "Sub Group 5" {
228
+ task t1 "Task 1" {
229
+ effort 2d
230
+ allocate a
231
+ }
232
+ task t2 "Task 2" {
233
+ length 2d
234
+ priority 600
235
+ allocate b
236
+ depends !t1
237
+ }
238
+ task t3 "Task 3" {
239
+ duration 4d
240
+ allocate a { alternative b }
241
+ priority 200
242
+ }
243
+ task t4 "Task 4" {
244
+ depends !t1
245
+ length 5d
246
+ allocate c
247
+ priority 800
248
+ limits { dailymax 2h }
249
+ }
250
+ task t5 "Task 5" {
251
+ effort 10d
252
+ allocate d
253
+ }
254
+ task t6 "Task 6" {
255
+ depends !t5
256
+ effort 5d
257
+ allocate e { mandatory }
258
+ allocate f { alternative g }
259
+ }
260
+ task t7 "Task 7" {
261
+ duration 5d
262
+ depends !t1
263
+ allocate e
264
+ priority 900
265
+ shift parttime
266
+ }
267
+ task t8 "Task 8" {
268
+ depends !t4
269
+ milestone
270
+ }
271
+ task t9 "Task 9" {
272
+ depends !t6
273
+ }
274
+ task t10 "Task 10" {
275
+ effort 3d
276
+ allocate h { alternative a }
277
+ }
278
+ }
279
+ task sg6 "Sub Group 6" {
280
+ depends !sg4
281
+ task t1 "Task 1" {
282
+ effort 2d
283
+ allocate a
284
+ }
285
+ task t2 "Task 2" {
286
+ length 2d
287
+ priority 600
288
+ allocate b
289
+ depends !t1
290
+ }
291
+ task t3 "Task 3" {
292
+ duration 4d
293
+ allocate a { alternative b }
294
+ priority 200
295
+ }
296
+ task t4 "Task 4" {
297
+ depends !t1
298
+ length 5d
299
+ allocate c
300
+ priority 800
301
+ limits { dailymax 2h }
302
+ }
303
+ task t5 "Task 5" {
304
+ effort 10d
305
+ allocate d
306
+ }
307
+ task t6 "Task 6" {
308
+ depends !t5
309
+ effort 5d
310
+ allocate e { mandatory }
311
+ allocate f { alternative g }
312
+ }
313
+ task t7 "Task 7" {
314
+ duration 5d
315
+ depends !t1
316
+ allocate e
317
+ priority 900
318
+ shift parttime
319
+ }
320
+ task t8 "Task 8" {
321
+ depends !t4
322
+ milestone
323
+ }
324
+ task t9 "Task 9" {
325
+ depends !t6
326
+ }
327
+ task t10 "Task 10" {
328
+ effort 3d
329
+ allocate h { alternative a }
330
+ }
331
+ }
332
+ task sg7 "Sub Group 7" {
333
+ task t1 "Task 1" {
334
+ effort 2d
335
+ allocate a
336
+ }
337
+ task t2 "Task 2" {
338
+ length 2d
339
+ priority 600
340
+ allocate b
341
+ depends !t1
342
+ }
343
+ task t3 "Task 3" {
344
+ duration 4d
345
+ allocate a { alternative b }
346
+ priority 200
347
+ }
348
+ task t4 "Task 4" {
349
+ depends !t1
350
+ length 5d
351
+ allocate c
352
+ priority 800
353
+ limits { dailymax 2h }
354
+ }
355
+ task t5 "Task 5" {
356
+ effort 10d
357
+ allocate d
358
+ }
359
+ task t6 "Task 6" {
360
+ depends !t5
361
+ effort 5d
362
+ allocate e { mandatory }
363
+ allocate f { alternative g }
364
+ }
365
+ task t7 "Task 7" {
366
+ duration 5d
367
+ depends !t1
368
+ allocate e
369
+ priority 900
370
+ shift parttime
371
+ }
372
+ task t8 "Task 8" {
373
+ depends !t4
374
+ milestone
375
+ }
376
+ task t9 "Task 9" {
377
+ depends !t6
378
+ }
379
+ task t10 "Task 10" {
380
+ effort 3d
381
+ allocate h { alternative a }
382
+ }
383
+ }
384
+ task sg8 "Sub Group 8" {
385
+ depends !sg7
386
+ task t1 "Task 1" {
387
+ effort 2d
388
+ allocate a
389
+ }
390
+ task t2 "Task 2" {
391
+ length 2d
392
+ priority 600
393
+ allocate b
394
+ depends !t1
395
+ }
396
+ task t3 "Task 3" {
397
+ duration 4d
398
+ allocate a { alternative b }
399
+ priority 200
400
+ }
401
+ task t4 "Task 4" {
402
+ depends !t1
403
+ length 5d
404
+ allocate c
405
+ priority 800
406
+ limits { dailymax 2h }
407
+ }
408
+ task t5 "Task 5" {
409
+ effort 10d
410
+ allocate d
411
+ }
412
+ task t6 "Task 6" {
413
+ depends !t5
414
+ effort 5d
415
+ allocate e { mandatory }
416
+ allocate f { alternative g }
417
+ }
418
+ task t7 "Task 7" {
419
+ duration 5d
420
+ depends !t1
421
+ allocate e
422
+ priority 900
423
+ shift parttime
424
+ }
425
+ task t8 "Task 8" {
426
+ depends !t4
427
+ milestone
428
+ }
429
+ task t9 "Task 9" {
430
+ depends !t6
431
+ }
432
+ task t10 "Task 10" {
433
+ effort 3d
434
+ allocate h { alternative a }
435
+ }
436
+ }
437
+ task sg9 "Sub Group 9" {
438
+ task t1 "Task 1" {
439
+ effort 2d
440
+ allocate a
441
+ }
442
+ task t2 "Task 2" {
443
+ length 2d
444
+ priority 600
445
+ allocate b
446
+ depends !t1
447
+ }
448
+ task t3 "Task 3" {
449
+ duration 4d
450
+ allocate a { alternative b }
451
+ priority 200
452
+ }
453
+ task t4 "Task 4" {
454
+ depends !t1
455
+ length 5d
456
+ allocate c
457
+ priority 800
458
+ limits { dailymax 2h }
459
+ }
460
+ task t5 "Task 5" {
461
+ effort 10d
462
+ allocate d
463
+ }
464
+ task t6 "Task 6" {
465
+ depends !t5
466
+ effort 5d
467
+ allocate e { mandatory }
468
+ allocate f { alternative g }
469
+ }
470
+ task t7 "Task 7" {
471
+ duration 5d
472
+ depends !t1
473
+ allocate e
474
+ priority 900
475
+ shift parttime
476
+ }
477
+ task t8 "Task 8" {
478
+ depends !t4
479
+ milestone
480
+ }
481
+ task t9 "Task 9" {
482
+ depends !t6
483
+ }
484
+ task t10 "Task 10" {
485
+ effort 3d
486
+ allocate h { alternative a }
487
+ }
488
+ }
489
+ task sg10 "Sub Group 10" {
490
+ depends !sg6
491
+ task t1 "Task 1" {
492
+ effort 2d
493
+ allocate a
494
+ }
495
+ task t2 "Task 2" {
496
+ length 2d
497
+ priority 600
498
+ allocate b
499
+ depends !t1
500
+ }
501
+ task t3 "Task 3" {
502
+ duration 4d
503
+ allocate a { alternative b }
504
+ priority 200
505
+ }
506
+ task t4 "Task 4" {
507
+ depends !t1
508
+ length 5d
509
+ allocate c
510
+ priority 800
511
+ limits { dailymax 2h }
512
+ }
513
+ task t5 "Task 5" {
514
+ effort 10d
515
+ allocate d
516
+ }
517
+ task t6 "Task 6" {
518
+ depends !t5
519
+ effort 5d
520
+ allocate e { mandatory }
521
+ allocate f { alternative g }
522
+ }
523
+ task t7 "Task 7" {
524
+ duration 5d
525
+ depends !t1
526
+ allocate e
527
+ priority 900
528
+ shift parttime
529
+ }
530
+ task t8 "Task 8" {
531
+ depends !t4
532
+ milestone
533
+ }
534
+ task t9 "Task 9" {
535
+ depends !t6
536
+ }
537
+ task t10 "Task 10" {
538
+ effort 3d
539
+ allocate h { alternative a }
540
+ }
541
+ }
542
+ }
543
+ task g2 "Group 2" {
544
+ depends !g1
545
+ task sg1 "Sub Group 1" {
546
+ task t1 "Task 1" {
547
+ effort 2d
548
+ allocate a
549
+ }
550
+ task t2 "Task 2" {
551
+ length 2d
552
+ priority 600
553
+ allocate b
554
+ depends !t1
555
+ }
556
+ task t3 "Task 3" {
557
+ duration 4d
558
+ allocate a { alternative b }
559
+ priority 200
560
+ }
561
+ task t4 "Task 4" {
562
+ depends !t1
563
+ length 5d
564
+ allocate c
565
+ priority 800
566
+ limits { dailymax 2h }
567
+ }
568
+ task t5 "Task 5" {
569
+ effort 10d
570
+ allocate d
571
+ }
572
+ task t6 "Task 6" {
573
+ depends !t5
574
+ effort 5d
575
+ allocate e { mandatory }
576
+ allocate f { alternative g }
577
+ }
578
+ task t7 "Task 7" {
579
+ duration 5d
580
+ depends !t1
581
+ allocate e
582
+ priority 900
583
+ shift parttime
584
+ }
585
+ task t8 "Task 8" {
586
+ depends !t4
587
+ milestone
588
+ }
589
+ task t9 "Task 9" {
590
+ depends !t6
591
+ }
592
+ task t10 "Task 10" {
593
+ effort 3d
594
+ allocate h { alternative a }
595
+ }
596
+ }
597
+ task sg2 "Sub Group 2" {
598
+ depends !sg1
599
+ task t1 "Task 1" {
600
+ effort 2d
601
+ allocate a
602
+ }
603
+ task t2 "Task 2" {
604
+ length 2d
605
+ priority 600
606
+ allocate b
607
+ depends !t1
608
+ }
609
+ task t3 "Task 3" {
610
+ duration 4d
611
+ allocate a { alternative b }
612
+ priority 200
613
+ }
614
+ task t4 "Task 4" {
615
+ depends !t1
616
+ length 5d
617
+ allocate c
618
+ priority 800
619
+ limits { dailymax 2h }
620
+ }
621
+ task t5 "Task 5" {
622
+ effort 10d
623
+ allocate d
624
+ }
625
+ task t6 "Task 6" {
626
+ depends !t5
627
+ effort 5d
628
+ allocate e { mandatory }
629
+ allocate f { alternative g }
630
+ }
631
+ task t7 "Task 7" {
632
+ duration 5d
633
+ depends !t1
634
+ allocate e
635
+ priority 900
636
+ shift parttime
637
+ }
638
+ task t8 "Task 8" {
639
+ depends !t4
640
+ milestone
641
+ }
642
+ task t9 "Task 9" {
643
+ depends !t6
644
+ }
645
+ task t10 "Task 10" {
646
+ effort 3d
647
+ allocate h { alternative a }
648
+ }
649
+ }
650
+ task sg3 "Sub Group 3" {
651
+ task t1 "Task 1" {
652
+ effort 2d
653
+ allocate a
654
+ }
655
+ task t2 "Task 2" {
656
+ length 2d
657
+ priority 600
658
+ allocate b
659
+ depends !t1
660
+ }
661
+ task t3 "Task 3" {
662
+ duration 4d
663
+ allocate a { alternative b }
664
+ priority 200
665
+ }
666
+ task t4 "Task 4" {
667
+ depends !t1
668
+ length 5d
669
+ allocate c
670
+ priority 800
671
+ limits { dailymax 2h }
672
+ }
673
+ task t5 "Task 5" {
674
+ effort 10d
675
+ allocate d
676
+ }
677
+ task t6 "Task 6" {
678
+ depends !t5
679
+ effort 5d
680
+ allocate e { mandatory }
681
+ allocate f { alternative g }
682
+ }
683
+ task t7 "Task 7" {
684
+ duration 5d
685
+ depends !t1
686
+ allocate e
687
+ priority 900
688
+ shift parttime
689
+ }
690
+ task t8 "Task 8" {
691
+ depends !t4
692
+ milestone
693
+ }
694
+ task t9 "Task 9" {
695
+ depends !t6
696
+ }
697
+ task t10 "Task 10" {
698
+ effort 3d
699
+ allocate h { alternative a }
700
+ }
701
+ }
702
+ task sg4 "Sub Group 4" {
703
+ depends !sg2
704
+ task t1 "Task 1" {
705
+ effort 2d
706
+ allocate a
707
+ }
708
+ task t2 "Task 2" {
709
+ length 2d
710
+ priority 600
711
+ allocate b
712
+ depends !t1
713
+ }
714
+ task t3 "Task 3" {
715
+ duration 4d
716
+ allocate a { alternative b }
717
+ priority 200
718
+ }
719
+ task t4 "Task 4" {
720
+ depends !t1
721
+ length 5d
722
+ allocate c
723
+ priority 800
724
+ limits { dailymax 2h }
725
+ }
726
+ task t5 "Task 5" {
727
+ effort 10d
728
+ allocate d
729
+ }
730
+ task t6 "Task 6" {
731
+ depends !t5
732
+ effort 5d
733
+ allocate e { mandatory }
734
+ allocate f { alternative g }
735
+ }
736
+ task t7 "Task 7" {
737
+ duration 5d
738
+ depends !t1
739
+ allocate e
740
+ priority 900
741
+ shift parttime
742
+ }
743
+ task t8 "Task 8" {
744
+ depends !t4
745
+ milestone
746
+ }
747
+ task t9 "Task 9" {
748
+ depends !t6
749
+ }
750
+ task t10 "Task 10" {
751
+ effort 3d
752
+ allocate h { alternative a }
753
+ }
754
+ }
755
+ task sg5 "Sub Group 5" {
756
+ task t1 "Task 1" {
757
+ effort 2d
758
+ allocate a
759
+ }
760
+ task t2 "Task 2" {
761
+ length 2d
762
+ priority 600
763
+ allocate b
764
+ depends !t1
765
+ }
766
+ task t3 "Task 3" {
767
+ duration 4d
768
+ allocate a { alternative b }
769
+ priority 200
770
+ }
771
+ task t4 "Task 4" {
772
+ depends !t1
773
+ length 5d
774
+ allocate c
775
+ priority 800
776
+ limits { dailymax 2h }
777
+ }
778
+ task t5 "Task 5" {
779
+ effort 10d
780
+ allocate d
781
+ }
782
+ task t6 "Task 6" {
783
+ depends !t5
784
+ effort 5d
785
+ allocate e { mandatory }
786
+ allocate f { alternative g }
787
+ }
788
+ task t7 "Task 7" {
789
+ duration 5d
790
+ depends !t1
791
+ allocate e
792
+ priority 900
793
+ shift parttime
794
+ }
795
+ task t8 "Task 8" {
796
+ depends !t4
797
+ milestone
798
+ }
799
+ task t9 "Task 9" {
800
+ depends !t6
801
+ }
802
+ task t10 "Task 10" {
803
+ effort 3d
804
+ allocate h { alternative a }
805
+ }
806
+ }
807
+ task sg6 "Sub Group 6" {
808
+ depends !sg4
809
+ task t1 "Task 1" {
810
+ effort 2d
811
+ allocate a
812
+ }
813
+ task t2 "Task 2" {
814
+ length 2d
815
+ priority 600
816
+ allocate b
817
+ depends !t1
818
+ }
819
+ task t3 "Task 3" {
820
+ duration 4d
821
+ allocate a { alternative b }
822
+ priority 200
823
+ }
824
+ task t4 "Task 4" {
825
+ depends !t1
826
+ length 5d
827
+ allocate c
828
+ priority 800
829
+ limits { dailymax 2h }
830
+ }
831
+ task t5 "Task 5" {
832
+ effort 10d
833
+ allocate d
834
+ }
835
+ task t6 "Task 6" {
836
+ depends !t5
837
+ effort 5d
838
+ allocate e { mandatory }
839
+ allocate f { alternative g }
840
+ }
841
+ task t7 "Task 7" {
842
+ duration 5d
843
+ depends !t1
844
+ allocate e
845
+ priority 900
846
+ shift parttime
847
+ }
848
+ task t8 "Task 8" {
849
+ depends !t4
850
+ milestone
851
+ }
852
+ task t9 "Task 9" {
853
+ depends !t6
854
+ }
855
+ task t10 "Task 10" {
856
+ effort 3d
857
+ allocate h { alternative a }
858
+ }
859
+ }
860
+ task sg7 "Sub Group 7" {
861
+ task t1 "Task 1" {
862
+ effort 2d
863
+ allocate a
864
+ }
865
+ task t2 "Task 2" {
866
+ length 2d
867
+ priority 600
868
+ allocate b
869
+ depends !t1
870
+ }
871
+ task t3 "Task 3" {
872
+ duration 4d
873
+ allocate a { alternative b }
874
+ priority 200
875
+ }
876
+ task t4 "Task 4" {
877
+ depends !t1
878
+ length 5d
879
+ allocate c
880
+ priority 800
881
+ limits { dailymax 2h }
882
+ }
883
+ task t5 "Task 5" {
884
+ effort 10d
885
+ allocate d
886
+ }
887
+ task t6 "Task 6" {
888
+ depends !t5
889
+ effort 5d
890
+ allocate e { mandatory }
891
+ allocate f { alternative g }
892
+ }
893
+ task t7 "Task 7" {
894
+ duration 5d
895
+ depends !t1
896
+ allocate e
897
+ priority 900
898
+ shift parttime
899
+ }
900
+ task t8 "Task 8" {
901
+ depends !t4
902
+ milestone
903
+ }
904
+ task t9 "Task 9" {
905
+ depends !t6
906
+ }
907
+ task t10 "Task 10" {
908
+ effort 3d
909
+ allocate h { alternative a }
910
+ }
911
+ }
912
+ task sg8 "Sub Group 8" {
913
+ depends !sg7
914
+ task t1 "Task 1" {
915
+ effort 2d
916
+ allocate a
917
+ }
918
+ task t2 "Task 2" {
919
+ length 2d
920
+ priority 600
921
+ allocate b
922
+ depends !t1
923
+ }
924
+ task t3 "Task 3" {
925
+ duration 4d
926
+ allocate a { alternative b }
927
+ priority 200
928
+ }
929
+ task t4 "Task 4" {
930
+ depends !t1
931
+ length 5d
932
+ allocate c
933
+ priority 800
934
+ limits { dailymax 2h }
935
+ }
936
+ task t5 "Task 5" {
937
+ effort 10d
938
+ allocate d
939
+ }
940
+ task t6 "Task 6" {
941
+ depends !t5
942
+ effort 5d
943
+ allocate e { mandatory }
944
+ allocate f { alternative g }
945
+ }
946
+ task t7 "Task 7" {
947
+ duration 5d
948
+ depends !t1
949
+ allocate e
950
+ priority 900
951
+ shift parttime
952
+ }
953
+ task t8 "Task 8" {
954
+ depends !t4
955
+ milestone
956
+ }
957
+ task t9 "Task 9" {
958
+ depends !t6
959
+ }
960
+ task t10 "Task 10" {
961
+ effort 3d
962
+ allocate h { alternative a }
963
+ }
964
+ }
965
+ task sg9 "Sub Group 9" {
966
+ task t1 "Task 1" {
967
+ effort 2d
968
+ allocate a
969
+ }
970
+ task t2 "Task 2" {
971
+ length 2d
972
+ priority 600
973
+ allocate b
974
+ depends !t1
975
+ }
976
+ task t3 "Task 3" {
977
+ duration 4d
978
+ allocate a { alternative b }
979
+ priority 200
980
+ }
981
+ task t4 "Task 4" {
982
+ depends !t1
983
+ length 5d
984
+ allocate c
985
+ priority 800
986
+ limits { dailymax 2h }
987
+ }
988
+ task t5 "Task 5" {
989
+ effort 10d
990
+ allocate d
991
+ }
992
+ task t6 "Task 6" {
993
+ depends !t5
994
+ effort 5d
995
+ allocate e { mandatory }
996
+ allocate f { alternative g }
997
+ }
998
+ task t7 "Task 7" {
999
+ duration 5d
1000
+ depends !t1
1001
+ allocate e
1002
+ priority 900
1003
+ shift parttime
1004
+ }
1005
+ task t8 "Task 8" {
1006
+ depends !t4
1007
+ milestone
1008
+ }
1009
+ task t9 "Task 9" {
1010
+ depends !t6
1011
+ }
1012
+ task t10 "Task 10" {
1013
+ effort 3d
1014
+ allocate h { alternative a }
1015
+ }
1016
+ }
1017
+ task sg10 "Sub Group 10" {
1018
+ depends !sg6
1019
+ task t1 "Task 1" {
1020
+ effort 2d
1021
+ allocate a
1022
+ }
1023
+ task t2 "Task 2" {
1024
+ length 2d
1025
+ priority 600
1026
+ allocate b
1027
+ depends !t1
1028
+ }
1029
+ task t3 "Task 3" {
1030
+ duration 4d
1031
+ allocate a { alternative b }
1032
+ priority 200
1033
+ }
1034
+ task t4 "Task 4" {
1035
+ depends !t1
1036
+ length 5d
1037
+ allocate c
1038
+ priority 800
1039
+ limits { dailymax 2h }
1040
+ }
1041
+ task t5 "Task 5" {
1042
+ effort 10d
1043
+ allocate d
1044
+ }
1045
+ task t6 "Task 6" {
1046
+ depends !t5
1047
+ effort 5d
1048
+ allocate e { mandatory }
1049
+ allocate f { alternative g }
1050
+ }
1051
+ task t7 "Task 7" {
1052
+ duration 5d
1053
+ depends !t1
1054
+ allocate e
1055
+ priority 900
1056
+ shift parttime
1057
+ }
1058
+ task t8 "Task 8" {
1059
+ depends !t4
1060
+ milestone
1061
+ }
1062
+ task t9 "Task 9" {
1063
+ depends !t6
1064
+ }
1065
+ task t10 "Task 10" {
1066
+ effort 3d
1067
+ allocate h { alternative a }
1068
+ }
1069
+ }
1070
+ }
1071
+ task g3 "Group 3" {
1072
+ task sg1 "Sub Group 1" {
1073
+ task t1 "Task 1" {
1074
+ effort 2d
1075
+ allocate a
1076
+ }
1077
+ task t2 "Task 2" {
1078
+ length 2d
1079
+ priority 600
1080
+ allocate b
1081
+ depends !t1
1082
+ }
1083
+ task t3 "Task 3" {
1084
+ duration 4d
1085
+ allocate a { alternative b }
1086
+ priority 200
1087
+ }
1088
+ task t4 "Task 4" {
1089
+ depends !t1
1090
+ length 5d
1091
+ allocate c
1092
+ priority 800
1093
+ limits { dailymax 2h }
1094
+ }
1095
+ task t5 "Task 5" {
1096
+ effort 10d
1097
+ allocate d
1098
+ }
1099
+ task t6 "Task 6" {
1100
+ depends !t5
1101
+ effort 5d
1102
+ allocate e { mandatory }
1103
+ allocate f { alternative g }
1104
+ }
1105
+ task t7 "Task 7" {
1106
+ duration 5d
1107
+ depends !t1
1108
+ allocate e
1109
+ priority 900
1110
+ shift parttime
1111
+ }
1112
+ task t8 "Task 8" {
1113
+ depends !t4
1114
+ milestone
1115
+ }
1116
+ task t9 "Task 9" {
1117
+ depends !t6
1118
+ }
1119
+ task t10 "Task 10" {
1120
+ effort 3d
1121
+ allocate h { alternative a }
1122
+ }
1123
+ }
1124
+ task sg2 "Sub Group 2" {
1125
+ depends !sg1
1126
+ task t1 "Task 1" {
1127
+ effort 2d
1128
+ allocate a
1129
+ }
1130
+ task t2 "Task 2" {
1131
+ length 2d
1132
+ priority 600
1133
+ allocate b
1134
+ depends !t1
1135
+ }
1136
+ task t3 "Task 3" {
1137
+ duration 4d
1138
+ allocate a { alternative b }
1139
+ priority 200
1140
+ }
1141
+ task t4 "Task 4" {
1142
+ depends !t1
1143
+ length 5d
1144
+ allocate c
1145
+ priority 800
1146
+ limits { dailymax 2h }
1147
+ }
1148
+ task t5 "Task 5" {
1149
+ effort 10d
1150
+ allocate d
1151
+ }
1152
+ task t6 "Task 6" {
1153
+ depends !t5
1154
+ effort 5d
1155
+ allocate e { mandatory }
1156
+ allocate f { alternative g }
1157
+ }
1158
+ task t7 "Task 7" {
1159
+ duration 5d
1160
+ depends !t1
1161
+ allocate e
1162
+ priority 900
1163
+ shift parttime
1164
+ }
1165
+ task t8 "Task 8" {
1166
+ depends !t4
1167
+ milestone
1168
+ }
1169
+ task t9 "Task 9" {
1170
+ depends !t6
1171
+ }
1172
+ task t10 "Task 10" {
1173
+ effort 3d
1174
+ allocate h { alternative a }
1175
+ }
1176
+ }
1177
+ task sg3 "Sub Group 3" {
1178
+ task t1 "Task 1" {
1179
+ effort 2d
1180
+ allocate a
1181
+ }
1182
+ task t2 "Task 2" {
1183
+ length 2d
1184
+ priority 600
1185
+ allocate b
1186
+ depends !t1
1187
+ }
1188
+ task t3 "Task 3" {
1189
+ duration 4d
1190
+ allocate a { alternative b }
1191
+ priority 200
1192
+ }
1193
+ task t4 "Task 4" {
1194
+ depends !t1
1195
+ length 5d
1196
+ allocate c
1197
+ priority 800
1198
+ limits { dailymax 2h }
1199
+ }
1200
+ task t5 "Task 5" {
1201
+ effort 10d
1202
+ allocate d
1203
+ }
1204
+ task t6 "Task 6" {
1205
+ depends !t5
1206
+ effort 5d
1207
+ allocate e { mandatory }
1208
+ allocate f { alternative g }
1209
+ }
1210
+ task t7 "Task 7" {
1211
+ duration 5d
1212
+ depends !t1
1213
+ allocate e
1214
+ priority 900
1215
+ shift parttime
1216
+ }
1217
+ task t8 "Task 8" {
1218
+ depends !t4
1219
+ milestone
1220
+ }
1221
+ task t9 "Task 9" {
1222
+ depends !t6
1223
+ }
1224
+ task t10 "Task 10" {
1225
+ effort 3d
1226
+ allocate h { alternative a }
1227
+ }
1228
+ }
1229
+ task sg4 "Sub Group 4" {
1230
+ depends !sg2
1231
+ task t1 "Task 1" {
1232
+ effort 2d
1233
+ allocate a
1234
+ }
1235
+ task t2 "Task 2" {
1236
+ length 2d
1237
+ priority 600
1238
+ allocate b
1239
+ depends !t1
1240
+ }
1241
+ task t3 "Task 3" {
1242
+ duration 4d
1243
+ allocate a { alternative b }
1244
+ priority 200
1245
+ }
1246
+ task t4 "Task 4" {
1247
+ depends !t1
1248
+ length 5d
1249
+ allocate c
1250
+ priority 800
1251
+ limits { dailymax 2h }
1252
+ }
1253
+ task t5 "Task 5" {
1254
+ effort 10d
1255
+ allocate d
1256
+ }
1257
+ task t6 "Task 6" {
1258
+ depends !t5
1259
+ effort 5d
1260
+ allocate e { mandatory }
1261
+ allocate f { alternative g }
1262
+ }
1263
+ task t7 "Task 7" {
1264
+ duration 5d
1265
+ depends !t1
1266
+ allocate e
1267
+ priority 900
1268
+ shift parttime
1269
+ }
1270
+ task t8 "Task 8" {
1271
+ depends !t4
1272
+ milestone
1273
+ }
1274
+ task t9 "Task 9" {
1275
+ depends !t6
1276
+ }
1277
+ task t10 "Task 10" {
1278
+ effort 3d
1279
+ allocate h { alternative a }
1280
+ }
1281
+ }
1282
+ task sg5 "Sub Group 5" {
1283
+ task t1 "Task 1" {
1284
+ effort 2d
1285
+ allocate a
1286
+ }
1287
+ task t2 "Task 2" {
1288
+ length 2d
1289
+ priority 600
1290
+ allocate b
1291
+ depends !t1
1292
+ }
1293
+ task t3 "Task 3" {
1294
+ duration 4d
1295
+ allocate a { alternative b }
1296
+ priority 200
1297
+ }
1298
+ task t4 "Task 4" {
1299
+ depends !t1
1300
+ length 5d
1301
+ allocate c
1302
+ priority 800
1303
+ limits { dailymax 2h }
1304
+ }
1305
+ task t5 "Task 5" {
1306
+ effort 10d
1307
+ allocate d
1308
+ }
1309
+ task t6 "Task 6" {
1310
+ depends !t5
1311
+ effort 5d
1312
+ allocate e { mandatory }
1313
+ allocate f { alternative g }
1314
+ }
1315
+ task t7 "Task 7" {
1316
+ duration 5d
1317
+ depends !t1
1318
+ allocate e
1319
+ priority 900
1320
+ shift parttime
1321
+ }
1322
+ task t8 "Task 8" {
1323
+ depends !t4
1324
+ milestone
1325
+ }
1326
+ task t9 "Task 9" {
1327
+ depends !t6
1328
+ }
1329
+ task t10 "Task 10" {
1330
+ effort 3d
1331
+ allocate h { alternative a }
1332
+ }
1333
+ }
1334
+ task sg6 "Sub Group 6" {
1335
+ depends !sg4
1336
+ task t1 "Task 1" {
1337
+ effort 2d
1338
+ allocate a
1339
+ }
1340
+ task t2 "Task 2" {
1341
+ length 2d
1342
+ priority 600
1343
+ allocate b
1344
+ depends !t1
1345
+ }
1346
+ task t3 "Task 3" {
1347
+ duration 4d
1348
+ allocate a { alternative b }
1349
+ priority 200
1350
+ }
1351
+ task t4 "Task 4" {
1352
+ depends !t1
1353
+ length 5d
1354
+ allocate c
1355
+ priority 800
1356
+ limits { dailymax 2h }
1357
+ }
1358
+ task t5 "Task 5" {
1359
+ effort 10d
1360
+ allocate d
1361
+ }
1362
+ task t6 "Task 6" {
1363
+ depends !t5
1364
+ effort 5d
1365
+ allocate e { mandatory }
1366
+ allocate f { alternative g }
1367
+ }
1368
+ task t7 "Task 7" {
1369
+ duration 5d
1370
+ depends !t1
1371
+ allocate e
1372
+ priority 900
1373
+ shift parttime
1374
+ }
1375
+ task t8 "Task 8" {
1376
+ depends !t4
1377
+ milestone
1378
+ }
1379
+ task t9 "Task 9" {
1380
+ depends !t6
1381
+ }
1382
+ task t10 "Task 10" {
1383
+ effort 3d
1384
+ allocate h { alternative a }
1385
+ }
1386
+ }
1387
+ task sg7 "Sub Group 7" {
1388
+ task t1 "Task 1" {
1389
+ effort 2d
1390
+ allocate a
1391
+ }
1392
+ task t2 "Task 2" {
1393
+ length 2d
1394
+ priority 600
1395
+ allocate b
1396
+ depends !t1
1397
+ }
1398
+ task t3 "Task 3" {
1399
+ duration 4d
1400
+ allocate a { alternative b }
1401
+ priority 200
1402
+ }
1403
+ task t4 "Task 4" {
1404
+ depends !t1
1405
+ length 5d
1406
+ allocate c
1407
+ priority 800
1408
+ limits { dailymax 2h }
1409
+ }
1410
+ task t5 "Task 5" {
1411
+ effort 10d
1412
+ allocate d
1413
+ }
1414
+ task t6 "Task 6" {
1415
+ depends !t5
1416
+ effort 5d
1417
+ allocate e { mandatory }
1418
+ allocate f { alternative g }
1419
+ }
1420
+ task t7 "Task 7" {
1421
+ duration 5d
1422
+ depends !t1
1423
+ allocate e
1424
+ priority 900
1425
+ shift parttime
1426
+ }
1427
+ task t8 "Task 8" {
1428
+ depends !t4
1429
+ milestone
1430
+ }
1431
+ task t9 "Task 9" {
1432
+ depends !t6
1433
+ }
1434
+ task t10 "Task 10" {
1435
+ effort 3d
1436
+ allocate h { alternative a }
1437
+ }
1438
+ }
1439
+ task sg8 "Sub Group 8" {
1440
+ depends !sg7
1441
+ task t1 "Task 1" {
1442
+ effort 2d
1443
+ allocate a
1444
+ }
1445
+ task t2 "Task 2" {
1446
+ length 2d
1447
+ priority 600
1448
+ allocate b
1449
+ depends !t1
1450
+ }
1451
+ task t3 "Task 3" {
1452
+ duration 4d
1453
+ allocate a { alternative b }
1454
+ priority 200
1455
+ }
1456
+ task t4 "Task 4" {
1457
+ depends !t1
1458
+ length 5d
1459
+ allocate c
1460
+ priority 800
1461
+ limits { dailymax 2h }
1462
+ }
1463
+ task t5 "Task 5" {
1464
+ effort 10d
1465
+ allocate d
1466
+ }
1467
+ task t6 "Task 6" {
1468
+ depends !t5
1469
+ effort 5d
1470
+ allocate e { mandatory }
1471
+ allocate f { alternative g }
1472
+ }
1473
+ task t7 "Task 7" {
1474
+ duration 5d
1475
+ depends !t1
1476
+ allocate e
1477
+ priority 900
1478
+ shift parttime
1479
+ }
1480
+ task t8 "Task 8" {
1481
+ depends !t4
1482
+ milestone
1483
+ }
1484
+ task t9 "Task 9" {
1485
+ depends !t6
1486
+ }
1487
+ task t10 "Task 10" {
1488
+ effort 3d
1489
+ allocate h { alternative a }
1490
+ }
1491
+ }
1492
+ task sg9 "Sub Group 9" {
1493
+ task t1 "Task 1" {
1494
+ effort 2d
1495
+ allocate a
1496
+ }
1497
+ task t2 "Task 2" {
1498
+ length 2d
1499
+ priority 600
1500
+ allocate b
1501
+ depends !t1
1502
+ }
1503
+ task t3 "Task 3" {
1504
+ duration 4d
1505
+ allocate a { alternative b }
1506
+ priority 200
1507
+ }
1508
+ task t4 "Task 4" {
1509
+ depends !t1
1510
+ length 5d
1511
+ allocate c
1512
+ priority 800
1513
+ limits { dailymax 2h }
1514
+ }
1515
+ task t5 "Task 5" {
1516
+ effort 10d
1517
+ allocate d
1518
+ }
1519
+ task t6 "Task 6" {
1520
+ depends !t5
1521
+ effort 5d
1522
+ allocate e { mandatory }
1523
+ allocate f { alternative g }
1524
+ }
1525
+ task t7 "Task 7" {
1526
+ duration 5d
1527
+ depends !t1
1528
+ allocate e
1529
+ priority 900
1530
+ shift parttime
1531
+ }
1532
+ task t8 "Task 8" {
1533
+ depends !t4
1534
+ milestone
1535
+ }
1536
+ task t9 "Task 9" {
1537
+ depends !t6
1538
+ }
1539
+ task t10 "Task 10" {
1540
+ effort 3d
1541
+ allocate h { alternative a }
1542
+ }
1543
+ }
1544
+ task sg10 "Sub Group 10" {
1545
+ depends !sg6
1546
+ task t1 "Task 1" {
1547
+ effort 2d
1548
+ allocate a
1549
+ }
1550
+ task t2 "Task 2" {
1551
+ length 2d
1552
+ priority 600
1553
+ allocate b
1554
+ depends !t1
1555
+ }
1556
+ task t3 "Task 3" {
1557
+ duration 4d
1558
+ allocate a { alternative b }
1559
+ priority 200
1560
+ }
1561
+ task t4 "Task 4" {
1562
+ depends !t1
1563
+ length 5d
1564
+ allocate c
1565
+ priority 800
1566
+ limits { dailymax 2h }
1567
+ }
1568
+ task t5 "Task 5" {
1569
+ effort 10d
1570
+ allocate d
1571
+ }
1572
+ task t6 "Task 6" {
1573
+ depends !t5
1574
+ effort 5d
1575
+ allocate e { mandatory }
1576
+ allocate f { alternative g }
1577
+ }
1578
+ task t7 "Task 7" {
1579
+ duration 5d
1580
+ depends !t1
1581
+ allocate e
1582
+ priority 900
1583
+ shift parttime
1584
+ }
1585
+ task t8 "Task 8" {
1586
+ depends !t4
1587
+ milestone
1588
+ }
1589
+ task t9 "Task 9" {
1590
+ depends !t6
1591
+ }
1592
+ task t10 "Task 10" {
1593
+ effort 3d
1594
+ allocate h { alternative a }
1595
+ }
1596
+ }
1597
+ }
1598
+
1599
+ taskreport "allocatedSlots" {
1600
+ formats csv
1601
+ columns name, daily
1602
+ }