taskjuggler 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (544) hide show
  1. data/CHANGELOG +2086 -0
  2. data/benchmarks/666tasks.tjp +3183 -0
  3. data/benchmarks/booking.tjp +14 -10
  4. data/doc/AppConfig.html +95 -73
  5. data/doc/Arguments.html +22 -2
  6. data/doc/CHANGELOG.html +2587 -0
  7. data/doc/COPYING.html +21 -1
  8. data/doc/Object.html +161 -122
  9. data/doc/README.html +21 -1
  10. data/doc/RuntimeConfig.html +26 -6
  11. data/doc/String.html +38 -18
  12. data/doc/StringIO.html +579 -0
  13. data/doc/TaskJuggler.html +251 -143
  14. data/doc/TaskJuggler/Account.html +26 -6
  15. data/doc/TaskJuggler/AccountAttribute.html +28 -8
  16. data/doc/TaskJuggler/AccountScenario.html +24 -4
  17. data/doc/TaskJuggler/Allocation.html +30 -10
  18. data/doc/TaskJuggler/AllocationAttribute.html +28 -8
  19. data/doc/TaskJuggler/AttributeBase.html +46 -26
  20. data/doc/TaskJuggler/AttributeDefinition.html +22 -2
  21. data/doc/TaskJuggler/BatchProcessor.html +40 -20
  22. data/doc/TaskJuggler/Booking.html +26 -6
  23. data/doc/TaskJuggler/BookingListAttribute.html +28 -8
  24. data/doc/TaskJuggler/BooleanAttribute.html +28 -8
  25. data/doc/TaskJuggler/CSVFile.html +308 -146
  26. data/doc/TaskJuggler/CellSettingPattern.html +22 -2
  27. data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
  28. data/doc/TaskJuggler/Charge.html +26 -6
  29. data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
  30. data/doc/TaskJuggler/ChargeSet.html +33 -13
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
  32. data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
  33. data/doc/TaskJuggler/ColumnTable.html +24 -4
  34. data/doc/TaskJuggler/Daemon.html +26 -6
  35. data/doc/TaskJuggler/DateAttribute.html +26 -6
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
  37. data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
  38. data/doc/TaskJuggler/DurationAttribute.html +28 -8
  39. data/doc/TaskJuggler/FixnumAttribute.html +24 -4
  40. data/doc/TaskJuggler/FlagListAttribute.html +28 -8
  41. data/doc/TaskJuggler/FloatAttribute.html +26 -6
  42. data/doc/TaskJuggler/FormatListAttribute.html +24 -4
  43. data/doc/TaskJuggler/GanttChart.html +147 -126
  44. data/doc/TaskJuggler/GanttContainer.html +34 -14
  45. data/doc/TaskJuggler/GanttHeader.html +28 -8
  46. data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
  47. data/doc/TaskJuggler/GanttLine.html +38 -18
  48. data/doc/TaskJuggler/GanttLoadStack.html +26 -6
  49. data/doc/TaskJuggler/GanttMilestone.html +34 -14
  50. data/doc/TaskJuggler/GanttRouter.html +50 -30
  51. data/doc/TaskJuggler/GanttTaskBar.html +34 -14
  52. data/doc/TaskJuggler/HTMLDocument.html +26 -6
  53. data/doc/TaskJuggler/HTMLGraphics.html +30 -10
  54. data/doc/TaskJuggler/Interval.html +40 -22
  55. data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
  56. data/doc/TaskJuggler/JobInfo.html +24 -4
  57. data/doc/TaskJuggler/Journal.html +226 -147
  58. data/doc/TaskJuggler/JournalEntry.html +22 -2
  59. data/doc/TaskJuggler/JournalEntryList.html +129 -112
  60. data/doc/TaskJuggler/KeywordArray.html +26 -6
  61. data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
  62. data/doc/TaskJuggler/Limits.html +152 -123
  63. data/doc/TaskJuggler/Limits/Limit.html +149 -70
  64. data/doc/TaskJuggler/LimitsAttribute.html +36 -51
  65. data/doc/TaskJuggler/ListAttributeBase.html +24 -4
  66. data/doc/TaskJuggler/Log.html +50 -32
  67. data/doc/TaskJuggler/LogFile.html +37 -17
  68. data/doc/TaskJuggler/LogicalAttribute.html +53 -33
  69. data/doc/TaskJuggler/LogicalExpression.html +26 -6
  70. data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
  71. data/doc/TaskJuggler/LogicalFlag.html +42 -22
  72. data/doc/TaskJuggler/LogicalFunction.html +204 -140
  73. data/doc/TaskJuggler/LogicalOperation.html +135 -111
  74. data/doc/TaskJuggler/Macro.html +22 -2
  75. data/doc/TaskJuggler/MacroParser.html +32 -12
  76. data/doc/TaskJuggler/MacroTable.html +32 -12
  77. data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
  78. data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
  79. data/doc/TaskJuggler/Message.html +24 -4
  80. data/doc/TaskJuggler/MessageHandler.html +24 -4
  81. data/doc/TaskJuggler/Navigator.html +104 -71
  82. data/doc/TaskJuggler/NavigatorElement.html +32 -12
  83. data/doc/TaskJuggler/NikuProject.html +22 -2
  84. data/doc/TaskJuggler/NikuReport.html +310 -228
  85. data/doc/TaskJuggler/NikuResource.html +22 -2
  86. data/doc/TaskJuggler/NodeListAttribute.html +615 -0
  87. data/doc/TaskJuggler/OnShiftCache.html +32 -12
  88. data/doc/TaskJuggler/ProcessIntercom.html +205 -78
  89. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
  90. data/doc/TaskJuggler/Project.html +708 -660
  91. data/doc/TaskJuggler/ProjectBroker.html +506 -304
  92. data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
  93. data/doc/TaskJuggler/ProjectFileParser.html +429 -373
  94. data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
  95. data/doc/TaskJuggler/ProjectRecord.html +80 -60
  96. data/doc/TaskJuggler/ProjectServer.html +312 -237
  97. data/doc/TaskJuggler/ProjectServerIface.html +101 -43
  98. data/doc/TaskJuggler/PropertyAttribute.html +32 -12
  99. data/doc/TaskJuggler/PropertyList.html +166 -145
  100. data/doc/TaskJuggler/PropertySet.html +254 -224
  101. data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
  102. data/doc/TaskJuggler/Query.html +169 -148
  103. data/doc/TaskJuggler/RTFHandlers.html +622 -0
  104. data/doc/TaskJuggler/RTFNavigator.html +28 -8
  105. data/doc/TaskJuggler/RTFQuery.html +40 -20
  106. data/doc/TaskJuggler/RTFReport.html +62 -25
  107. data/doc/TaskJuggler/RTFReportLink.html +765 -0
  108. data/doc/TaskJuggler/RealFormat.html +26 -6
  109. data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
  110. data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
  111. data/doc/TaskJuggler/Report.html +402 -251
  112. data/doc/TaskJuggler/ReportBase.html +162 -137
  113. data/doc/TaskJuggler/ReportContext.html +112 -29
  114. data/doc/TaskJuggler/ReportServer.html +89 -64
  115. data/doc/TaskJuggler/ReportServerIface.html +75 -55
  116. data/doc/TaskJuggler/ReportServerRecord.html +54 -31
  117. data/doc/TaskJuggler/ReportServlet.html +980 -0
  118. data/doc/TaskJuggler/ReportTable.html +41 -21
  119. data/doc/TaskJuggler/ReportTableCell.html +214 -170
  120. data/doc/TaskJuggler/ReportTableColumn.html +30 -10
  121. data/doc/TaskJuggler/ReportTableLegend.html +36 -16
  122. data/doc/TaskJuggler/ReportTableLine.html +32 -12
  123. data/doc/TaskJuggler/Resource.html +99 -87
  124. data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
  125. data/doc/TaskJuggler/ResourceListRE.html +47 -26
  126. data/doc/TaskJuggler/ResourceScenario.html +403 -437
  127. data/doc/TaskJuggler/RichText.html +26 -6
  128. data/doc/TaskJuggler/RichTextAttribute.html +50 -30
  129. data/doc/TaskJuggler/RichTextDocument.html +37 -17
  130. data/doc/TaskJuggler/RichTextElement.html +475 -413
  131. data/doc/TaskJuggler/RichTextException.html +22 -2
  132. data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
  133. data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
  134. data/doc/TaskJuggler/RichTextImage.html +22 -2
  135. data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
  136. data/doc/TaskJuggler/RichTextParser.html +56 -34
  137. data/doc/TaskJuggler/RichTextScanner.html +82 -61
  138. data/doc/TaskJuggler/RichTextSnip.html +34 -14
  139. data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
  140. data/doc/TaskJuggler/Scenario.html +22 -2
  141. data/doc/TaskJuggler/ScenarioData.html +30 -46
  142. data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
  143. data/doc/TaskJuggler/Scoreboard.html +42 -22
  144. data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
  145. data/doc/TaskJuggler/SheetReceiver.html +333 -295
  146. data/doc/TaskJuggler/SheetSender.html +253 -230
  147. data/doc/TaskJuggler/Shift.html +26 -6
  148. data/doc/TaskJuggler/ShiftAssignment.html +89 -73
  149. data/doc/TaskJuggler/ShiftAssignments.html +226 -234
  150. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
  151. data/doc/TaskJuggler/ShiftScenario.html +28 -8
  152. data/doc/TaskJuggler/SortListAttribute.html +34 -14
  153. data/doc/TaskJuggler/SourceFileInfo.html +24 -4
  154. data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
  155. data/doc/TaskJuggler/StatusSheetReport.html +168 -153
  156. data/doc/TaskJuggler/StatusSheetSender.html +24 -3
  157. data/doc/TaskJuggler/StringAttribute.html +38 -18
  158. data/doc/TaskJuggler/SymbolAttribute.html +32 -12
  159. data/doc/TaskJuggler/SyntaxReference.html +40 -20
  160. data/doc/TaskJuggler/TOCEntry.html +26 -6
  161. data/doc/TaskJuggler/TSResourceRecord.html +22 -2
  162. data/doc/TaskJuggler/TSTaskRecord.html +22 -2
  163. data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
  164. data/doc/TaskJuggler/TableOfContents.html +26 -6
  165. data/doc/TaskJuggler/TableReport.html +937 -904
  166. data/doc/TaskJuggler/Task.html +55 -36
  167. data/doc/TaskJuggler/TaskDependency.html +24 -4
  168. data/doc/TaskJuggler/TaskListAttribute.html +50 -30
  169. data/doc/TaskJuggler/TaskListRE.html +27 -7
  170. data/doc/TaskJuggler/TaskScenario.html +1273 -1153
  171. data/doc/TaskJuggler/TextFormatter.html +28 -8
  172. data/doc/TaskJuggler/TextParser.html +585 -338
  173. data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
  174. data/doc/TaskJuggler/TextParser/Rule.html +95 -73
  175. data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
  176. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
  177. data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
  178. data/doc/TaskJuggler/TextReport.html +28 -8
  179. data/doc/TaskJuggler/TextScanner.html +400 -1404
  180. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
  181. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
  182. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
  183. data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
  184. data/doc/TaskJuggler/TimeSheet.html +48 -28
  185. data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
  186. data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
  187. data/doc/TaskJuggler/TimeSheetReport.html +154 -133
  188. data/doc/TaskJuggler/TimeSheetSender.html +24 -3
  189. data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
  190. data/doc/TaskJuggler/TimeSheets.html +26 -6
  191. data/doc/TaskJuggler/Tj3AppBase.html +85 -58
  192. data/doc/TaskJuggler/Tj3Client.html +292 -238
  193. data/doc/TaskJuggler/Tj3Daemon.html +159 -74
  194. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
  195. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
  196. data/doc/TaskJuggler/Tj3SsSender.html +53 -26
  197. data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
  198. data/doc/TaskJuggler/Tj3TsSender.html +26 -6
  199. data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
  200. data/doc/TaskJuggler/TjException.html +22 -2
  201. data/doc/TaskJuggler/TjTime.html +216 -160
  202. data/doc/TaskJuggler/TjpExample.html +34 -14
  203. data/doc/TaskJuggler/TjpExportRE.html +403 -407
  204. data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
  205. data/doc/TaskJuggler/URLParameter.html +649 -0
  206. data/doc/TaskJuggler/UserManual.html +42 -22
  207. data/doc/TaskJuggler/WebServer.html +702 -0
  208. data/doc/TaskJuggler/WorkingHours.html +38 -18
  209. data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
  210. data/doc/TaskJuggler/XMLBlob.html +24 -4
  211. data/doc/TaskJuggler/XMLComment.html +24 -4
  212. data/doc/TaskJuggler/XMLDocument.html +30 -10
  213. data/doc/TaskJuggler/XMLElement.html +34 -14
  214. data/doc/TaskJuggler/XMLNamedText.html +22 -2
  215. data/doc/TaskJuggler/XMLText.html +24 -4
  216. data/doc/index.html +1841 -1666
  217. data/doc/lib/AccountScenario_rb.html +1 -1
  218. data/doc/lib/Account_rb.html +1 -1
  219. data/doc/lib/Allocation_rb.html +1 -1
  220. data/doc/lib/AppConfig_rb.html +2 -2
  221. data/doc/lib/AttributeBase_rb.html +1 -1
  222. data/doc/lib/AttributeDefinition_rb.html +1 -1
  223. data/doc/lib/Attributes_rb.html +2 -2
  224. data/doc/lib/BatchProcessor_rb.html +1 -1
  225. data/doc/lib/Booking_rb.html +1 -1
  226. data/doc/lib/ChargeSet_rb.html +1 -1
  227. data/doc/lib/Charge_rb.html +1 -1
  228. data/doc/lib/HTMLDocument_rb.html +1 -1
  229. data/doc/lib/Interval_rb.html +1 -1
  230. data/doc/lib/Journal_rb.html +2 -2
  231. data/doc/lib/KeywordArray_rb.html +1 -1
  232. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  233. data/doc/lib/Limits_rb.html +2 -2
  234. data/doc/lib/LogFile_rb.html +2 -2
  235. data/doc/lib/Log_rb.html +1 -1
  236. data/doc/lib/LogicalExpression_rb.html +1 -1
  237. data/doc/lib/LogicalFunction_rb.html +2 -2
  238. data/doc/lib/LogicalOperation_rb.html +2 -2
  239. data/doc/lib/MacroParser_rb.html +1 -1
  240. data/doc/lib/MacroTable_rb.html +1 -1
  241. data/doc/lib/MessageHandler_rb.html +1 -1
  242. data/doc/lib/Message_rb.html +1 -1
  243. data/doc/lib/ProjectFileParser_rb.html +4 -8
  244. data/doc/lib/ProjectFileScanner_rb.html +67 -0
  245. data/doc/lib/Project_rb.html +2 -2
  246. data/doc/lib/PropertyList_rb.html +2 -2
  247. data/doc/lib/PropertySet_rb.html +2 -2
  248. data/doc/lib/PropertyTreeNode_rb.html +2 -2
  249. data/doc/lib/Query_rb.html +2 -2
  250. data/doc/lib/RTFHandlers_rb.html +73 -0
  251. data/doc/lib/RTFNavigator_rb.html +1 -1
  252. data/doc/lib/RTFQuery_rb.html +1 -1
  253. data/doc/lib/RTFReportLink_rb.html +71 -0
  254. data/doc/lib/RTFReport_rb.html +2 -2
  255. data/doc/lib/RealFormat_rb.html +1 -1
  256. data/doc/lib/ResourceScenario_rb.html +2 -2
  257. data/doc/lib/Resource_rb.html +2 -2
  258. data/doc/lib/RichTextDocument_rb.html +1 -1
  259. data/doc/lib/RichTextElement_rb.html +2 -2
  260. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  261. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  262. data/doc/lib/RichTextParser_rb.html +2 -2
  263. data/doc/lib/RichTextScanner_rb.html +2 -2
  264. data/doc/lib/RichTextSnip_rb.html +1 -1
  265. data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
  266. data/doc/lib/RichText_rb.html +1 -1
  267. data/doc/lib/RuntimeConfig_rb.html +1 -1
  268. data/doc/lib/ScenarioData_rb.html +2 -2
  269. data/doc/lib/Scenario_rb.html +1 -1
  270. data/doc/lib/Scoreboard_rb.html +1 -1
  271. data/doc/lib/SheetHandlerBase_rb.html +1 -1
  272. data/doc/lib/SheetReceiver_rb.html +2 -2
  273. data/doc/lib/SheetSender_rb.html +4 -2
  274. data/doc/lib/ShiftAssignments_rb.html +4 -2
  275. data/doc/lib/ShiftScenario_rb.html +1 -1
  276. data/doc/lib/Shift_rb.html +1 -1
  277. data/doc/lib/SourceFileInfo_rb.html +1 -1
  278. data/doc/lib/StatusSheetReceiver_rb.html +2 -2
  279. data/doc/lib/StatusSheetSender_rb.html +2 -2
  280. data/doc/lib/SyntaxReference_rb.html +1 -1
  281. data/doc/lib/TOCEntry_rb.html +1 -1
  282. data/doc/lib/TableColumnDefinition_rb.html +2 -2
  283. data/doc/lib/TableOfContents_rb.html +1 -1
  284. data/doc/lib/TaskDependency_rb.html +1 -1
  285. data/doc/lib/TaskJuggler_rb.html +2 -2
  286. data/doc/lib/TaskScenario_rb.html +2 -2
  287. data/doc/lib/Task_rb.html +2 -2
  288. data/doc/lib/TextFormatter_rb.html +1 -1
  289. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  290. data/doc/lib/TextParser/Rule_rb.html +2 -2
  291. data/doc/lib/TextParser/StackElement_rb.html +2 -2
  292. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  293. data/doc/lib/TextParser_rb.html +2 -2
  294. data/doc/lib/TextScanner_rb.html +6 -2
  295. data/doc/lib/TimeSheetReceiver_rb.html +2 -2
  296. data/doc/lib/TimeSheetSender_rb.html +2 -2
  297. data/doc/lib/TimeSheetSummary_rb.html +2 -2
  298. data/doc/lib/TimeSheets_rb.html +2 -2
  299. data/doc/lib/Tj3AppBase_rb.html +2 -2
  300. data/doc/lib/Tj3Config_rb.html +2 -2
  301. data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
  302. data/doc/lib/TjException_rb.html +1 -1
  303. data/doc/lib/TjTime_rb.html +2 -2
  304. data/doc/lib/TjpExample_rb.html +1 -1
  305. data/doc/lib/TjpSyntaxRules_rb.html +2 -2
  306. data/doc/lib/URLParameter_rb.html +67 -0
  307. data/doc/lib/UTF8String_rb.html +1 -1
  308. data/doc/lib/UserManual_rb.html +1 -1
  309. data/doc/lib/WorkingHours_rb.html +1 -1
  310. data/doc/lib/XMLDocument_rb.html +2 -2
  311. data/doc/lib/XMLElement_rb.html +1 -1
  312. data/doc/lib/daemon/Daemon_rb.html +1 -1
  313. data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
  314. data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
  315. data/doc/lib/daemon/ProjectServer_rb.html +2 -2
  316. data/doc/lib/daemon/ReportServer_rb.html +2 -2
  317. data/doc/lib/daemon/WebServer_rb.html +75 -0
  318. data/doc/lib/deep_copy_rb.html +2 -2
  319. data/doc/lib/reports/CSVFile_rb.html +2 -2
  320. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  321. data/doc/lib/reports/GanttChart_rb.html +2 -2
  322. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  323. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  324. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  325. data/doc/lib/reports/GanttLine_rb.html +1 -1
  326. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  327. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  328. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  329. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  330. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  331. data/doc/lib/reports/Navigator_rb.html +2 -2
  332. data/doc/lib/reports/NikuReport_rb.html +2 -2
  333. data/doc/lib/reports/ReportBase_rb.html +2 -2
  334. data/doc/lib/reports/ReportContext_rb.html +2 -2
  335. data/doc/lib/reports/ReportTableCell_rb.html +2 -2
  336. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  337. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  338. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  339. data/doc/lib/reports/ReportTable_rb.html +2 -2
  340. data/doc/lib/reports/Report_rb.html +2 -2
  341. data/doc/lib/reports/ResourceListRE_rb.html +2 -2
  342. data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
  343. data/doc/lib/reports/TableReport_rb.html +2 -2
  344. data/doc/lib/reports/TaskListRE_rb.html +2 -2
  345. data/doc/lib/reports/TextReport_rb.html +1 -1
  346. data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
  347. data/doc/lib/reports/TjpExportRE_rb.html +2 -2
  348. data/doc/lib/ruby-signal-bug_rb.html +1 -1
  349. data/doc/lib/taskjuggler3_rb.html +2 -2
  350. data/doc/lib/tj3client_rb.html +2 -2
  351. data/doc/lib/tj3d_rb.html +2 -2
  352. data/doc/lib/tj3man_rb.html +1 -1
  353. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  354. data/doc/lib/tj3ss_sender_rb.html +2 -2
  355. data/doc/lib/tj3ts_receiver_rb.html +2 -2
  356. data/doc/lib/tj3ts_sender_rb.html +1 -1
  357. data/doc/lib/tj3ts_summary_rb.html +1 -1
  358. data/doc/rdoc.css +9 -4
  359. data/examples/tutorial.tjp +17 -15
  360. data/gem_spec.rb +3 -0
  361. data/lib/AppConfig.rb +3 -1
  362. data/lib/Attributes.rb +10 -8
  363. data/lib/Journal.rb +55 -20
  364. data/lib/Limits.rb +72 -46
  365. data/lib/LogFile.rb +3 -3
  366. data/lib/LogicalFunction.rb +19 -6
  367. data/lib/LogicalOperation.rb +5 -1
  368. data/lib/Project.rb +37 -9
  369. data/lib/ProjectFileParser.rb +25 -22
  370. data/lib/ProjectFileScanner.rb +365 -0
  371. data/lib/PropertyList.rb +2 -1
  372. data/lib/PropertySet.rb +14 -4
  373. data/lib/PropertyTreeNode.rb +42 -29
  374. data/lib/Query.rb +3 -1
  375. data/lib/RTFHandlers.rb +35 -0
  376. data/lib/RTFReport.rb +23 -6
  377. data/lib/RTFReportLink.rb +72 -0
  378. data/lib/Resource.rb +8 -16
  379. data/lib/ResourceScenario.rb +1 -22
  380. data/lib/RichTextElement.rb +42 -0
  381. data/lib/RichTextParser.rb +6 -4
  382. data/lib/RichTextScanner.rb +5 -5
  383. data/lib/RichTextSyntaxRules.rb +48 -10
  384. data/lib/ScenarioData.rb +5 -3
  385. data/lib/SheetReceiver.rb +24 -6
  386. data/lib/SheetSender.rb +17 -13
  387. data/lib/ShiftAssignments.rb +56 -52
  388. data/lib/StatusSheetReceiver.rb +1 -0
  389. data/lib/StatusSheetSender.rb +1 -0
  390. data/lib/TableColumnDefinition.rb +4 -2
  391. data/lib/Task.rb +8 -9
  392. data/lib/TaskJuggler.rb +21 -11
  393. data/lib/TaskScenario.rb +61 -26
  394. data/lib/TextParser.rb +268 -106
  395. data/lib/TextParser/Rule.rb +4 -2
  396. data/lib/TextParser/StackElement.rb +6 -4
  397. data/lib/TextScanner.rb +283 -700
  398. data/lib/TimeSheetReceiver.rb +1 -0
  399. data/lib/TimeSheetSender.rb +1 -0
  400. data/lib/TimeSheetSummary.rb +51 -26
  401. data/lib/TimeSheets.rb +1 -1
  402. data/lib/Tj3AppBase.rb +8 -1
  403. data/lib/Tj3Config.rb +1 -1
  404. data/lib/TjTime.rb +5 -0
  405. data/lib/TjpSyntaxRules.rb +360 -144
  406. data/lib/URLParameter.rb +30 -0
  407. data/lib/XMLDocument.rb +2 -2
  408. data/lib/daemon/ProcessIntercom.rb +50 -9
  409. data/lib/daemon/ProjectBroker.rb +63 -10
  410. data/lib/daemon/ProjectServer.rb +47 -16
  411. data/lib/daemon/ReportServer.rb +9 -4
  412. data/lib/daemon/WebServer.rb +204 -0
  413. data/lib/deep_copy.rb +4 -1
  414. data/lib/reports/CSVFile.rb +150 -66
  415. data/lib/reports/GanttChart.rb +2 -1
  416. data/lib/reports/Navigator.rb +18 -5
  417. data/lib/reports/NikuReport.rb +32 -2
  418. data/lib/reports/Report.rb +65 -37
  419. data/lib/reports/ReportBase.rb +14 -9
  420. data/lib/reports/ReportContext.rb +19 -4
  421. data/lib/reports/ReportTable.rb +2 -2
  422. data/lib/reports/ReportTableCell.rb +54 -30
  423. data/lib/reports/ResourceListRE.rb +4 -3
  424. data/lib/reports/StatusSheetReport.rb +8 -13
  425. data/lib/reports/TableReport.rb +47 -32
  426. data/lib/reports/TaskListRE.rb +3 -3
  427. data/lib/reports/TimeSheetReport.rb +14 -5
  428. data/lib/reports/TjpExportRE.rb +14 -19
  429. data/lib/taskjuggler3.rb +15 -0
  430. data/lib/tj3client.rb +9 -7
  431. data/lib/tj3d.rb +38 -10
  432. data/lib/tj3ss_sender.rb +7 -0
  433. data/lib/tj3ts_receiver.rb +1 -0
  434. data/manual/Day_To_Day_Juggling +1 -1
  435. data/manual/Rich_Text_Attributes +8 -0
  436. data/manual/TaskJuggler_2x_Migration +7 -0
  437. data/manual/The_TaskJuggler_Syntax +20 -6
  438. data/prj_cfg.rb +3 -2
  439. data/tasks/changelog.rake +36 -0
  440. data/tasks/csts.rake +2 -3
  441. data/tasks/gem.rake +10 -0
  442. data/tasks/missing.rake +0 -17
  443. data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
  444. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
  445. data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
  446. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
  447. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
  448. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
  449. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
  450. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  451. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  452. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  453. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  454. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  455. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  456. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  457. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  458. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  459. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  460. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  461. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
  462. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
  463. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
  464. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
  465. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
  466. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
  467. data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
  468. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
  469. data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
  470. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
  471. data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
  472. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
  473. data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
  474. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
  475. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
  476. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
  477. data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
  478. data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
  479. data/test/TestSuite/StatusSheets/run +3 -2
  480. data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
  481. data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
  482. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
  483. data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
  484. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
  485. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
  486. data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
  487. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  488. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  489. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  490. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  491. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  492. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  493. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  494. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  495. data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
  496. data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
  497. data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
  498. data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
  499. data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
  500. data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
  501. data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
  502. data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
  503. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  504. data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
  505. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  506. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
  507. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
  508. data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
  509. data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
  510. data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
  511. data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
  512. data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
  513. data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
  514. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  515. data/test/TestSuite/TimeSheets/run +5 -5
  516. data/test/test_CSVFile.rb +75 -0
  517. data/test/test_Limits.rb +63 -5
  518. data/test/test_ProjectFileScanner.rb +163 -0
  519. data/test/test_ReportGenerator.rb +81 -0
  520. data/test/test_RichText.rb +21 -3
  521. data/test/test_Scheduler.rb +1 -1
  522. data/test/test_ShiftAssignments.rb +4 -4
  523. data/test/test_Syntax.rb +1 -1
  524. data/test/test_URLParameter.rb +30 -0
  525. metadata +126 -32
  526. data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
  527. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
  528. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
  529. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
  530. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
  531. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
  532. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
  533. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
  534. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
  535. data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
  536. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
  537. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
  538. data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
  539. data/test/TestSuite/TimeSheets/receiver.log +0 -102
  540. data/test/TestSuite/TimeSheets/sender.log +0 -794
  541. data/test/TestSuite/TimeSheets/summary.log +0 -884
  542. data/test/TestSuite/TimeSheets/timesheets.log +0 -45
  543. data/test/TestSuite/TimeSheets/tj3d.log +0 -292
  544. data/test/test_TextScanner.rb +0 -95
@@ -0,0 +1,3183 @@
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
+ task g4 "Group 4" {
1599
+ depends !g1
1600
+ task sg1 "Sub Group 1" {
1601
+ task t1 "Task 1" {
1602
+ effort 2d
1603
+ allocate a
1604
+ }
1605
+ task t2 "Task 2" {
1606
+ length 2d
1607
+ priority 600
1608
+ allocate b
1609
+ depends !t1
1610
+ }
1611
+ task t3 "Task 3" {
1612
+ duration 4d
1613
+ allocate a { alternative b }
1614
+ priority 200
1615
+ }
1616
+ task t4 "Task 4" {
1617
+ depends !t1
1618
+ length 5d
1619
+ allocate c
1620
+ priority 800
1621
+ limits { dailymax 2h }
1622
+ }
1623
+ task t5 "Task 5" {
1624
+ effort 10d
1625
+ allocate d
1626
+ }
1627
+ task t6 "Task 6" {
1628
+ depends !t5
1629
+ effort 5d
1630
+ allocate e { mandatory }
1631
+ allocate f { alternative g }
1632
+ }
1633
+ task t7 "Task 7" {
1634
+ duration 5d
1635
+ depends !t1
1636
+ allocate e
1637
+ priority 900
1638
+ shift parttime
1639
+ }
1640
+ task t8 "Task 8" {
1641
+ depends !t4
1642
+ milestone
1643
+ }
1644
+ task t9 "Task 9" {
1645
+ depends !t6
1646
+ }
1647
+ task t10 "Task 10" {
1648
+ effort 3d
1649
+ allocate h { alternative a }
1650
+ }
1651
+ }
1652
+ task sg2 "Sub Group 2" {
1653
+ depends !sg1
1654
+ task t1 "Task 1" {
1655
+ effort 2d
1656
+ allocate a
1657
+ }
1658
+ task t2 "Task 2" {
1659
+ length 2d
1660
+ priority 600
1661
+ allocate b
1662
+ depends !t1
1663
+ }
1664
+ task t3 "Task 3" {
1665
+ duration 4d
1666
+ allocate a { alternative b }
1667
+ priority 200
1668
+ }
1669
+ task t4 "Task 4" {
1670
+ depends !t1
1671
+ length 5d
1672
+ allocate c
1673
+ priority 800
1674
+ limits { dailymax 2h }
1675
+ }
1676
+ task t5 "Task 5" {
1677
+ effort 10d
1678
+ allocate d
1679
+ }
1680
+ task t6 "Task 6" {
1681
+ depends !t5
1682
+ effort 5d
1683
+ allocate e { mandatory }
1684
+ allocate f { alternative g }
1685
+ }
1686
+ task t7 "Task 7" {
1687
+ duration 5d
1688
+ depends !t1
1689
+ allocate e
1690
+ priority 900
1691
+ shift parttime
1692
+ }
1693
+ task t8 "Task 8" {
1694
+ depends !t4
1695
+ milestone
1696
+ }
1697
+ task t9 "Task 9" {
1698
+ depends !t6
1699
+ }
1700
+ task t10 "Task 10" {
1701
+ effort 3d
1702
+ allocate h { alternative a }
1703
+ }
1704
+ }
1705
+ task sg3 "Sub Group 3" {
1706
+ task t1 "Task 1" {
1707
+ effort 2d
1708
+ allocate a
1709
+ }
1710
+ task t2 "Task 2" {
1711
+ length 2d
1712
+ priority 600
1713
+ allocate b
1714
+ depends !t1
1715
+ }
1716
+ task t3 "Task 3" {
1717
+ duration 4d
1718
+ allocate a { alternative b }
1719
+ priority 200
1720
+ }
1721
+ task t4 "Task 4" {
1722
+ depends !t1
1723
+ length 5d
1724
+ allocate c
1725
+ priority 800
1726
+ limits { dailymax 2h }
1727
+ }
1728
+ task t5 "Task 5" {
1729
+ effort 10d
1730
+ allocate d
1731
+ }
1732
+ task t6 "Task 6" {
1733
+ depends !t5
1734
+ effort 5d
1735
+ allocate e { mandatory }
1736
+ allocate f { alternative g }
1737
+ }
1738
+ task t7 "Task 7" {
1739
+ duration 5d
1740
+ depends !t1
1741
+ allocate e
1742
+ priority 900
1743
+ shift parttime
1744
+ }
1745
+ task t8 "Task 8" {
1746
+ depends !t4
1747
+ milestone
1748
+ }
1749
+ task t9 "Task 9" {
1750
+ depends !t6
1751
+ }
1752
+ task t10 "Task 10" {
1753
+ effort 3d
1754
+ allocate h { alternative a }
1755
+ }
1756
+ }
1757
+ task sg4 "Sub Group 4" {
1758
+ depends !sg2
1759
+ task t1 "Task 1" {
1760
+ effort 2d
1761
+ allocate a
1762
+ }
1763
+ task t2 "Task 2" {
1764
+ length 2d
1765
+ priority 600
1766
+ allocate b
1767
+ depends !t1
1768
+ }
1769
+ task t3 "Task 3" {
1770
+ duration 4d
1771
+ allocate a { alternative b }
1772
+ priority 200
1773
+ }
1774
+ task t4 "Task 4" {
1775
+ depends !t1
1776
+ length 5d
1777
+ allocate c
1778
+ priority 800
1779
+ limits { dailymax 2h }
1780
+ }
1781
+ task t5 "Task 5" {
1782
+ effort 10d
1783
+ allocate d
1784
+ }
1785
+ task t6 "Task 6" {
1786
+ depends !t5
1787
+ effort 5d
1788
+ allocate e { mandatory }
1789
+ allocate f { alternative g }
1790
+ }
1791
+ task t7 "Task 7" {
1792
+ duration 5d
1793
+ depends !t1
1794
+ allocate e
1795
+ priority 900
1796
+ shift parttime
1797
+ }
1798
+ task t8 "Task 8" {
1799
+ depends !t4
1800
+ milestone
1801
+ }
1802
+ task t9 "Task 9" {
1803
+ depends !t6
1804
+ }
1805
+ task t10 "Task 10" {
1806
+ effort 3d
1807
+ allocate h { alternative a }
1808
+ }
1809
+ }
1810
+ task sg5 "Sub Group 5" {
1811
+ task t1 "Task 1" {
1812
+ effort 2d
1813
+ allocate a
1814
+ }
1815
+ task t2 "Task 2" {
1816
+ length 2d
1817
+ priority 600
1818
+ allocate b
1819
+ depends !t1
1820
+ }
1821
+ task t3 "Task 3" {
1822
+ duration 4d
1823
+ allocate a { alternative b }
1824
+ priority 200
1825
+ }
1826
+ task t4 "Task 4" {
1827
+ depends !t1
1828
+ length 5d
1829
+ allocate c
1830
+ priority 800
1831
+ limits { dailymax 2h }
1832
+ }
1833
+ task t5 "Task 5" {
1834
+ effort 10d
1835
+ allocate d
1836
+ }
1837
+ task t6 "Task 6" {
1838
+ depends !t5
1839
+ effort 5d
1840
+ allocate e { mandatory }
1841
+ allocate f { alternative g }
1842
+ }
1843
+ task t7 "Task 7" {
1844
+ duration 5d
1845
+ depends !t1
1846
+ allocate e
1847
+ priority 900
1848
+ shift parttime
1849
+ }
1850
+ task t8 "Task 8" {
1851
+ depends !t4
1852
+ milestone
1853
+ }
1854
+ task t9 "Task 9" {
1855
+ depends !t6
1856
+ }
1857
+ task t10 "Task 10" {
1858
+ effort 3d
1859
+ allocate h { alternative a }
1860
+ }
1861
+ }
1862
+ task sg6 "Sub Group 6" {
1863
+ depends !sg4
1864
+ task t1 "Task 1" {
1865
+ effort 2d
1866
+ allocate a
1867
+ }
1868
+ task t2 "Task 2" {
1869
+ length 2d
1870
+ priority 600
1871
+ allocate b
1872
+ depends !t1
1873
+ }
1874
+ task t3 "Task 3" {
1875
+ duration 4d
1876
+ allocate a { alternative b }
1877
+ priority 200
1878
+ }
1879
+ task t4 "Task 4" {
1880
+ depends !t1
1881
+ length 5d
1882
+ allocate c
1883
+ priority 800
1884
+ limits { dailymax 2h }
1885
+ }
1886
+ task t5 "Task 5" {
1887
+ effort 10d
1888
+ allocate d
1889
+ }
1890
+ task t6 "Task 6" {
1891
+ depends !t5
1892
+ effort 5d
1893
+ allocate e { mandatory }
1894
+ allocate f { alternative g }
1895
+ }
1896
+ task t7 "Task 7" {
1897
+ duration 5d
1898
+ depends !t1
1899
+ allocate e
1900
+ priority 900
1901
+ shift parttime
1902
+ }
1903
+ task t8 "Task 8" {
1904
+ depends !t4
1905
+ milestone
1906
+ }
1907
+ task t9 "Task 9" {
1908
+ depends !t6
1909
+ }
1910
+ task t10 "Task 10" {
1911
+ effort 3d
1912
+ allocate h { alternative a }
1913
+ }
1914
+ }
1915
+ task sg7 "Sub Group 7" {
1916
+ task t1 "Task 1" {
1917
+ effort 2d
1918
+ allocate a
1919
+ }
1920
+ task t2 "Task 2" {
1921
+ length 2d
1922
+ priority 600
1923
+ allocate b
1924
+ depends !t1
1925
+ }
1926
+ task t3 "Task 3" {
1927
+ duration 4d
1928
+ allocate a { alternative b }
1929
+ priority 200
1930
+ }
1931
+ task t4 "Task 4" {
1932
+ depends !t1
1933
+ length 5d
1934
+ allocate c
1935
+ priority 800
1936
+ limits { dailymax 2h }
1937
+ }
1938
+ task t5 "Task 5" {
1939
+ effort 10d
1940
+ allocate d
1941
+ }
1942
+ task t6 "Task 6" {
1943
+ depends !t5
1944
+ effort 5d
1945
+ allocate e { mandatory }
1946
+ allocate f { alternative g }
1947
+ }
1948
+ task t7 "Task 7" {
1949
+ duration 5d
1950
+ depends !t1
1951
+ allocate e
1952
+ priority 900
1953
+ shift parttime
1954
+ }
1955
+ task t8 "Task 8" {
1956
+ depends !t4
1957
+ milestone
1958
+ }
1959
+ task t9 "Task 9" {
1960
+ depends !t6
1961
+ }
1962
+ task t10 "Task 10" {
1963
+ effort 3d
1964
+ allocate h { alternative a }
1965
+ }
1966
+ }
1967
+ task sg8 "Sub Group 8" {
1968
+ depends !sg7
1969
+ task t1 "Task 1" {
1970
+ effort 2d
1971
+ allocate a
1972
+ }
1973
+ task t2 "Task 2" {
1974
+ length 2d
1975
+ priority 600
1976
+ allocate b
1977
+ depends !t1
1978
+ }
1979
+ task t3 "Task 3" {
1980
+ duration 4d
1981
+ allocate a { alternative b }
1982
+ priority 200
1983
+ }
1984
+ task t4 "Task 4" {
1985
+ depends !t1
1986
+ length 5d
1987
+ allocate c
1988
+ priority 800
1989
+ limits { dailymax 2h }
1990
+ }
1991
+ task t5 "Task 5" {
1992
+ effort 10d
1993
+ allocate d
1994
+ }
1995
+ task t6 "Task 6" {
1996
+ depends !t5
1997
+ effort 5d
1998
+ allocate e { mandatory }
1999
+ allocate f { alternative g }
2000
+ }
2001
+ task t7 "Task 7" {
2002
+ duration 5d
2003
+ depends !t1
2004
+ allocate e
2005
+ priority 900
2006
+ shift parttime
2007
+ }
2008
+ task t8 "Task 8" {
2009
+ depends !t4
2010
+ milestone
2011
+ }
2012
+ task t9 "Task 9" {
2013
+ depends !t6
2014
+ }
2015
+ task t10 "Task 10" {
2016
+ effort 3d
2017
+ allocate h { alternative a }
2018
+ }
2019
+ }
2020
+ task sg9 "Sub Group 9" {
2021
+ task t1 "Task 1" {
2022
+ effort 2d
2023
+ allocate a
2024
+ }
2025
+ task t2 "Task 2" {
2026
+ length 2d
2027
+ priority 600
2028
+ allocate b
2029
+ depends !t1
2030
+ }
2031
+ task t3 "Task 3" {
2032
+ duration 4d
2033
+ allocate a { alternative b }
2034
+ priority 200
2035
+ }
2036
+ task t4 "Task 4" {
2037
+ depends !t1
2038
+ length 5d
2039
+ allocate c
2040
+ priority 800
2041
+ limits { dailymax 2h }
2042
+ }
2043
+ task t5 "Task 5" {
2044
+ effort 10d
2045
+ allocate d
2046
+ }
2047
+ task t6 "Task 6" {
2048
+ depends !t5
2049
+ effort 5d
2050
+ allocate e { mandatory }
2051
+ allocate f { alternative g }
2052
+ }
2053
+ task t7 "Task 7" {
2054
+ duration 5d
2055
+ depends !t1
2056
+ allocate e
2057
+ priority 900
2058
+ shift parttime
2059
+ }
2060
+ task t8 "Task 8" {
2061
+ depends !t4
2062
+ milestone
2063
+ }
2064
+ task t9 "Task 9" {
2065
+ depends !t6
2066
+ }
2067
+ task t10 "Task 10" {
2068
+ effort 3d
2069
+ allocate h { alternative a }
2070
+ }
2071
+ }
2072
+ task sg10 "Sub Group 10" {
2073
+ depends !sg6
2074
+ task t1 "Task 1" {
2075
+ effort 2d
2076
+ allocate a
2077
+ }
2078
+ task t2 "Task 2" {
2079
+ length 2d
2080
+ priority 600
2081
+ allocate b
2082
+ depends !t1
2083
+ }
2084
+ task t3 "Task 3" {
2085
+ duration 4d
2086
+ allocate a { alternative b }
2087
+ priority 200
2088
+ }
2089
+ task t4 "Task 4" {
2090
+ depends !t1
2091
+ length 5d
2092
+ allocate c
2093
+ priority 800
2094
+ limits { dailymax 2h }
2095
+ }
2096
+ task t5 "Task 5" {
2097
+ effort 10d
2098
+ allocate d
2099
+ }
2100
+ task t6 "Task 6" {
2101
+ depends !t5
2102
+ effort 5d
2103
+ allocate e { mandatory }
2104
+ allocate f { alternative g }
2105
+ }
2106
+ task t7 "Task 7" {
2107
+ duration 5d
2108
+ depends !t1
2109
+ allocate e
2110
+ priority 900
2111
+ shift parttime
2112
+ }
2113
+ task t8 "Task 8" {
2114
+ depends !t4
2115
+ milestone
2116
+ }
2117
+ task t9 "Task 9" {
2118
+ depends !t6
2119
+ }
2120
+ task t10 "Task 10" {
2121
+ effort 3d
2122
+ allocate h { alternative a }
2123
+ }
2124
+ }
2125
+ }
2126
+ task g5 "Group 5" {
2127
+ depends !g2
2128
+ task sg1 "Sub Group 1" {
2129
+ task t1 "Task 1" {
2130
+ effort 2d
2131
+ allocate a
2132
+ }
2133
+ task t2 "Task 2" {
2134
+ length 2d
2135
+ priority 600
2136
+ allocate b
2137
+ depends !t1
2138
+ }
2139
+ task t3 "Task 3" {
2140
+ duration 4d
2141
+ allocate a { alternative b }
2142
+ priority 200
2143
+ }
2144
+ task t4 "Task 4" {
2145
+ depends !t1
2146
+ length 5d
2147
+ allocate c
2148
+ priority 800
2149
+ limits { dailymax 2h }
2150
+ }
2151
+ task t5 "Task 5" {
2152
+ effort 10d
2153
+ allocate d
2154
+ }
2155
+ task t6 "Task 6" {
2156
+ depends !t5
2157
+ effort 5d
2158
+ allocate e { mandatory }
2159
+ allocate f { alternative g }
2160
+ }
2161
+ task t7 "Task 7" {
2162
+ duration 5d
2163
+ depends !t1
2164
+ allocate e
2165
+ priority 900
2166
+ shift parttime
2167
+ }
2168
+ task t8 "Task 8" {
2169
+ depends !t4
2170
+ milestone
2171
+ }
2172
+ task t9 "Task 9" {
2173
+ depends !t6
2174
+ }
2175
+ task t10 "Task 10" {
2176
+ effort 3d
2177
+ allocate h { alternative a }
2178
+ }
2179
+ }
2180
+ task sg2 "Sub Group 2" {
2181
+ depends !sg1
2182
+ task t1 "Task 1" {
2183
+ effort 2d
2184
+ allocate a
2185
+ }
2186
+ task t2 "Task 2" {
2187
+ length 2d
2188
+ priority 600
2189
+ allocate b
2190
+ depends !t1
2191
+ }
2192
+ task t3 "Task 3" {
2193
+ duration 4d
2194
+ allocate a { alternative b }
2195
+ priority 200
2196
+ }
2197
+ task t4 "Task 4" {
2198
+ depends !t1
2199
+ length 5d
2200
+ allocate c
2201
+ priority 800
2202
+ limits { dailymax 2h }
2203
+ }
2204
+ task t5 "Task 5" {
2205
+ effort 10d
2206
+ allocate d
2207
+ }
2208
+ task t6 "Task 6" {
2209
+ depends !t5
2210
+ effort 5d
2211
+ allocate e { mandatory }
2212
+ allocate f { alternative g }
2213
+ }
2214
+ task t7 "Task 7" {
2215
+ duration 5d
2216
+ depends !t1
2217
+ allocate e
2218
+ priority 900
2219
+ shift parttime
2220
+ }
2221
+ task t8 "Task 8" {
2222
+ depends !t4
2223
+ milestone
2224
+ }
2225
+ task t9 "Task 9" {
2226
+ depends !t6
2227
+ }
2228
+ task t10 "Task 10" {
2229
+ effort 3d
2230
+ allocate h { alternative a }
2231
+ }
2232
+ }
2233
+ task sg3 "Sub Group 3" {
2234
+ task t1 "Task 1" {
2235
+ effort 2d
2236
+ allocate a
2237
+ }
2238
+ task t2 "Task 2" {
2239
+ length 2d
2240
+ priority 600
2241
+ allocate b
2242
+ depends !t1
2243
+ }
2244
+ task t3 "Task 3" {
2245
+ duration 4d
2246
+ allocate a { alternative b }
2247
+ priority 200
2248
+ }
2249
+ task t4 "Task 4" {
2250
+ depends !t1
2251
+ length 5d
2252
+ allocate c
2253
+ priority 800
2254
+ limits { dailymax 2h }
2255
+ }
2256
+ task t5 "Task 5" {
2257
+ effort 10d
2258
+ allocate d
2259
+ }
2260
+ task t6 "Task 6" {
2261
+ depends !t5
2262
+ effort 5d
2263
+ allocate e { mandatory }
2264
+ allocate f { alternative g }
2265
+ }
2266
+ task t7 "Task 7" {
2267
+ duration 5d
2268
+ depends !t1
2269
+ allocate e
2270
+ priority 900
2271
+ shift parttime
2272
+ }
2273
+ task t8 "Task 8" {
2274
+ depends !t4
2275
+ milestone
2276
+ }
2277
+ task t9 "Task 9" {
2278
+ depends !t6
2279
+ }
2280
+ task t10 "Task 10" {
2281
+ effort 3d
2282
+ allocate h { alternative a }
2283
+ }
2284
+ }
2285
+ task sg4 "Sub Group 4" {
2286
+ depends !sg2
2287
+ task t1 "Task 1" {
2288
+ effort 2d
2289
+ allocate a
2290
+ }
2291
+ task t2 "Task 2" {
2292
+ length 2d
2293
+ priority 600
2294
+ allocate b
2295
+ depends !t1
2296
+ }
2297
+ task t3 "Task 3" {
2298
+ duration 4d
2299
+ allocate a { alternative b }
2300
+ priority 200
2301
+ }
2302
+ task t4 "Task 4" {
2303
+ depends !t1
2304
+ length 5d
2305
+ allocate c
2306
+ priority 800
2307
+ limits { dailymax 2h }
2308
+ }
2309
+ task t5 "Task 5" {
2310
+ effort 10d
2311
+ allocate d
2312
+ }
2313
+ task t6 "Task 6" {
2314
+ depends !t5
2315
+ effort 5d
2316
+ allocate e { mandatory }
2317
+ allocate f { alternative g }
2318
+ }
2319
+ task t7 "Task 7" {
2320
+ duration 5d
2321
+ depends !t1
2322
+ allocate e
2323
+ priority 900
2324
+ shift parttime
2325
+ }
2326
+ task t8 "Task 8" {
2327
+ depends !t4
2328
+ milestone
2329
+ }
2330
+ task t9 "Task 9" {
2331
+ depends !t6
2332
+ }
2333
+ task t10 "Task 10" {
2334
+ effort 3d
2335
+ allocate h { alternative a }
2336
+ }
2337
+ }
2338
+ task sg5 "Sub Group 5" {
2339
+ task t1 "Task 1" {
2340
+ effort 2d
2341
+ allocate a
2342
+ }
2343
+ task t2 "Task 2" {
2344
+ length 2d
2345
+ priority 600
2346
+ allocate b
2347
+ depends !t1
2348
+ }
2349
+ task t3 "Task 3" {
2350
+ duration 4d
2351
+ allocate a { alternative b }
2352
+ priority 200
2353
+ }
2354
+ task t4 "Task 4" {
2355
+ depends !t1
2356
+ length 5d
2357
+ allocate c
2358
+ priority 800
2359
+ limits { dailymax 2h }
2360
+ }
2361
+ task t5 "Task 5" {
2362
+ effort 10d
2363
+ allocate d
2364
+ }
2365
+ task t6 "Task 6" {
2366
+ depends !t5
2367
+ effort 5d
2368
+ allocate e { mandatory }
2369
+ allocate f { alternative g }
2370
+ }
2371
+ task t7 "Task 7" {
2372
+ duration 5d
2373
+ depends !t1
2374
+ allocate e
2375
+ priority 900
2376
+ shift parttime
2377
+ }
2378
+ task t8 "Task 8" {
2379
+ depends !t4
2380
+ milestone
2381
+ }
2382
+ task t9 "Task 9" {
2383
+ depends !t6
2384
+ }
2385
+ task t10 "Task 10" {
2386
+ effort 3d
2387
+ allocate h { alternative a }
2388
+ }
2389
+ }
2390
+ task sg6 "Sub Group 6" {
2391
+ depends !sg4
2392
+ task t1 "Task 1" {
2393
+ effort 2d
2394
+ allocate a
2395
+ }
2396
+ task t2 "Task 2" {
2397
+ length 2d
2398
+ priority 600
2399
+ allocate b
2400
+ depends !t1
2401
+ }
2402
+ task t3 "Task 3" {
2403
+ duration 4d
2404
+ allocate a { alternative b }
2405
+ priority 200
2406
+ }
2407
+ task t4 "Task 4" {
2408
+ depends !t1
2409
+ length 5d
2410
+ allocate c
2411
+ priority 800
2412
+ limits { dailymax 2h }
2413
+ }
2414
+ task t5 "Task 5" {
2415
+ effort 10d
2416
+ allocate d
2417
+ }
2418
+ task t6 "Task 6" {
2419
+ depends !t5
2420
+ effort 5d
2421
+ allocate e { mandatory }
2422
+ allocate f { alternative g }
2423
+ }
2424
+ task t7 "Task 7" {
2425
+ duration 5d
2426
+ depends !t1
2427
+ allocate e
2428
+ priority 900
2429
+ shift parttime
2430
+ }
2431
+ task t8 "Task 8" {
2432
+ depends !t4
2433
+ milestone
2434
+ }
2435
+ task t9 "Task 9" {
2436
+ depends !t6
2437
+ }
2438
+ task t10 "Task 10" {
2439
+ effort 3d
2440
+ allocate h { alternative a }
2441
+ }
2442
+ }
2443
+ task sg7 "Sub Group 7" {
2444
+ task t1 "Task 1" {
2445
+ effort 2d
2446
+ allocate a
2447
+ }
2448
+ task t2 "Task 2" {
2449
+ length 2d
2450
+ priority 600
2451
+ allocate b
2452
+ depends !t1
2453
+ }
2454
+ task t3 "Task 3" {
2455
+ duration 4d
2456
+ allocate a { alternative b }
2457
+ priority 200
2458
+ }
2459
+ task t4 "Task 4" {
2460
+ depends !t1
2461
+ length 5d
2462
+ allocate c
2463
+ priority 800
2464
+ limits { dailymax 2h }
2465
+ }
2466
+ task t5 "Task 5" {
2467
+ effort 10d
2468
+ allocate d
2469
+ }
2470
+ task t6 "Task 6" {
2471
+ depends !t5
2472
+ effort 5d
2473
+ allocate e { mandatory }
2474
+ allocate f { alternative g }
2475
+ }
2476
+ task t7 "Task 7" {
2477
+ duration 5d
2478
+ depends !t1
2479
+ allocate e
2480
+ priority 900
2481
+ shift parttime
2482
+ }
2483
+ task t8 "Task 8" {
2484
+ depends !t4
2485
+ milestone
2486
+ }
2487
+ task t9 "Task 9" {
2488
+ depends !t6
2489
+ }
2490
+ task t10 "Task 10" {
2491
+ effort 3d
2492
+ allocate h { alternative a }
2493
+ }
2494
+ }
2495
+ task sg8 "Sub Group 8" {
2496
+ depends !sg7
2497
+ task t1 "Task 1" {
2498
+ effort 2d
2499
+ allocate a
2500
+ }
2501
+ task t2 "Task 2" {
2502
+ length 2d
2503
+ priority 600
2504
+ allocate b
2505
+ depends !t1
2506
+ }
2507
+ task t3 "Task 3" {
2508
+ duration 4d
2509
+ allocate a { alternative b }
2510
+ priority 200
2511
+ }
2512
+ task t4 "Task 4" {
2513
+ depends !t1
2514
+ length 5d
2515
+ allocate c
2516
+ priority 800
2517
+ limits { dailymax 2h }
2518
+ }
2519
+ task t5 "Task 5" {
2520
+ effort 10d
2521
+ allocate d
2522
+ }
2523
+ task t6 "Task 6" {
2524
+ depends !t5
2525
+ effort 5d
2526
+ allocate e { mandatory }
2527
+ allocate f { alternative g }
2528
+ }
2529
+ task t7 "Task 7" {
2530
+ duration 5d
2531
+ depends !t1
2532
+ allocate e
2533
+ priority 900
2534
+ shift parttime
2535
+ }
2536
+ task t8 "Task 8" {
2537
+ depends !t4
2538
+ milestone
2539
+ }
2540
+ task t9 "Task 9" {
2541
+ depends !t6
2542
+ }
2543
+ task t10 "Task 10" {
2544
+ effort 3d
2545
+ allocate h { alternative a }
2546
+ }
2547
+ }
2548
+ task sg9 "Sub Group 9" {
2549
+ task t1 "Task 1" {
2550
+ effort 2d
2551
+ allocate a
2552
+ }
2553
+ task t2 "Task 2" {
2554
+ length 2d
2555
+ priority 600
2556
+ allocate b
2557
+ depends !t1
2558
+ }
2559
+ task t3 "Task 3" {
2560
+ duration 4d
2561
+ allocate a { alternative b }
2562
+ priority 200
2563
+ }
2564
+ task t4 "Task 4" {
2565
+ depends !t1
2566
+ length 5d
2567
+ allocate c
2568
+ priority 800
2569
+ limits { dailymax 2h }
2570
+ }
2571
+ task t5 "Task 5" {
2572
+ effort 10d
2573
+ allocate d
2574
+ }
2575
+ task t6 "Task 6" {
2576
+ depends !t5
2577
+ effort 5d
2578
+ allocate e { mandatory }
2579
+ allocate f { alternative g }
2580
+ }
2581
+ task t7 "Task 7" {
2582
+ duration 5d
2583
+ depends !t1
2584
+ allocate e
2585
+ priority 900
2586
+ shift parttime
2587
+ }
2588
+ task t8 "Task 8" {
2589
+ depends !t4
2590
+ milestone
2591
+ }
2592
+ task t9 "Task 9" {
2593
+ depends !t6
2594
+ }
2595
+ task t10 "Task 10" {
2596
+ effort 3d
2597
+ allocate h { alternative a }
2598
+ }
2599
+ }
2600
+ task sg10 "Sub Group 10" {
2601
+ depends !sg6
2602
+ task t1 "Task 1" {
2603
+ effort 2d
2604
+ allocate a
2605
+ }
2606
+ task t2 "Task 2" {
2607
+ length 2d
2608
+ priority 600
2609
+ allocate b
2610
+ depends !t1
2611
+ }
2612
+ task t3 "Task 3" {
2613
+ duration 4d
2614
+ allocate a { alternative b }
2615
+ priority 200
2616
+ }
2617
+ task t4 "Task 4" {
2618
+ depends !t1
2619
+ length 5d
2620
+ allocate c
2621
+ priority 800
2622
+ limits { dailymax 2h }
2623
+ }
2624
+ task t5 "Task 5" {
2625
+ effort 10d
2626
+ allocate d
2627
+ }
2628
+ task t6 "Task 6" {
2629
+ depends !t5
2630
+ effort 5d
2631
+ allocate e { mandatory }
2632
+ allocate f { alternative g }
2633
+ }
2634
+ task t7 "Task 7" {
2635
+ duration 5d
2636
+ depends !t1
2637
+ allocate e
2638
+ priority 900
2639
+ shift parttime
2640
+ }
2641
+ task t8 "Task 8" {
2642
+ depends !t4
2643
+ milestone
2644
+ }
2645
+ task t9 "Task 9" {
2646
+ depends !t6
2647
+ }
2648
+ task t10 "Task 10" {
2649
+ effort 3d
2650
+ allocate h { alternative a }
2651
+ }
2652
+ }
2653
+ }
2654
+ task g6 "Group 6" {
2655
+ depends !g5
2656
+ task sg1 "Sub Group 1" {
2657
+ task t1 "Task 1" {
2658
+ effort 2d
2659
+ allocate a
2660
+ }
2661
+ task t2 "Task 2" {
2662
+ length 2d
2663
+ priority 600
2664
+ allocate b
2665
+ depends !t1
2666
+ }
2667
+ task t3 "Task 3" {
2668
+ duration 4d
2669
+ allocate a { alternative b }
2670
+ priority 200
2671
+ }
2672
+ task t4 "Task 4" {
2673
+ depends !t1
2674
+ length 5d
2675
+ allocate c
2676
+ priority 800
2677
+ limits { dailymax 2h }
2678
+ }
2679
+ task t5 "Task 5" {
2680
+ effort 10d
2681
+ allocate d
2682
+ }
2683
+ task t6 "Task 6" {
2684
+ depends !t5
2685
+ effort 5d
2686
+ allocate e { mandatory }
2687
+ allocate f { alternative g }
2688
+ }
2689
+ task t7 "Task 7" {
2690
+ duration 5d
2691
+ depends !t1
2692
+ allocate e
2693
+ priority 900
2694
+ shift parttime
2695
+ }
2696
+ task t8 "Task 8" {
2697
+ depends !t4
2698
+ milestone
2699
+ }
2700
+ task t9 "Task 9" {
2701
+ depends !t6
2702
+ }
2703
+ task t10 "Task 10" {
2704
+ effort 3d
2705
+ allocate h { alternative a }
2706
+ }
2707
+ }
2708
+ task sg2 "Sub Group 2" {
2709
+ depends !sg1
2710
+ task t1 "Task 1" {
2711
+ effort 2d
2712
+ allocate a
2713
+ }
2714
+ task t2 "Task 2" {
2715
+ length 2d
2716
+ priority 600
2717
+ allocate b
2718
+ depends !t1
2719
+ }
2720
+ task t3 "Task 3" {
2721
+ duration 4d
2722
+ allocate a { alternative b }
2723
+ priority 200
2724
+ }
2725
+ task t4 "Task 4" {
2726
+ depends !t1
2727
+ length 5d
2728
+ allocate c
2729
+ priority 800
2730
+ limits { dailymax 2h }
2731
+ }
2732
+ task t5 "Task 5" {
2733
+ effort 10d
2734
+ allocate d
2735
+ }
2736
+ task t6 "Task 6" {
2737
+ depends !t5
2738
+ effort 5d
2739
+ allocate e { mandatory }
2740
+ allocate f { alternative g }
2741
+ }
2742
+ task t7 "Task 7" {
2743
+ duration 5d
2744
+ depends !t1
2745
+ allocate e
2746
+ priority 900
2747
+ shift parttime
2748
+ }
2749
+ task t8 "Task 8" {
2750
+ depends !t4
2751
+ milestone
2752
+ }
2753
+ task t9 "Task 9" {
2754
+ depends !t6
2755
+ }
2756
+ task t10 "Task 10" {
2757
+ effort 3d
2758
+ allocate h { alternative a }
2759
+ }
2760
+ }
2761
+ task sg3 "Sub Group 3" {
2762
+ task t1 "Task 1" {
2763
+ effort 2d
2764
+ allocate a
2765
+ }
2766
+ task t2 "Task 2" {
2767
+ length 2d
2768
+ priority 600
2769
+ allocate b
2770
+ depends !t1
2771
+ }
2772
+ task t3 "Task 3" {
2773
+ duration 4d
2774
+ allocate a { alternative b }
2775
+ priority 200
2776
+ }
2777
+ task t4 "Task 4" {
2778
+ depends !t1
2779
+ length 5d
2780
+ allocate c
2781
+ priority 800
2782
+ limits { dailymax 2h }
2783
+ }
2784
+ task t5 "Task 5" {
2785
+ effort 10d
2786
+ allocate d
2787
+ }
2788
+ task t6 "Task 6" {
2789
+ depends !t5
2790
+ effort 5d
2791
+ allocate e { mandatory }
2792
+ allocate f { alternative g }
2793
+ }
2794
+ task t7 "Task 7" {
2795
+ duration 5d
2796
+ depends !t1
2797
+ allocate e
2798
+ priority 900
2799
+ shift parttime
2800
+ }
2801
+ task t8 "Task 8" {
2802
+ depends !t4
2803
+ milestone
2804
+ }
2805
+ task t9 "Task 9" {
2806
+ depends !t6
2807
+ }
2808
+ task t10 "Task 10" {
2809
+ effort 3d
2810
+ allocate h { alternative a }
2811
+ }
2812
+ }
2813
+ task sg4 "Sub Group 4" {
2814
+ depends !sg2
2815
+ task t1 "Task 1" {
2816
+ effort 2d
2817
+ allocate a
2818
+ }
2819
+ task t2 "Task 2" {
2820
+ length 2d
2821
+ priority 600
2822
+ allocate b
2823
+ depends !t1
2824
+ }
2825
+ task t3 "Task 3" {
2826
+ duration 4d
2827
+ allocate a { alternative b }
2828
+ priority 200
2829
+ }
2830
+ task t4 "Task 4" {
2831
+ depends !t1
2832
+ length 5d
2833
+ allocate c
2834
+ priority 800
2835
+ limits { dailymax 2h }
2836
+ }
2837
+ task t5 "Task 5" {
2838
+ effort 10d
2839
+ allocate d
2840
+ }
2841
+ task t6 "Task 6" {
2842
+ depends !t5
2843
+ effort 5d
2844
+ allocate e { mandatory }
2845
+ allocate f { alternative g }
2846
+ }
2847
+ task t7 "Task 7" {
2848
+ duration 5d
2849
+ depends !t1
2850
+ allocate e
2851
+ priority 900
2852
+ shift parttime
2853
+ }
2854
+ task t8 "Task 8" {
2855
+ depends !t4
2856
+ milestone
2857
+ }
2858
+ task t9 "Task 9" {
2859
+ depends !t6
2860
+ }
2861
+ task t10 "Task 10" {
2862
+ effort 3d
2863
+ allocate h { alternative a }
2864
+ }
2865
+ }
2866
+ task sg5 "Sub Group 5" {
2867
+ task t1 "Task 1" {
2868
+ effort 2d
2869
+ allocate a
2870
+ }
2871
+ task t2 "Task 2" {
2872
+ length 2d
2873
+ priority 600
2874
+ allocate b
2875
+ depends !t1
2876
+ }
2877
+ task t3 "Task 3" {
2878
+ duration 4d
2879
+ allocate a { alternative b }
2880
+ priority 200
2881
+ }
2882
+ task t4 "Task 4" {
2883
+ depends !t1
2884
+ length 5d
2885
+ allocate c
2886
+ priority 800
2887
+ limits { dailymax 2h }
2888
+ }
2889
+ task t5 "Task 5" {
2890
+ effort 10d
2891
+ allocate d
2892
+ }
2893
+ task t6 "Task 6" {
2894
+ depends !t5
2895
+ effort 5d
2896
+ allocate e { mandatory }
2897
+ allocate f { alternative g }
2898
+ }
2899
+ task t7 "Task 7" {
2900
+ duration 5d
2901
+ depends !t1
2902
+ allocate e
2903
+ priority 900
2904
+ shift parttime
2905
+ }
2906
+ task t8 "Task 8" {
2907
+ depends !t4
2908
+ milestone
2909
+ }
2910
+ task t9 "Task 9" {
2911
+ depends !t6
2912
+ }
2913
+ task t10 "Task 10" {
2914
+ effort 3d
2915
+ allocate h { alternative a }
2916
+ }
2917
+ }
2918
+ task sg6 "Sub Group 6" {
2919
+ depends !sg4
2920
+ task t1 "Task 1" {
2921
+ effort 2d
2922
+ allocate a
2923
+ }
2924
+ task t2 "Task 2" {
2925
+ length 2d
2926
+ priority 600
2927
+ allocate b
2928
+ depends !t1
2929
+ }
2930
+ task t3 "Task 3" {
2931
+ duration 4d
2932
+ allocate a { alternative b }
2933
+ priority 200
2934
+ }
2935
+ task t4 "Task 4" {
2936
+ depends !t1
2937
+ length 5d
2938
+ allocate c
2939
+ priority 800
2940
+ limits { dailymax 2h }
2941
+ }
2942
+ task t5 "Task 5" {
2943
+ effort 10d
2944
+ allocate d
2945
+ }
2946
+ task t6 "Task 6" {
2947
+ depends !t5
2948
+ effort 5d
2949
+ allocate e { mandatory }
2950
+ allocate f { alternative g }
2951
+ }
2952
+ task t7 "Task 7" {
2953
+ duration 5d
2954
+ depends !t1
2955
+ allocate e
2956
+ priority 900
2957
+ shift parttime
2958
+ }
2959
+ task t8 "Task 8" {
2960
+ depends !t4
2961
+ milestone
2962
+ }
2963
+ task t9 "Task 9" {
2964
+ depends !t6
2965
+ }
2966
+ task t10 "Task 10" {
2967
+ effort 3d
2968
+ allocate h { alternative a }
2969
+ }
2970
+ }
2971
+ task sg7 "Sub Group 7" {
2972
+ task t1 "Task 1" {
2973
+ effort 2d
2974
+ allocate a
2975
+ }
2976
+ task t2 "Task 2" {
2977
+ length 2d
2978
+ priority 600
2979
+ allocate b
2980
+ depends !t1
2981
+ }
2982
+ task t3 "Task 3" {
2983
+ duration 4d
2984
+ allocate a { alternative b }
2985
+ priority 200
2986
+ }
2987
+ task t4 "Task 4" {
2988
+ depends !t1
2989
+ length 5d
2990
+ allocate c
2991
+ priority 800
2992
+ limits { dailymax 2h }
2993
+ }
2994
+ task t5 "Task 5" {
2995
+ effort 10d
2996
+ allocate d
2997
+ }
2998
+ task t6 "Task 6" {
2999
+ depends !t5
3000
+ effort 5d
3001
+ allocate e { mandatory }
3002
+ allocate f { alternative g }
3003
+ }
3004
+ task t7 "Task 7" {
3005
+ duration 5d
3006
+ depends !t1
3007
+ allocate e
3008
+ priority 900
3009
+ shift parttime
3010
+ }
3011
+ task t8 "Task 8" {
3012
+ depends !t4
3013
+ milestone
3014
+ }
3015
+ task t9 "Task 9" {
3016
+ depends !t6
3017
+ }
3018
+ task t10 "Task 10" {
3019
+ effort 3d
3020
+ allocate h { alternative a }
3021
+ }
3022
+ }
3023
+ task sg8 "Sub Group 8" {
3024
+ depends !sg7
3025
+ task t1 "Task 1" {
3026
+ effort 2d
3027
+ allocate a
3028
+ }
3029
+ task t2 "Task 2" {
3030
+ length 2d
3031
+ priority 600
3032
+ allocate b
3033
+ depends !t1
3034
+ }
3035
+ task t3 "Task 3" {
3036
+ duration 4d
3037
+ allocate a { alternative b }
3038
+ priority 200
3039
+ }
3040
+ task t4 "Task 4" {
3041
+ depends !t1
3042
+ length 5d
3043
+ allocate c
3044
+ priority 800
3045
+ limits { dailymax 2h }
3046
+ }
3047
+ task t5 "Task 5" {
3048
+ effort 10d
3049
+ allocate d
3050
+ }
3051
+ task t6 "Task 6" {
3052
+ depends !t5
3053
+ effort 5d
3054
+ allocate e { mandatory }
3055
+ allocate f { alternative g }
3056
+ }
3057
+ task t7 "Task 7" {
3058
+ duration 5d
3059
+ depends !t1
3060
+ allocate e
3061
+ priority 900
3062
+ shift parttime
3063
+ }
3064
+ task t8 "Task 8" {
3065
+ depends !t4
3066
+ milestone
3067
+ }
3068
+ task t9 "Task 9" {
3069
+ depends !t6
3070
+ }
3071
+ task t10 "Task 10" {
3072
+ effort 3d
3073
+ allocate h { alternative a }
3074
+ }
3075
+ }
3076
+ task sg9 "Sub Group 9" {
3077
+ task t1 "Task 1" {
3078
+ effort 2d
3079
+ allocate a
3080
+ }
3081
+ task t2 "Task 2" {
3082
+ length 2d
3083
+ priority 600
3084
+ allocate b
3085
+ depends !t1
3086
+ }
3087
+ task t3 "Task 3" {
3088
+ duration 4d
3089
+ allocate a { alternative b }
3090
+ priority 200
3091
+ }
3092
+ task t4 "Task 4" {
3093
+ depends !t1
3094
+ length 5d
3095
+ allocate c
3096
+ priority 800
3097
+ limits { dailymax 2h }
3098
+ }
3099
+ task t5 "Task 5" {
3100
+ effort 10d
3101
+ allocate d
3102
+ }
3103
+ task t6 "Task 6" {
3104
+ depends !t5
3105
+ effort 5d
3106
+ allocate e { mandatory }
3107
+ allocate f { alternative g }
3108
+ }
3109
+ task t7 "Task 7" {
3110
+ duration 5d
3111
+ depends !t1
3112
+ allocate e
3113
+ priority 900
3114
+ shift parttime
3115
+ }
3116
+ task t8 "Task 8" {
3117
+ depends !t4
3118
+ milestone
3119
+ }
3120
+ task t9 "Task 9" {
3121
+ depends !t6
3122
+ }
3123
+ task t10 "Task 10" {
3124
+ effort 3d
3125
+ allocate h { alternative a }
3126
+ }
3127
+ }
3128
+ task sg10 "Sub Group 10" {
3129
+ depends !sg6
3130
+ task t1 "Task 1" {
3131
+ effort 2d
3132
+ allocate a
3133
+ }
3134
+ task t2 "Task 2" {
3135
+ length 2d
3136
+ priority 600
3137
+ allocate b
3138
+ depends !t1
3139
+ }
3140
+ task t3 "Task 3" {
3141
+ duration 4d
3142
+ allocate a { alternative b }
3143
+ priority 200
3144
+ }
3145
+ task t4 "Task 4" {
3146
+ depends !t1
3147
+ length 5d
3148
+ allocate c
3149
+ priority 800
3150
+ limits { dailymax 2h }
3151
+ }
3152
+ task t5 "Task 5" {
3153
+ effort 10d
3154
+ allocate d
3155
+ }
3156
+ task t6 "Task 6" {
3157
+ depends !t5
3158
+ effort 5d
3159
+ allocate e { mandatory }
3160
+ allocate f { alternative g }
3161
+ }
3162
+ task t7 "Task 7" {
3163
+ duration 5d
3164
+ depends !t1
3165
+ allocate e
3166
+ priority 900
3167
+ shift parttime
3168
+ }
3169
+ task t8 "Task 8" {
3170
+ depends !t4
3171
+ milestone
3172
+ }
3173
+ task t9 "Task 9" {
3174
+ depends !t6
3175
+ }
3176
+ task t10 "Task 10" {
3177
+ effort 3d
3178
+ allocate h { alternative a }
3179
+ }
3180
+ }
3181
+ }
3182
+
3183
+