taskjuggler 0.0.7 → 0.0.8

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