taskjuggler 0.0.11 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +6 -1550
- data/benchmarks/UTF-8-Strings.rb +58 -0
- data/benchmarks/profile.clt +36082 -0
- data/benchmarks/profile.html +58182 -0
- data/benchmarks/runbench.rb +2 -2
- data/data/css/tjmanual.css +0 -1
- data/doc/AppConfig.html +1491 -0
- data/doc/CHANGELOG.html +557 -0
- data/doc/COPYING.html +899 -0
- data/doc/Diff.html +1193 -0
- data/doc/Diff/Hunk.html +1026 -0
- data/doc/Diffable.html +684 -0
- data/doc/DiffableString.html +684 -0
- data/doc/Object.html +720 -0
- data/doc/README_rdoc.html +742 -0
- data/doc/RuntimeConfig.html +856 -0
- data/doc/String.html +1005 -0
- data/doc/TaskJuggler.html +2639 -0
- data/doc/TaskJuggler/Account.html +753 -0
- data/doc/TaskJuggler/AccountAttribute.html +769 -0
- data/doc/TaskJuggler/AccountScenario.html +712 -0
- data/doc/TaskJuggler/Allocation.html +963 -0
- data/doc/TaskJuggler/AllocationAttribute.html +799 -0
- data/doc/TaskJuggler/AttributeBase.html +1328 -0
- data/doc/TaskJuggler/AttributeDefinition.html +815 -0
- data/doc/TaskJuggler/AttributeOverwrite.html +606 -0
- data/doc/TaskJuggler/BatchProcessor.html +1178 -0
- data/doc/TaskJuggler/Booking.html +859 -0
- data/doc/TaskJuggler/BookingListAttribute.html +769 -0
- data/doc/TaskJuggler/BooleanAttribute.html +769 -0
- data/doc/TaskJuggler/CSVFile.html +1128 -0
- data/doc/TaskJuggler/CellSettingPattern.html +700 -0
- data/doc/TaskJuggler/CellSettingPatternList.html +749 -0
- data/doc/TaskJuggler/Charge.html +777 -0
- data/doc/TaskJuggler/ChargeListAttribute.html +733 -0
- data/doc/TaskJuggler/ChargeSet.html +949 -0
- data/doc/TaskJuggler/ChargeSetListAttribute.html +778 -0
- data/doc/TaskJuggler/CollisionDetector.html +1089 -0
- data/doc/TaskJuggler/ColumnListAttribute.html +733 -0
- data/doc/TaskJuggler/ColumnTable.html +763 -0
- data/doc/TaskJuggler/Daemon.html +819 -0
- data/doc/TaskJuggler/DataCache.html +1025 -0
- data/doc/TaskJuggler/DataCacheEntry.html +737 -0
- data/doc/TaskJuggler/DateAttribute.html +737 -0
- data/doc/TaskJuggler/DefinitionListAttribute.html +655 -0
- data/doc/TaskJuggler/DependencyListAttribute.html +773 -0
- data/doc/TaskJuggler/DurationAttribute.html +770 -0
- data/doc/TaskJuggler/FileList.html +793 -0
- data/doc/TaskJuggler/FileRecord.html +702 -0
- data/doc/TaskJuggler/FixnumAttribute.html +691 -0
- data/doc/TaskJuggler/FlagListAttribute.html +769 -0
- data/doc/TaskJuggler/FloatAttribute.html +733 -0
- data/doc/TaskJuggler/FormatListAttribute.html +697 -0
- data/doc/TaskJuggler/GanttChart.html +1487 -0
- data/doc/TaskJuggler/GanttContainer.html +945 -0
- data/doc/TaskJuggler/GanttHeader.html +948 -0
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +762 -0
- data/doc/TaskJuggler/GanttLine.html +1325 -0
- data/doc/TaskJuggler/GanttLoadStack.html +828 -0
- data/doc/TaskJuggler/GanttMilestone.html +926 -0
- data/doc/TaskJuggler/GanttRouter.html +1136 -0
- data/doc/TaskJuggler/GanttTaskBar.html +948 -0
- data/doc/TaskJuggler/HTMLDocument.html +754 -0
- data/doc/TaskJuggler/HTMLElements.html +599 -0
- data/doc/TaskJuggler/HTMLGraphics.html +837 -0
- data/doc/TaskJuggler/Interval.html +1076 -0
- data/doc/TaskJuggler/IntervalList.html +797 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +773 -0
- data/doc/TaskJuggler/JobInfo.html +943 -0
- data/doc/TaskJuggler/Journal.html +1248 -0
- data/doc/TaskJuggler/JournalEntry.html +860 -0
- data/doc/TaskJuggler/JournalEntryList.html +1229 -0
- data/doc/TaskJuggler/KeywordArray.html +696 -0
- data/doc/TaskJuggler/KeywordDocumentation.html +2250 -0
- data/doc/TaskJuggler/Limits.html +1036 -0
- data/doc/TaskJuggler/Limits/Limit.html +947 -0
- data/doc/TaskJuggler/LimitsAttribute.html +734 -0
- data/doc/TaskJuggler/ListAttributeBase.html +703 -0
- data/doc/TaskJuggler/Log.html +1163 -0
- data/doc/TaskJuggler/LogFile.html +980 -0
- data/doc/TaskJuggler/LogicalAttribute.html +760 -0
- data/doc/TaskJuggler/LogicalExpression.html +801 -0
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +691 -0
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +691 -0
- data/doc/TaskJuggler/LogicalFlag.html +753 -0
- data/doc/TaskJuggler/LogicalFunction.html +1409 -0
- data/doc/TaskJuggler/LogicalOperation.html +1144 -0
- data/doc/TaskJuggler/ManagerResponsibilities.html +736 -0
- data/doc/TaskJuggler/ManagerStatusRecord.html +740 -0
- data/doc/TaskJuggler/Message.html +837 -0
- data/doc/TaskJuggler/MessageHandler.html +1056 -0
- data/doc/TaskJuggler/Navigator.html +943 -0
- data/doc/TaskJuggler/NavigatorElement.html +994 -0
- data/doc/TaskJuggler/NikuProject.html +724 -0
- data/doc/TaskJuggler/NikuReport.html +1470 -0
- data/doc/TaskJuggler/NikuResource.html +694 -0
- data/doc/TaskJuggler/NodeListAttribute.html +655 -0
- data/doc/TaskJuggler/PlaceHolderCell.html +748 -0
- data/doc/TaskJuggler/ProcessIntercom.html +1017 -0
- data/doc/TaskJuggler/ProcessIntercomIface.html +773 -0
- data/doc/TaskJuggler/Project.html +3478 -0
- data/doc/TaskJuggler/ProjectBroker.html +1676 -0
- data/doc/TaskJuggler/ProjectBrokerIface.html +851 -0
- data/doc/TaskJuggler/ProjectFileParser.html +2102 -0
- data/doc/TaskJuggler/ProjectFileScanner.html +1896 -0
- data/doc/TaskJuggler/ProjectRecord.html +978 -0
- data/doc/TaskJuggler/ProjectServer.html +1249 -0
- data/doc/TaskJuggler/ProjectServerIface.html +868 -0
- data/doc/TaskJuggler/PropertyAttribute.html +691 -0
- data/doc/TaskJuggler/PropertyList.html +1399 -0
- data/doc/TaskJuggler/PropertySet.html +1796 -0
- data/doc/TaskJuggler/PropertyTreeNode.html +2851 -0
- data/doc/TaskJuggler/Query.html +1756 -0
- data/doc/TaskJuggler/RTFHandlers.html +664 -0
- data/doc/TaskJuggler/RTFNavigator.html +792 -0
- data/doc/TaskJuggler/RTFQuery.html +1083 -0
- data/doc/TaskJuggler/RTFReport.html +820 -0
- data/doc/TaskJuggler/RTFReportLink.html +812 -0
- data/doc/TaskJuggler/RTFWithQuerySupport.html +702 -0
- data/doc/TaskJuggler/RealFormat.html +805 -0
- data/doc/TaskJuggler/RealFormatAttribute.html +655 -0
- data/doc/TaskJuggler/ReferenceAttribute.html +880 -0
- data/doc/TaskJuggler/Report.html +1501 -0
- data/doc/TaskJuggler/ReportBase.html +1266 -0
- data/doc/TaskJuggler/ReportContext.html +837 -0
- data/doc/TaskJuggler/ReportServer.html +1068 -0
- data/doc/TaskJuggler/ReportServerIface.html +902 -0
- data/doc/TaskJuggler/ReportServerRecord.html +781 -0
- data/doc/TaskJuggler/ReportServlet.html +1029 -0
- data/doc/TaskJuggler/ReportTable.html +1179 -0
- data/doc/TaskJuggler/ReportTableCell.html +1666 -0
- data/doc/TaskJuggler/ReportTableColumn.html +890 -0
- data/doc/TaskJuggler/ReportTableLegend.html +1060 -0
- data/doc/TaskJuggler/ReportTableLine.html +1067 -0
- data/doc/TaskJuggler/Resource.html +1004 -0
- data/doc/TaskJuggler/ResourceListAttribute.html +829 -0
- data/doc/TaskJuggler/ResourceListRE.html +737 -0
- data/doc/TaskJuggler/ResourceScenario.html +2549 -0
- data/doc/TaskJuggler/RichText.html +879 -0
- data/doc/TaskJuggler/RichTextAttribute.html +811 -0
- data/doc/TaskJuggler/RichTextDocument.html +1038 -0
- data/doc/TaskJuggler/RichTextElement.html +1780 -0
- data/doc/TaskJuggler/RichTextFunctionExample.html +799 -0
- data/doc/TaskJuggler/RichTextFunctionHandler.html +750 -0
- data/doc/TaskJuggler/RichTextImage.html +712 -0
- data/doc/TaskJuggler/RichTextIntermediate.html +1285 -0
- data/doc/TaskJuggler/RichTextParser.html +868 -0
- data/doc/TaskJuggler/RichTextScanner.html +1565 -0
- data/doc/TaskJuggler/RichTextSnip.html +1000 -0
- data/doc/TaskJuggler/RichTextSyntaxRules.html +2052 -0
- data/doc/TaskJuggler/Scenario.html +656 -0
- data/doc/TaskJuggler/ScenarioData.html +838 -0
- data/doc/TaskJuggler/ScenarioListAttribute.html +733 -0
- data/doc/TaskJuggler/Scoreboard.html +1201 -0
- data/doc/TaskJuggler/SheetHandlerBase.html +1297 -0
- data/doc/TaskJuggler/SheetReceiver.html +1398 -0
- data/doc/TaskJuggler/SheetSender.html +1168 -0
- data/doc/TaskJuggler/Shift.html +751 -0
- data/doc/TaskJuggler/ShiftAssignment.html +1008 -0
- data/doc/TaskJuggler/ShiftAssignments.html +1413 -0
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +734 -0
- data/doc/TaskJuggler/ShiftScenario.html +782 -0
- data/doc/TaskJuggler/SimpleQueryExpander.html +732 -0
- data/doc/TaskJuggler/SortListAttribute.html +691 -0
- data/doc/TaskJuggler/StatusSheetReceiver.html +678 -0
- data/doc/TaskJuggler/StatusSheetReport.html +935 -0
- data/doc/TaskJuggler/StatusSheetSender.html +808 -0
- data/doc/TaskJuggler/StdIoWrapper.html +696 -0
- data/doc/TaskJuggler/StringAttribute.html +733 -0
- data/doc/TaskJuggler/SymbolAttribute.html +691 -0
- data/doc/TaskJuggler/SyntaxReference.html +1240 -0
- data/doc/TaskJuggler/TOCEntry.html +836 -0
- data/doc/TaskJuggler/TSResourceRecord.html +732 -0
- data/doc/TaskJuggler/TSTaskRecord.html +744 -0
- data/doc/TaskJuggler/TableColumnDefinition.html +949 -0
- data/doc/TaskJuggler/TableOfContents.html +790 -0
- data/doc/TaskJuggler/TableReport.html +2555 -0
- data/doc/TaskJuggler/Task.html +890 -0
- data/doc/TaskJuggler/TaskDepListAttribute.html +773 -0
- data/doc/TaskJuggler/TaskDependency.html +832 -0
- data/doc/TaskJuggler/TaskListAttribute.html +773 -0
- data/doc/TaskJuggler/TaskListRE.html +736 -0
- data/doc/TaskJuggler/TaskScenario.html +5180 -0
- data/doc/TaskJuggler/TernarySearchTree.html +1341 -0
- data/doc/TaskJuggler/TextFormatter.html +973 -0
- data/doc/TaskJuggler/TextParser.html +1862 -0
- data/doc/TaskJuggler/TextParser/Macro.html +708 -0
- data/doc/TaskJuggler/TextParser/MacroTable.html +832 -0
- data/doc/TaskJuggler/TextParser/Pattern.html +1743 -0
- data/doc/TaskJuggler/TextParser/Rule.html +1419 -0
- data/doc/TaskJuggler/TextParser/Scanner.html +1516 -0
- data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +661 -0
- data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +727 -0
- data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +724 -0
- data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +1095 -0
- data/doc/TaskJuggler/TextParser/SourceFileInfo.html +760 -0
- data/doc/TaskJuggler/TextParser/StackElement.html +940 -0
- data/doc/TaskJuggler/TextParser/State.html +1015 -0
- data/doc/TaskJuggler/TextParser/StateTransition.html +808 -0
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +711 -0
- data/doc/TaskJuggler/TextParser/TokenDoc.html +742 -0
- data/doc/TaskJuggler/TextReport.html +921 -0
- data/doc/TaskJuggler/TimeSheet.html +1264 -0
- data/doc/TaskJuggler/TimeSheetReceiver.html +675 -0
- data/doc/TaskJuggler/TimeSheetRecord.html +1415 -0
- data/doc/TaskJuggler/TimeSheetReport.html +1013 -0
- data/doc/TaskJuggler/TimeSheetSender.html +700 -0
- data/doc/TaskJuggler/TimeSheetSummary.html +959 -0
- data/doc/TaskJuggler/TimeSheets.html +736 -0
- data/doc/TaskJuggler/Tj3.html +857 -0
- data/doc/TaskJuggler/Tj3AppBase.html +942 -0
- data/doc/TaskJuggler/Tj3Client.html +1510 -0
- data/doc/TaskJuggler/Tj3Daemon.html +870 -0
- data/doc/TaskJuggler/Tj3Man.html +768 -0
- data/doc/TaskJuggler/Tj3SheetAppBase.html +758 -0
- data/doc/TaskJuggler/Tj3SsReceiver.html +747 -0
- data/doc/TaskJuggler/Tj3SsSender.html +780 -0
- data/doc/TaskJuggler/Tj3TsReceiver.html +747 -0
- data/doc/TaskJuggler/Tj3TsSender.html +767 -0
- data/doc/TaskJuggler/Tj3TsSummary.html +775 -0
- data/doc/TaskJuggler/TjException.html +692 -0
- data/doc/TaskJuggler/TjRuntimeError.html +606 -0
- data/doc/TaskJuggler/TjTime.html +3117 -0
- data/doc/TaskJuggler/TjpExample.html +897 -0
- data/doc/TaskJuggler/TjpExportRE.html +1772 -0
- data/doc/TaskJuggler/TjpSyntaxRules.html +14329 -0
- data/doc/TaskJuggler/URLParameter.html +691 -0
- data/doc/TaskJuggler/UserManual.html +1224 -0
- data/doc/TaskJuggler/VimSyntax.html +1064 -0
- data/doc/TaskJuggler/WebServer.html +757 -0
- data/doc/TaskJuggler/WelcomePage.html +789 -0
- data/doc/TaskJuggler/WorkingHours.html +1218 -0
- data/doc/TaskJuggler/WorkingHoursAttribute.html +756 -0
- data/doc/TaskJuggler/XMLBlob.html +707 -0
- data/doc/TaskJuggler/XMLComment.html +702 -0
- data/doc/TaskJuggler/XMLDocument.html +803 -0
- data/doc/TaskJuggler/XMLElement.html +990 -0
- data/doc/TaskJuggler/XMLNamedText.html +663 -0
- data/doc/TaskJuggler/XMLText.html +717 -0
- data/doc/index.html +4518 -0
- data/doc/lib/taskjuggler/AccountScenario_rb.html +69 -0
- data/doc/lib/taskjuggler/Account_rb.html +71 -0
- data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +67 -0
- data/doc/lib/taskjuggler/Allocation_rb.html +71 -0
- data/doc/lib/taskjuggler/AppConfig_rb.html +69 -0
- data/doc/lib/taskjuggler/AttributeBase_rb.html +69 -0
- data/doc/lib/taskjuggler/AttributeDefinition_rb.html +67 -0
- data/doc/lib/taskjuggler/Attributes_rb.html +83 -0
- data/doc/lib/taskjuggler/BatchProcessor_rb.html +71 -0
- data/doc/lib/taskjuggler/Booking_rb.html +67 -0
- data/doc/lib/taskjuggler/ChargeSet_rb.html +69 -0
- data/doc/lib/taskjuggler/Charge_rb.html +69 -0
- data/doc/lib/taskjuggler/DataCache_rb.html +71 -0
- data/doc/lib/taskjuggler/FileList_rb.html +67 -0
- data/doc/lib/taskjuggler/HTMLDocument_rb.html +71 -0
- data/doc/lib/taskjuggler/HTMLElements_rb.html +69 -0
- data/doc/lib/taskjuggler/IntervalList_rb.html +69 -0
- data/doc/lib/taskjuggler/Interval_rb.html +69 -0
- data/doc/lib/taskjuggler/Journal_rb.html +67 -0
- data/doc/lib/taskjuggler/KeywordArray_rb.html +67 -0
- data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +77 -0
- data/doc/lib/taskjuggler/Limits_rb.html +69 -0
- data/doc/lib/taskjuggler/LogFile_rb.html +69 -0
- data/doc/lib/taskjuggler/Log_rb.html +71 -0
- data/doc/lib/taskjuggler/LogicalExpression_rb.html +73 -0
- data/doc/lib/taskjuggler/LogicalFunction_rb.html +69 -0
- data/doc/lib/taskjuggler/LogicalOperation_rb.html +69 -0
- data/doc/lib/taskjuggler/MessageHandler_rb.html +69 -0
- data/doc/lib/taskjuggler/ProjectFileParser_rb.html +77 -0
- data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +69 -0
- data/doc/lib/taskjuggler/Project_rb.html +113 -0
- data/doc/lib/taskjuggler/PropertyList_rb.html +67 -0
- data/doc/lib/taskjuggler/PropertySet_rb.html +71 -0
- data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +67 -0
- data/doc/lib/taskjuggler/Query_rb.html +69 -0
- data/doc/lib/taskjuggler/RealFormat_rb.html +67 -0
- data/doc/lib/taskjuggler/ResourceScenario_rb.html +69 -0
- data/doc/lib/taskjuggler/Resource_rb.html +71 -0
- data/doc/lib/taskjuggler/RichText/Document_rb.html +73 -0
- data/doc/lib/taskjuggler/RichText/Element_rb.html +75 -0
- data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +73 -0
- data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +67 -0
- data/doc/lib/taskjuggler/RichText/Parser_rb.html +75 -0
- data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +75 -0
- data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +73 -0
- data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +73 -0
- data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +75 -0
- data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +71 -0
- data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +69 -0
- data/doc/lib/taskjuggler/RichText/Scanner_rb.html +71 -0
- data/doc/lib/taskjuggler/RichText/Snip_rb.html +71 -0
- data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +67 -0
- data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +71 -0
- data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +71 -0
- data/doc/lib/taskjuggler/RichText_rb.html +73 -0
- data/doc/lib/taskjuggler/RuntimeConfig_rb.html +69 -0
- data/doc/lib/taskjuggler/ScenarioData_rb.html +71 -0
- data/doc/lib/taskjuggler/Scenario_rb.html +69 -0
- data/doc/lib/taskjuggler/Scoreboard_rb.html +69 -0
- data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +75 -0
- data/doc/lib/taskjuggler/SheetReceiver_rb.html +81 -0
- data/doc/lib/taskjuggler/SheetSender_rb.html +79 -0
- data/doc/lib/taskjuggler/ShiftAssignments_rb.html +71 -0
- data/doc/lib/taskjuggler/ShiftScenario_rb.html +69 -0
- data/doc/lib/taskjuggler/Shift_rb.html +71 -0
- data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +69 -0
- data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +69 -0
- data/doc/lib/taskjuggler/StatusSheetSender_rb.html +69 -0
- data/doc/lib/taskjuggler/StdIoWrapper_rb.html +67 -0
- data/doc/lib/taskjuggler/SyntaxReference_rb.html +75 -0
- data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +67 -0
- data/doc/lib/taskjuggler/TaskDependency_rb.html +67 -0
- data/doc/lib/taskjuggler/TaskJuggler_rb.html +75 -0
- data/doc/lib/taskjuggler/TaskScenario_rb.html +71 -0
- data/doc/lib/taskjuggler/Task_rb.html +71 -0
- data/doc/lib/taskjuggler/TernarySearchTree_rb.html +69 -0
- data/doc/lib/taskjuggler/TextFormatter_rb.html +69 -0
- data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +67 -0
- data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +71 -0
- data/doc/lib/taskjuggler/TextParser/Rule_rb.html +69 -0
- data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +77 -0
- data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +67 -0
- data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +67 -0
- data/doc/lib/taskjuggler/TextParser/State_rb.html +67 -0
- data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +67 -0
- data/doc/lib/taskjuggler/TextParser_rb.html +79 -0
- data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +69 -0
- data/doc/lib/taskjuggler/TimeSheetSender_rb.html +69 -0
- data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +69 -0
- data/doc/lib/taskjuggler/TimeSheets_rb.html +67 -0
- data/doc/lib/taskjuggler/Tj3AppBase_rb.html +79 -0
- data/doc/lib/taskjuggler/Tj3Config_rb.html +71 -0
- data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +69 -0
- data/doc/lib/taskjuggler/TjException_rb.html +67 -0
- data/doc/lib/taskjuggler/TjTime_rb.html +71 -0
- data/doc/lib/taskjuggler/TjpExample_rb.html +69 -0
- data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +67 -0
- data/doc/lib/taskjuggler/URLParameter_rb.html +69 -0
- data/doc/lib/taskjuggler/UTF8String_rb.html +69 -0
- data/doc/lib/taskjuggler/UserManual_rb.html +81 -0
- data/doc/lib/taskjuggler/VimSyntax_rb.html +69 -0
- data/doc/lib/taskjuggler/WorkingHours_rb.html +71 -0
- data/doc/lib/taskjuggler/XMLDocument_rb.html +69 -0
- data/doc/lib/taskjuggler/XMLElement_rb.html +69 -0
- data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +75 -0
- data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +75 -0
- data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +75 -0
- data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +71 -0
- data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +71 -0
- data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +71 -0
- data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +71 -0
- data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +71 -0
- data/doc/lib/taskjuggler/apps/Tj3_rb.html +71 -0
- data/doc/lib/taskjuggler/daemon/Daemon_rb.html +69 -0
- data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +71 -0
- data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +83 -0
- data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +85 -0
- data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +73 -0
- data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +69 -0
- data/doc/lib/taskjuggler/daemon/WebServer_rb.html +81 -0
- data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +71 -0
- data/doc/lib/taskjuggler/deep_copy_rb.html +67 -0
- data/doc/lib/taskjuggler/reports/CSVFile_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/GanttChart_rb.html +75 -0
- data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +67 -0
- data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/GanttLine_rb.html +79 -0
- data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +67 -0
- data/doc/lib/taskjuggler/reports/Navigator_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/NikuReport_rb.html +71 -0
- data/doc/lib/taskjuggler/reports/ReportBase_rb.html +67 -0
- data/doc/lib/taskjuggler/reports/ReportContext_rb.html +67 -0
- data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +67 -0
- data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +67 -0
- data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +67 -0
- data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/ReportTable_rb.html +71 -0
- data/doc/lib/taskjuggler/reports/Report_rb.html +93 -0
- data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +75 -0
- data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/TableReport_rb.html +77 -0
- data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +75 -0
- data/doc/lib/taskjuggler/reports/TextReport_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +69 -0
- data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +69 -0
- data/doc/lib/tj3_rb.html +69 -0
- data/doc/lib/tj3client_rb.html +69 -0
- data/doc/lib/tj3d_rb.html +69 -0
- data/doc/lib/tj3man_rb.html +69 -0
- data/doc/lib/tj3ss_receiver_rb.html +69 -0
- data/doc/lib/tj3ss_sender_rb.html +69 -0
- data/doc/lib/tj3ts_receiver_rb.html +69 -0
- data/doc/lib/tj3ts_sender_rb.html +69 -0
- data/doc/lib/tj3ts_summary_rb.html +69 -0
- data/doc/rdoc.css +706 -0
- data/examples/tutorial.tjp +2 -1
- data/lib/taskjuggler/Attributes.rb +33 -12
- data/lib/taskjuggler/DataCache.rb +17 -0
- data/lib/taskjuggler/FileList.rb +9 -0
- data/lib/taskjuggler/HTMLDocument.rb +19 -21
- data/lib/taskjuggler/HTMLElements.rb +46 -0
- data/lib/taskjuggler/Journal.rb +95 -46
- data/lib/taskjuggler/KeywordDocumentation.rb +248 -185
- data/lib/taskjuggler/LogicalExpression.rb +2 -2
- data/lib/taskjuggler/LogicalFunction.rb +22 -1
- data/lib/taskjuggler/LogicalOperation.rb +15 -5
- data/lib/taskjuggler/Project.rb +73 -16
- data/lib/taskjuggler/ProjectFileParser.rb +1 -1
- data/lib/taskjuggler/ProjectFileScanner.rb +27 -0
- data/lib/taskjuggler/PropertySet.rb +22 -45
- data/lib/taskjuggler/PropertyTreeNode.rb +99 -128
- data/lib/taskjuggler/Query.rb +39 -8
- data/lib/taskjuggler/Resource.rb +15 -6
- data/lib/taskjuggler/RichText/Document.rb +3 -3
- data/lib/taskjuggler/RichText/RTFQuery.rb +4 -4
- data/lib/taskjuggler/SheetHandlerBase.rb +14 -12
- data/lib/taskjuggler/SheetReceiver.rb +17 -15
- data/lib/taskjuggler/SheetSender.rb +16 -10
- data/{spec/support → lib/taskjuggler}/StdIoWrapper.rb +17 -0
- data/lib/taskjuggler/SyntaxReference.rb +2 -2
- data/lib/taskjuggler/TableColumnDefinition.rb +4 -3
- data/lib/taskjuggler/Task.rb +7 -2
- data/lib/taskjuggler/TaskJuggler.rb +74 -0
- data/lib/taskjuggler/TaskScenario.rb +62 -83
- data/lib/taskjuggler/TextParser.rb +20 -13
- data/lib/taskjuggler/TextParser/Scanner.rb +17 -1
- data/lib/taskjuggler/TimeSheetSummary.rb +9 -5
- data/lib/taskjuggler/TimeSheets.rb +6 -1
- data/lib/taskjuggler/Tj3AppBase.rb +41 -18
- data/lib/taskjuggler/Tj3Config.rb +1 -1
- data/lib/taskjuggler/TjTime.rb +6 -1
- data/lib/taskjuggler/TjpSyntaxRules.rb +408 -227
- data/lib/taskjuggler/UTF8String.rb +10 -0
- data/lib/taskjuggler/UserManual.rb +89 -81
- data/lib/taskjuggler/WorkingHours.rb +2 -3
- data/lib/taskjuggler/XMLDocument.rb +13 -4
- data/lib/taskjuggler/XMLElement.rb +31 -3
- data/lib/taskjuggler/apps/Tj3.rb +53 -21
- data/lib/taskjuggler/apps/Tj3Client.rb +19 -17
- data/lib/taskjuggler/apps/Tj3Daemon.rb +24 -21
- data/lib/taskjuggler/{Tj3Man.rb → apps/Tj3Man.rb} +2 -2
- data/lib/taskjuggler/apps/Tj3SsReceiver.rb +14 -11
- data/lib/taskjuggler/apps/Tj3SsSender.rb +17 -14
- data/lib/taskjuggler/apps/Tj3TsReceiver.rb +14 -11
- data/lib/taskjuggler/apps/Tj3TsSender.rb +16 -13
- data/lib/taskjuggler/apps/Tj3TsSummary.rb +16 -13
- data/lib/taskjuggler/reports/GanttChart.rb +1 -1
- data/lib/taskjuggler/reports/GanttRouter.rb +0 -2
- data/lib/taskjuggler/reports/GanttTaskBar.rb +2 -1
- data/lib/taskjuggler/reports/Navigator.rb +2 -1
- data/lib/taskjuggler/reports/NikuReport.rb +11 -7
- data/lib/taskjuggler/reports/ReportContext.rb +1 -0
- data/lib/taskjuggler/reports/StatusSheetReport.rb +7 -2
- data/lib/taskjuggler/reports/TableReport.rb +6 -4
- data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -0
- data/lib/taskjuggler/reports/TjpExportRE.rb +4 -4
- data/lib/tj3man.rb +1 -1
- data/manual/Day_To_Day_Juggling +134 -137
- data/manual/TaskJuggler_2x_Migration +39 -32
- data/manual/The_TaskJuggler_Syntax +6 -0
- data/prj_cfg.rb +2 -3
- data/spec/StatusSheets_spec.rb +314 -0
- data/spec/TimeSheets_spec.rb +237 -16
- data/spec/Tj3_spec.rb +1 -1
- data/spec/support/DaemonControl.rb +1 -1
- data/tasks/changelog.rake +13 -3
- data/tasks/manual.rake +1 -1
- data/test/TestSuite/CSV-Reports/refs/celltext.csv +1 -1
- data/test/TestSuite/CSV-Reports/refs/resourcereport.csv +1 -1
- data/test/TestSuite/CSV-Reports/refs/resourcereport_with_tasks.csv +1 -1
- data/test/TestSuite/CSV-Reports/refs/sortByTree.csv +1 -1
- data/test/TestSuite/CSV-Reports/refs/sortBy_effort.up.csv +1 -1
- data/test/TestSuite/CSV-Reports/refs/sortBy_plan.start.down.csv +1 -1
- data/test/TestSuite/CSV-Reports/refs/taskreport.csv +1 -1
- data/test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv +1 -1
- data/test/TestSuite/CSV-Reports/sortByTree.tjp +3 -1
- data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +4 -1
- data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +1 -1
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +4 -1
- data/test/TestSuite/CSV-Reports/taskreport.tjp +3 -1
- data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +3 -1
- data/test/TestSuite/CSV-Reports/weekly.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Account.tjp +25 -30
- data/test/TestSuite/Export-Reports/refs/AdoptedTasks.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Allocate-1.tjp +43 -72
- data/test/TestSuite/Export-Reports/refs/Alternative.tjp +17 -22
- data/test/TestSuite/Export-Reports/refs/AutoID.tjp +11 -10
- data/test/TestSuite/Export-Reports/refs/AutoMacros.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Booking.tjp +16 -23
- data/test/TestSuite/Export-Reports/refs/Caption.tjp +13 -16
- data/test/TestSuite/Export-Reports/refs/Celltext.tjp +12 -16
- data/test/TestSuite/Export-Reports/refs/Comments.tjp +15 -19
- data/test/TestSuite/Export-Reports/refs/Complete.tjp +17 -26
- data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +40 -0
- data/test/TestSuite/Export-Reports/refs/Currencyformat.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/CustomAttributes.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Depends1.tjp +5 -4
- data/test/TestSuite/Export-Reports/refs/Durations.tjp +18 -27
- data/test/TestSuite/Export-Reports/refs/Efficiency.tjp +21 -20
- data/test/TestSuite/Export-Reports/refs/EnvVar.tjp +21 -0
- data/test/TestSuite/Export-Reports/refs/Flags.tjp +6 -5
- data/test/TestSuite/Export-Reports/refs/Gap.tjp +2 -1
- data/test/TestSuite/Export-Reports/refs/HtmlTaskReport.tjp +15 -19
- data/test/TestSuite/Export-Reports/refs/Include.tjp +21 -20
- data/test/TestSuite/Export-Reports/refs/Journal.tjp +6 -5
- data/test/TestSuite/Export-Reports/refs/Limits-1.tjp +92 -140
- data/test/TestSuite/Export-Reports/refs/LoadUnits.tjp +293 -566
- data/test/TestSuite/Export-Reports/refs/LogicalExpression.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/LogicalFunction.tjp +17 -22
- data/test/TestSuite/Export-Reports/refs/Macro-1.tjp +32 -53
- data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Macro-3.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Manager.tjp +51 -50
- data/test/TestSuite/Export-Reports/refs/Mandatory.tjp +22 -31
- data/test/TestSuite/Export-Reports/refs/Milestone.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/MinMax.tjp +2 -1
- data/test/TestSuite/Export-Reports/refs/Niku.tjp +80 -139
- data/test/TestSuite/Export-Reports/refs/Numberformat.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Period.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Persistent.tjp +17 -21
- data/test/TestSuite/Export-Reports/refs/Precedes1.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Priority.tjp +121 -107
- data/test/TestSuite/Export-Reports/refs/Project.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/ProjectIDs.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Query.tjp +17 -26
- data/test/TestSuite/Export-Reports/refs/Reports.tjp +42 -61
- data/test/TestSuite/Export-Reports/refs/Resource.tjp +21 -20
- data/test/TestSuite/Export-Reports/refs/ResourcePrefix.tjp +16 -20
- data/test/TestSuite/Export-Reports/refs/ResourceRoot.tjp +36 -35
- data/test/TestSuite/Export-Reports/refs/Responsible.tjp +17 -21
- data/test/TestSuite/Export-Reports/refs/RollupResource.tjp +36 -35
- data/test/TestSuite/Export-Reports/refs/Scenario.tjp +3 -1
- data/test/TestSuite/Export-Reports/refs/Scheduling.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Select.tjp +29 -43
- data/test/TestSuite/Export-Reports/refs/Shift.tjp +12 -11
- data/test/TestSuite/Export-Reports/refs/Simple.tjp +15 -19
- data/test/TestSuite/Export-Reports/refs/StatusSheet.tjp +33 -47
- data/test/TestSuite/Export-Reports/refs/String.tjp +9 -10
- data/test/TestSuite/Export-Reports/refs/Supplement.tjp +7 -8
- data/test/TestSuite/Export-Reports/refs/TaskPrefix.tjp +10 -11
- data/test/TestSuite/Export-Reports/refs/TaskRoot.tjp +10 -9
- data/test/TestSuite/Export-Reports/refs/TimeFrame.tjp +9 -9
- data/test/TestSuite/Export-Reports/refs/TimeSheet1.tjp +25 -37
- data/test/TestSuite/Export-Reports/refs/Timezone.tjp +1 -0
- data/test/TestSuite/Export-Reports/refs/Vacation.tjp +26 -25
- data/test/TestSuite/Export-Reports/refs/tutorial.tjp +453 -821
- data/test/TestSuite/HTML-Reports/Alerts.html +160 -412
- data/test/TestSuite/HTML-Reports/CellText.html +758 -0
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
- data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
- data/test/TestSuite/HTML-Reports/Query.html +31 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -20
- data/test/TestSuite/HTML-Reports/css/tjreport.css +6 -7
- data/test/TestSuite/HTML-Reports/depArrows.html +851 -0
- data/test/TestSuite/HTML-Reports/profile.html +37581 -0
- data/test/TestSuite/{ReportGenerator/Correct → HTML-Reports/scripts}/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +27 -3
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions3.tjp +20 -0
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions4.tjp +16 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/DependencyList-1.csv +4 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Journal-2.csv +8 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions3-1.csv +4 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions4-1.csv +2 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +3 -1
- data/test/TestSuite/Scheduler/Correct/Booking.tjp +8 -7
- data/test/TestSuite/Scheduler/Correct/Booking2.tjp +16 -9
- data/test/TestSuite/Scheduler/Correct/Booking3.tjp +28 -0
- data/test/TestSuite/Scheduler/Correct/Container.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Depends.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +4 -4
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +3 -1
- data/test/TestSuite/Scheduler/Correct/Mandatory.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/MultipleMandatories.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +3 -3
- data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +7 -7
- data/test/TestSuite/Scheduler/Correct/Scenarios.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Shift.tjp +7 -5
- data/test/TestSuite/Scheduler/Correct/Shift2.tjp +1 -1
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +5 -2
- data/test/TestSuite/Scheduler/Errors/booking_no_duty.tjp +1 -1
- data/test/TestSuite/Scheduler/Errors/ts_alert1_more_details.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_alert2_more_details.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_no_expected_end.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_no_headline1.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_no_rem_or_end.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_no_remaining.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_no_status_work.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_no_work.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_res_new_task.tjp +5 -2
- data/test/TestSuite/Scheduler/Errors/ts_work_too_high.tjp +4 -2
- data/test/TestSuite/Scheduler/Errors/ts_work_too_low.tjp +4 -2
- data/test/TestSuite/StatusSheets/dev2.tji +22 -0
- data/test/TestSuite/StatusSheets/run +1 -1
- data/test/TestSuite/Syntax/Correct/Booking.tjp +0 -5
- data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +38 -0
- data/test/TestSuite/Syntax/Correct/EnvVar.tjp +12 -0
- data/test/TestSuite/Syntax/Correct/Freeze.tjp +1 -3
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +9 -5
- data/test/TestSuite/Syntax/Correct/Priority.tjp +22 -11
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/StatusSheet.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/TimeSheet1.tjp +4 -4
- data/test/TestSuite/Syntax/Correct/css/tjmanual.css +20 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -6
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +2 -1
- data/test/TestSuite/Syntax/Errors/no_own_resource_booking.tjp +16 -0
- data/test/TestSuite/Syntax/Errors/no_own_task_booking.tjp +16 -0
- data/test/TestSuite/Syntax/Errors/resourceroot_leaf.tjp +10 -0
- data/test/TestSuite/Syntax/Errors/runaway_token.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/sorting_bsi.tjp +11 -0
- data/test/TestSuite/Syntax/Errors/ss_no_tracking_scenario.tjp +14 -0
- data/test/TestSuite/Syntax/Errors/taskroot_leaf.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/ts_bad_priority.tjp +4 -2
- data/test/TestSuite/Syntax/Errors/ts_default_details.tjp +4 -2
- data/test/TestSuite/Syntax/Errors/ts_default_summary.tjp +4 -2
- data/test/TestSuite/Syntax/Errors/ts_duplicate_task.tjp +4 -2
- data/test/TestSuite/Syntax/Errors/ts_end_too_early.tjp +4 -2
- data/test/TestSuite/Syntax/Errors/ts_headline_too_long.tjp +4 -2
- data/test/TestSuite/Syntax/Errors/ts_no_headline2.tjp +4 -2
- data/test/TestSuite/Syntax/Errors/ts_no_tracking_scenario.tjp +14 -0
- data/test/TestSuite/Syntax/Errors/ts_summary_too_long.tjp +4 -2
- data/test/TestSuite/Syntax/Errors/unknown_env_var.tjp +7 -0
- data/test/TestSuite/TimeSheets/resrep.tji +7 -0
- data/test/TestSuite/TimeSheets/ts.tji +351 -0
- data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
- data/test/test_Export-Reports.rb +3 -0
- data/test/test_Journal.rb +4 -4
- data/test/test_PropertySet.rb +5 -5
- data/test/test_Syntax.rb +3 -0
- data/test/test_WorkingHours.rb +11 -18
- metadata +1012 -649
- data/lib/exchangebug.rb +0 -42
- data/lib/ruby-signal-bug.rb +0 -55
- data/spec/tj3client.log +0 -23
- data/test/TestSuite/CSV-Reports/alert.tjp +0 -9
- data/test/TestSuite/CSV-Reports/refs/alert.csv +0 -15
- data/test/TestSuite/Export-Reports/refs/CriticalPath.tjp +0 -41
- data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -89
- data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -79
- data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
- data/test/TestSuite/HTML-Reports/reference.html +0 -51
- data/test/TestSuite/ReportGenerator/Correct/Alerts-1.csv +0 -1
- data/test/TestSuite/ReportGenerator/Correct/Alerts-1.html +0 -78
- data/test/TestSuite/ReportGenerator/Correct/Journal-1.csv +0 -6
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
- data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +0 -66
- data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +0 -413
- data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes-1.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -86
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
- data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
- data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
- data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
- data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +0 -33
- data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
- data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
- data/test/TestSuite/Syntax/Correct/niku.xml +0 -30
- data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +0 -11
- data/test/TestSuite/TimeSheets/uu.txt +0 -29
|
@@ -119,6 +119,7 @@ EOT
|
|
|
119
119
|
" # details -8<-\n" +
|
|
120
120
|
" # Some more details\n" +
|
|
121
121
|
" # ->8-\n" +
|
|
122
|
+
" # flags ...\n" +
|
|
122
123
|
" #{c}}\n"
|
|
123
124
|
@file << " }\n\n"
|
|
124
125
|
end
|
|
@@ -136,6 +137,7 @@ EOT
|
|
|
136
137
|
# details -8<-
|
|
137
138
|
# Some more details
|
|
138
139
|
# ->8-
|
|
140
|
+
# flags ...
|
|
139
141
|
# }
|
|
140
142
|
# }
|
|
141
143
|
|
|
@@ -190,6 +192,7 @@ EOT
|
|
|
190
192
|
'timeFormat' => a('timeFormat'),
|
|
191
193
|
'currencyFormat' => a('currencyFormat'),
|
|
192
194
|
'start' => from, 'end' => to,
|
|
195
|
+
'hideJournalEntry' => a('hideJournalEntry'),
|
|
193
196
|
'costAccount' => a('costAccount'),
|
|
194
197
|
'revenueAccount' => a('revenueAccount') }
|
|
195
198
|
resourceList.query = Query.new(queryAttrs)
|
|
@@ -87,7 +87,8 @@ class TaskJuggler
|
|
|
87
87
|
scenario.children.each do |sc|
|
|
88
88
|
generateScenarioDefinition(sc, indent + 2)
|
|
89
89
|
end
|
|
90
|
-
@file << "#{' ' * (indent + 2)}
|
|
90
|
+
@file << "#{' ' * (indent + 2)}active " +
|
|
91
|
+
"#{scenario.get('active') ? 'yes' : 'no'}\n"
|
|
91
92
|
@file << "#{' ' * indent}}\n"
|
|
92
93
|
end
|
|
93
94
|
|
|
@@ -340,12 +341,11 @@ class TaskJuggler
|
|
|
340
341
|
end
|
|
341
342
|
|
|
342
343
|
def generateAttribute(property, attrId, indent, scenarioIdx = nil)
|
|
343
|
-
val = scenarioIdx
|
|
344
|
-
property[attrId, scenarioIdx]
|
|
344
|
+
val = scenarioIdx ? property[attrId, scenarioIdx] : property.get(attrId)
|
|
345
345
|
return if val.nil? || (val.is_a?(Array) && val.empty?) ||
|
|
346
346
|
(scenarioIdx && inheritable?(property, attrId, scenarioIdx))
|
|
347
347
|
|
|
348
|
-
generateAttributeText(property.
|
|
348
|
+
generateAttributeText(property.getAttribute(attrId, scenarioIdx).to_tjp,
|
|
349
349
|
indent, scenarioIdx)
|
|
350
350
|
end
|
|
351
351
|
|
data/lib/tj3man.rb
CHANGED
data/manual/Day_To_Day_Juggling
CHANGED
|
@@ -22,7 +22,7 @@ and ''''test''''. These two scenarios are identical to the
|
|
|
22
22
|
''''plan'''' scenario except for those attributes that are changed
|
|
23
23
|
for these scenarios. Normally, all scenarios are scheduled on each
|
|
24
24
|
''''tj3'''' run. To temporarily disable the scheduling of a scenario,
|
|
25
|
-
you can
|
|
25
|
+
you can set the [[active]] attribute to ''''no''''.
|
|
26
26
|
|
|
27
27
|
<[example file="Scenario" tag="task"]>
|
|
28
28
|
|
|
@@ -37,25 +37,67 @@ scenario of plan.
|
|
|
37
37
|
The syntax reference lists for each attribute whether it is scenario
|
|
38
38
|
specific or not.
|
|
39
39
|
|
|
40
|
+
=== Important and fall-back Tasks ===
|
|
41
|
+
|
|
42
|
+
By default, the scheduler tries to guess the right priority of tasks.
|
|
43
|
+
The higher the priority, the more likely it will get the requested
|
|
44
|
+
resources. To override this mechanism, the [[priority]] attribute can
|
|
45
|
+
be used.
|
|
46
|
+
|
|
47
|
+
<[example file="Priority" tag="project"]>
|
|
48
|
+
|
|
49
|
+
In the above example, the regular project work needs to be frequently
|
|
50
|
+
interrupted by the ''Customer Support'' task. It's only 2 hours a
|
|
51
|
+
day, but it's pretty important that this is done. Since the task has
|
|
52
|
+
a higher priority than the regular work, the scheduler will try to
|
|
53
|
+
ensure that a maximum of 2 hours per day is spent on support. There
|
|
54
|
+
is no guarantee, that the task will always get the resource for 2
|
|
55
|
+
hours each day, but it's pretty likely in this setup.
|
|
56
|
+
|
|
57
|
+
There is only one task that is more important, the ''Attend
|
|
58
|
+
Conference'' task. It has fixed dates and we want to make sure
|
|
59
|
+
''Tux'' can attend. So we use ''''priority 1000'''', the highest possible
|
|
60
|
+
priority. There should be only one such task. If not, you need to
|
|
61
|
+
ensure that the top priority tasks don't compete for the same resource
|
|
62
|
+
in the same time frame.
|
|
63
|
+
|
|
64
|
+
In contrast to the support and conference task, the ''Maintenance
|
|
65
|
+
work'' task is a fall-back task. It has a lower priority than the
|
|
66
|
+
regular work. Tux only gets assigned to it when there is no other
|
|
67
|
+
work. We have limited the regular work to 25 hours per week. Since we
|
|
68
|
+
spend up to 10 hours per week on support, there should be a remainder
|
|
69
|
+
of 5 hours per week for the maintenance task. Again, no guarantees
|
|
70
|
+
given.
|
|
71
|
+
|
|
72
|
+
If you want to ensure that a certain minimum or maximum effort is
|
|
73
|
+
spent on a task, you can use the [[warn]] attribute. This will not
|
|
74
|
+
affect the decisions of the scheduler, but at least it will trigger a
|
|
75
|
+
warning if your criteria are not met.
|
|
76
|
+
|
|
40
77
|
=== Tracking the Project ===
|
|
41
78
|
|
|
42
79
|
Once the initial plan has been made and the project has started, TaskJuggler
|
|
43
80
|
can be turned from a planning tool into a tracking tool. You don't have to
|
|
44
81
|
change a lot to do this. After all, as the initial plan is almost always just a
|
|
45
82
|
first guess, you need to continue planning your project as new details become
|
|
46
|
-
evident.
|
|
47
|
-
|
|
83
|
+
evident. As the work progresses, you continuously review the state of
|
|
84
|
+
the project and update the plan accordingly. A weekly review and
|
|
85
|
+
update cycle seems to be pretty common for most projects. Usually the
|
|
86
|
+
plan for the past week and the reality are mostly aligned. The future
|
|
87
|
+
parts of the project often are more affected by necessary changes.
|
|
48
88
|
|
|
49
89
|
While it is generally accepted to invest some amount of time in project
|
|
50
90
|
planning, it is very common that once the project has been started, project
|
|
51
91
|
managers tend to avoid a proper tracking of the project. Our bet is that the
|
|
52
92
|
vast majority of project plans are only made to get management or investor
|
|
53
93
|
approval. After the approval phase, many project managers only work with their
|
|
54
|
-
project plan again when the project is
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
techniques
|
|
94
|
+
project plan again when the project is getting out of control and
|
|
95
|
+
they are desperate for any help they can get.
|
|
96
|
+
|
|
97
|
+
Of course, there are projects that are done using strict project
|
|
98
|
+
management techniques that require detailed status tracking. Both
|
|
99
|
+
extremes probably have their fans and TaskJuggler offers good support
|
|
100
|
+
for both extremes as well as various techniques in between.
|
|
59
101
|
|
|
60
102
|
=== Recording Progress ===
|
|
61
103
|
|
|
@@ -82,7 +124,7 @@ the complete attribute.
|
|
|
82
124
|
|
|
83
125
|
This tells TaskJuggler that 50% of the task's effort has been completed by the
|
|
84
126
|
[[now|current date]]. Tasks that have no completion specification will
|
|
85
|
-
be assumed to be on track
|
|
127
|
+
be assumed to be on track and TaskJuggler calculates the expected
|
|
86
128
|
completion degree based on the current date. Completion specifications
|
|
87
129
|
only need to be supplied for tasks that are either ahead of schedule
|
|
88
130
|
or behind schedule. Please be aware that the completion degree does
|
|
@@ -102,8 +144,9 @@ described by providing booking statements, you can enable
|
|
|
102
144
|
|
|
103
145
|
Entering all the bookings for each resource and task may sound like a
|
|
104
146
|
daunting task at first. If you do it manually, it certainly is.
|
|
105
|
-
Fortunately, TaskJuggler can generate them for you by using
|
|
106
|
-
|
|
147
|
+
Fortunately, TaskJuggler can generate them for you by using either
|
|
148
|
+
the ''''--freeze'''' option of ''''tj3'''' or by generating a manual
|
|
149
|
+
[[export|export report]]. Before we discuss this in more detail, we
|
|
107
150
|
need to make sure that the plan is up-to-date.
|
|
108
151
|
|
|
109
152
|
=== Tracking status and actuals ===
|
|
@@ -111,13 +154,14 @@ need to make sure that the plan is up-to-date.
|
|
|
111
154
|
Creating a good project plan is one thing. Executing it is a whole
|
|
112
155
|
new story. Usually, the first plan is never fully correct and the
|
|
113
156
|
only way to make sure that you are making progress according to plan
|
|
114
|
-
is to regularly get status updates from all
|
|
157
|
+
is to regularly get status updates from all the project contributors.
|
|
115
158
|
|
|
116
|
-
|
|
117
|
-
regular basis, usually once a week.
|
|
118
|
-
managers who really worked how much on what tasks and how
|
|
119
|
-
the contributors believe is really left now. There are two
|
|
120
|
-
of tasks in a project that need to be treated slightly
|
|
159
|
+
These status updates should be provided by all project contributors on
|
|
160
|
+
a regular basis, usually once a week. The gathered information should
|
|
161
|
+
tell project managers who really worked how much on what tasks and how
|
|
162
|
+
much work the contributors believe is really left now. There are two
|
|
163
|
+
categories of tasks in a project that need to be treated slightly
|
|
164
|
+
differently.
|
|
121
165
|
|
|
122
166
|
A task can either be effort based or duration based. In the former
|
|
123
167
|
case, the contributors must tell how much effort is left. For
|
|
@@ -129,22 +173,24 @@ want to have a textual status that describes what happened and what
|
|
|
129
173
|
kind of issues were encountered. Usually, these textual status
|
|
130
174
|
reports are combined with alert levels like green, yellow and red.
|
|
131
175
|
Green means everything is progressing according to plan, yellow means
|
|
132
|
-
there is some schedule risk and red means
|
|
133
|
-
first line managers like to get all the details while
|
|
134
|
-
up in the reporting chain only like to see summaries
|
|
135
|
-
details.
|
|
176
|
+
there is some schedule risk and red means the project is in serious
|
|
177
|
+
trouble. Usually first line managers like to get all the details while
|
|
178
|
+
people further up in the reporting chain only like to see summaries
|
|
179
|
+
with varying level of details.
|
|
136
180
|
|
|
137
181
|
All of this creates additional overhead but is usually inevitable to
|
|
138
|
-
ensure that you complete the project within time and budget.
|
|
139
|
-
comprehensive project management solution, TaskJuggler provides
|
|
140
|
-
support for all those tracking and reporting steps. It comes with
|
|
141
|
-
powerful email and web based communication system that simplifies
|
|
142
|
-
tracking process for individual contributors as well as managers.
|
|
182
|
+
ensure that you complete the project within the given time and budget.
|
|
183
|
+
As a comprehensive project management solution, TaskJuggler provides
|
|
184
|
+
full support for all those tracking and reporting steps. It comes with
|
|
185
|
+
a powerful email and web based communication system that simplifies
|
|
186
|
+
the tracking process for individual contributors as well as managers.
|
|
143
187
|
|
|
144
188
|
As a side note we would like to mention that the recording of the work
|
|
145
189
|
time of employees is regulated by labor law in certain countries. You
|
|
146
190
|
might also require approval from a Worker's Council before you can
|
|
147
|
-
deploy time recording tools.
|
|
191
|
+
deploy any time recording tools. Please consult with your corporate
|
|
192
|
+
counsel or legal expert for all geographic regions of your teams
|
|
193
|
+
before you deploy a time tracking solution.
|
|
148
194
|
|
|
149
195
|
We also would like to point out that introducing status reporting and
|
|
150
196
|
time sheets is usually a big change for every staff. Don't
|
|
@@ -152,7 +198,7 @@ underestimate the psychological impact and the training requirements.
|
|
|
152
198
|
We also recommend to test the described process with a small group of
|
|
153
199
|
employees first to get familiar with the process and to adapt it to
|
|
154
200
|
your needs. Don't rush a deployment! You usually only have one chance
|
|
155
|
-
to roll-out such a process.
|
|
201
|
+
to roll-out such a new process.
|
|
156
202
|
|
|
157
203
|
==== The reporting and tracking cycle ====
|
|
158
204
|
|
|
@@ -179,7 +225,7 @@ contributors that have not submitted their report.
|
|
|
179
225
|
# On Monday the project managers need to review the time sheets and
|
|
180
226
|
update the plan accordingly. TaskJuggler can compile a list changes
|
|
181
227
|
compared to the plan. This makes it easy to update the plan according
|
|
182
|
-
to the actual progress that was made. The
|
|
228
|
+
to the actual progress that was made. The closer the actuals match the
|
|
183
229
|
plan the less work this is. The project managers now generate
|
|
184
230
|
bookings for the last week and add them to the database with previous
|
|
185
231
|
bookings. Doing so, will prevent changes to the plan to affect the
|
|
@@ -583,118 +629,69 @@ further submissions of time sheets for this time period.
|
|
|
583
629
|
=== Recording actual Resource Usage ===
|
|
584
630
|
|
|
585
631
|
To ensure that future changes won't change the past of the project,
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
booking impl 2005-04-11 +8h { sloppy 2 }
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
This is almost a classic on the mailing list. 2005-04-11 means
|
|
635
|
-
2005-04-11-0:00. So you are trying to allocate dev1 from midnight to
|
|
636
|
-
8am. Since dev1 is usually is off duty at this time no allocations
|
|
637
|
-
will be performed. By using the ''''sloppy 2'''' attribute you won't
|
|
638
|
-
even get a warning for this mistake.
|
|
639
|
-
|
|
640
|
-
If you don't like to mix the resource definitions and their bookings, you can
|
|
641
|
-
specify the bookings with supplement statements. These supplement statements
|
|
642
|
-
can even reside in an other file.
|
|
643
|
-
|
|
644
|
-
It is ok to specify bookings beyond the effort value found in the task
|
|
645
|
-
definition. In case you want to declare a task as done, even if the bookings do
|
|
646
|
-
not reach the specified effort or length, you can use the scheduled property.
|
|
647
|
-
|
|
648
|
-
supplement task impl {
|
|
649
|
-
actual:scheduled
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
In case your actual progress does not deviate a lot from your project plan, you
|
|
653
|
-
can generate the file with the booking statements automatically.
|
|
654
|
-
|
|
655
|
-
export "DoneWork-Week15.tji" {
|
|
656
|
-
hideresource 0
|
|
657
|
-
start 2005-04-11
|
|
658
|
-
end 2005-04-16
|
|
659
|
-
taskattributes *
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
This will generate a TaskJuggler include file that contains all bookings
|
|
663
|
-
according to the project plan for the specified interval. You can then use this
|
|
664
|
-
file as a baseline and modify it to reflect the real work that has happened
|
|
665
|
-
during the interval. After that you can include it into your project again.
|
|
666
|
-
|
|
667
|
-
include "DoneWork-Week15.tji"
|
|
632
|
+
we need to freeze the history of the project. History in this context
|
|
633
|
+
means which resource worked on what task from when to when. Since
|
|
634
|
+
TaskJuggler cannot know what level of detail you want to include in
|
|
635
|
+
the reports, this information has to be recorded with the highest
|
|
636
|
+
possible accuracy. This means that we have to capture the exact start
|
|
637
|
+
and end dates for every period that a resource worked on a task.
|
|
638
|
+
|
|
639
|
+
Unless you use some external time tracking system to capture this
|
|
640
|
+
information and export it to TaskJuggler, you probably want
|
|
641
|
+
TaskJuggler to generate this data for you based on the plan
|
|
642
|
+
information.
|
|
643
|
+
|
|
644
|
+
Before you can freeze that past part of your project, you need to
|
|
645
|
+
tell TaskJuggler which scenario should be used for tracking the
|
|
646
|
+
actual progress. See the [[trackingscenario]] documentation for more
|
|
647
|
+
details on this. Before you freeze your project for the first time,
|
|
648
|
+
you should make sure that the current date is still before the
|
|
649
|
+
project start. If that is not the case, use the [[now]] attribute to
|
|
650
|
+
set the current date to the project start:
|
|
651
|
+
|
|
652
|
+
now ${projectstart}
|
|
653
|
+
|
|
654
|
+
Once you have frozen the project for the first time, you should
|
|
655
|
+
remove the [[now]] attribute again. It will be automatically updated.
|
|
656
|
+
|
|
657
|
+
To freeze your project up to a certain date, you can use the following
|
|
658
|
+
command:
|
|
659
|
+
|
|
660
|
+
tj3 --freeze yourproject.tjp --freezedate YYYY-MM-DD
|
|
661
|
+
|
|
662
|
+
This will generate two files, ''''yourproject-header.tji'''' and
|
|
663
|
+
''''yourproject-bookings.tji''''. The header files contains the date
|
|
664
|
+
of the freeze as a [[now]] attribute. You must [[include.project|
|
|
665
|
+
include]] this file at the end of your project header section.
|
|
666
|
+
|
|
667
|
+
The bookings file contains the resource assignment data. It usually
|
|
668
|
+
contains many [[booking.task|booking]] entries that look similar to
|
|
669
|
+
this:
|
|
670
|
+
|
|
671
|
+
supplement task t {
|
|
672
|
+
booking r 2010-02-19-09:00-+0000 + 3.0h,
|
|
673
|
+
2010-02-19-13:00-+0000 + 5.0h,
|
|
674
|
+
2010-02-22-09:00-+0000 + 3.0h,
|
|
675
|
+
2010-02-22-13:00-+0000 + 5.0h,
|
|
676
|
+
}
|
|
668
677
|
|
|
669
|
-
|
|
670
|
-
|
|
678
|
+
The booking file must be [[include.properties|included]] at the end of
|
|
679
|
+
your main project file.
|
|
671
680
|
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
If you don't have a scenario definition because you are only using the built-in
|
|
676
|
-
default scenario, you have to add a scenario definition.
|
|
681
|
+
In case there are still some discrepancies between the booking data
|
|
682
|
+
and the actual assignments of the resources, you can edit the booking
|
|
683
|
+
file to correct the data.
|
|
677
684
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
projection
|
|
683
|
-
}
|
|
684
|
-
}
|
|
685
|
+
The next time you run ''''tj3'''' with your project, all assignments
|
|
686
|
+
prior to the date in the project header file will be taken only from
|
|
687
|
+
the bookings file. All assignments after this date will be determined
|
|
688
|
+
by the scheduler according to your provided constraints.
|
|
685
689
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
ignored and replaced by a value based on the specified bookings.
|
|
692
|
-
|
|
693
|
-
When you now schedule the project again, it will take these bookings into
|
|
694
|
-
account and generate a new project plan based on your current project status.
|
|
695
|
-
Each time you review your project status you should generate such an include
|
|
696
|
-
file for the period that you are reviewing. Then you sync the content with the
|
|
697
|
-
feedback that you get from your resources and add the file to the project plan.
|
|
690
|
+
When you run ''''tj3 --freeze'''' again, it will update the header
|
|
691
|
+
and booking files. Since you have included your booking file, any
|
|
692
|
+
modifications you have made, will be preserved. That is, the actual
|
|
693
|
+
data will be preserved, not the formatting since the file will be
|
|
694
|
+
completely re-generated again.
|
|
698
695
|
|
|
699
696
|
==== Status Sheets ====
|
|
700
697
|
|
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
This section will cover changes between TaskJuggler 2.x and 3.x.
|
|
4
4
|
|
|
5
|
+
* The syntax for macros has changed slightly. The terminating
|
|
6
|
+
''''<nowiki>]</nowiki>'''' must be the last character before the
|
|
7
|
+
line break. No spaces or comments are allowed here. Parameters of
|
|
8
|
+
macro calls must always be enclosed by double quotes. In contrast to
|
|
9
|
+
regular strings, single quotes are not allowed here. The parameter
|
|
10
|
+
may not span multiple lines.
|
|
11
|
+
|
|
12
|
+
* The ''''projection'''' attribute has been removed. The
|
|
13
|
+
is now provided by [[trackingscenario]].
|
|
14
|
+
|
|
15
|
+
* The default working hours have been changed to 9:00 - 17:00.
|
|
16
|
+
|
|
17
|
+
* IDs for properties such as tasks, resources and reports are now
|
|
18
|
+
optional. If you don't need to reference a property, you can omit the
|
|
19
|
+
ID. TaskJuggler will automatically assign an ID then.
|
|
20
|
+
|
|
21
|
+
* Top-level accounts no longer need a ''''cost'''' or ''''revenue''''
|
|
22
|
+
attribute. Any two top level accounts can now be balanced against
|
|
23
|
+
each other using the [[balance]] attribute in the report.
|
|
24
|
+
|
|
5
25
|
* The ''''shift'''' attribute for tasks and resources has been
|
|
6
26
|
renamed to ''''shifts'''' to allow support for multiple shifts.
|
|
7
27
|
|
|
@@ -10,24 +30,32 @@ tasks and resources have a ''''limits'''' attribute, a global
|
|
|
10
30
|
attribute was inconsistent as only resources inherited this
|
|
11
31
|
attribute. Use a parent resource to emulate the old behaviour.
|
|
12
32
|
|
|
33
|
+
* Shifts and limits for allocations have been deprecated. The concept
|
|
34
|
+
was bogus and not compatible with bookings. The functionality is
|
|
35
|
+
now provided by [[shifts.task|shifts]] and [[limits.task|limits]] on the
|
|
36
|
+
task level. Limits for a task can be [[resources.limit|selectively
|
|
37
|
+
applied]] to certain resources.
|
|
38
|
+
|
|
13
39
|
* The ''''startbuffer'''' and ''''endbuffer'''' attributes have been
|
|
14
40
|
deprecated. They have not been widely used and had no impact on
|
|
15
41
|
scheduling.
|
|
16
42
|
|
|
17
|
-
* The ''''barlabels'''' attribute for reports is no longer needed.
|
|
18
|
-
HTML reports have always empty Gantt-chart bars and the calendar
|
|
19
|
-
reports always have values.
|
|
20
|
-
|
|
21
43
|
* The project attribute ''''allowredifinitions'''' has been dropped.
|
|
22
44
|
It was an ugly workaround for a rare corner case. Using [[supplement]] is
|
|
23
45
|
the clean way to do this.
|
|
24
46
|
|
|
25
47
|
* Camel case names for function names in logical expressions have
|
|
26
|
-
been deprecated. Function names need to be all lower case now.
|
|
48
|
+
been deprecated. Function names need to be all lower case now. Some
|
|
49
|
+
functions have been removed as all attributes can now be accessed by
|
|
50
|
+
scenario.attribute_id notation.
|
|
27
51
|
|
|
28
|
-
*
|
|
29
|
-
|
|
30
|
-
|
|
52
|
+
* The format for [[report|reports]] has been changed considerably.
|
|
53
|
+
The old format was not very flexible and had some design flaws.
|
|
54
|
+
TaskJuggler III now supports report nesting and composition. A report
|
|
55
|
+
definition can be used to generated multiple output [[formats]]. The
|
|
56
|
+
name of a report must now be specified without the file name
|
|
57
|
+
extension. It will be automatically added depending on the output
|
|
58
|
+
format.
|
|
31
59
|
|
|
32
60
|
* The sorting modes have been extended to include the scenario. Also,
|
|
33
61
|
the sorting direction is no longer mangled with the attribute name.
|
|
@@ -39,11 +67,9 @@ longer supported. The naming was inconsistent with TaskJuggler lingo
|
|
|
39
67
|
and did not handle tasks and resources separately. It has been
|
|
40
68
|
replaced with [[taskattributes]] and [[resourceattributes]].
|
|
41
69
|
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
task level. Limits for a task can be [[resources.limit|selectively
|
|
46
|
-
applied]] to certain resources.
|
|
70
|
+
* The ''''barlabels'''' attribute for reports is no longer needed.
|
|
71
|
+
HTML reports have always empty Gantt-chart bars and the calendar
|
|
72
|
+
reports always have values.
|
|
47
73
|
|
|
48
74
|
* Support for reading and writing XML files is no longer available.
|
|
49
75
|
The content was redundant with the TJP file format and it was not
|
|
@@ -52,25 +78,6 @@ it. There is nothing in the TJ3 design that would prevent this
|
|
|
52
78
|
feature from being added again, but there are no plans for this right
|
|
53
79
|
now.
|
|
54
80
|
|
|
55
|
-
* The format for [[report|reports]] has been changed considerably.
|
|
56
|
-
The old format was not very flexible and had some design flaws.
|
|
57
|
-
TaskJuggler III now supports report nesting and composition. A report
|
|
58
|
-
definition can be used to generated multiple output [[formats]]. The
|
|
59
|
-
name of a report must now be specified without the file name
|
|
60
|
-
extension. It will be automatically added depending on the output
|
|
61
|
-
format.
|
|
62
|
-
|
|
63
|
-
* IDs for properties such as tasks, resources and reports are now
|
|
64
|
-
optional. If you don't need to reference a property, you can omit the
|
|
65
|
-
ID. TaskJuggler will automatically assign an ID then.
|
|
66
|
-
|
|
67
|
-
* The syntax for macros has changed slightly. The terminating
|
|
68
|
-
''''<nowiki>]</nowiki>'''' must be the last character before the
|
|
69
|
-
line break. No spaces or comments are allowed here. Parameters of
|
|
70
|
-
macro calls must always be enclosed by double quotes. In contrast to
|
|
71
|
-
regular strings, single quotes are not allowed here. The parameter
|
|
72
|
-
may not span multiple lines.
|
|
73
|
-
|
|
74
81
|
=== Using TaskJuggler 2.x and TaskJuggler 3.x in parallel ===
|
|
75
82
|
|
|
76
83
|
While TaskJuggler 3.x has many new features over TaskJuggler 2.x like
|