taskjuggler 3.0.0 → 3.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 +61 -0
- data/README.rdoc +43 -27
- data/data/css/tjreport.css +30 -0
- data/data/tjp.vim +100 -89
- data/examples/ProjectTemplate/template.tjp +338 -0
- data/examples/ToDo-List/todolist.tjp +84 -0
- data/examples/{tutorial.tjp → Tutorial/tutorial.tjp} +9 -7
- data/lib/header.tmpl +1 -1
- data/lib/taskjuggler/Account.rb +2 -2
- data/lib/taskjuggler/AccountCredit.rb +29 -0
- data/lib/taskjuggler/AccountScenario.rb +73 -7
- data/lib/taskjuggler/AlertLevelDefinitions.rb +104 -0
- data/lib/taskjuggler/AlgorithmDiff.rb +2 -2
- data/lib/taskjuggler/Allocation.rb +1 -1
- data/lib/taskjuggler/AppConfig.rb +1 -1
- data/lib/taskjuggler/AttributeBase.rb +1 -1
- data/lib/taskjuggler/AttributeDefinition.rb +1 -1
- data/lib/taskjuggler/Attributes.rb +40 -3
- data/lib/taskjuggler/BatchProcessor.rb +15 -14
- data/lib/taskjuggler/Booking.rb +1 -1
- data/lib/taskjuggler/Charge.rb +2 -2
- data/lib/taskjuggler/ChargeSet.rb +1 -1
- data/lib/taskjuggler/DataCache.rb +24 -12
- data/lib/taskjuggler/FileList.rb +1 -1
- data/lib/taskjuggler/HTMLDocument.rb +1 -1
- data/lib/taskjuggler/HTMLElements.rb +1 -1
- data/lib/taskjuggler/ICalendar.rb +1 -1
- data/lib/taskjuggler/Interval.rb +1 -1
- data/lib/taskjuggler/IntervalList.rb +1 -1
- data/lib/taskjuggler/Journal.rb +61 -41
- data/lib/taskjuggler/KeywordArray.rb +1 -1
- data/lib/taskjuggler/KeywordDocumentation.rb +121 -33
- data/lib/taskjuggler/LeaveList.rb +103 -0
- data/lib/taskjuggler/Limits.rb +1 -1
- data/lib/taskjuggler/Log.rb +6 -3
- data/lib/taskjuggler/LogFile.rb +1 -1
- data/lib/taskjuggler/LogicalExpression.rb +1 -1
- data/lib/taskjuggler/LogicalFunction.rb +16 -2
- data/lib/taskjuggler/LogicalOperation.rb +3 -1
- data/lib/taskjuggler/MessageHandler.rb +13 -4
- data/lib/taskjuggler/PTNProxy.rb +118 -0
- data/lib/taskjuggler/Project.rb +58 -67
- data/lib/taskjuggler/ProjectFileParser.rb +39 -5
- data/lib/taskjuggler/ProjectFileScanner.rb +1 -1
- data/lib/taskjuggler/PropertyList.rb +26 -2
- data/lib/taskjuggler/PropertySet.rb +8 -1
- data/lib/taskjuggler/PropertyTreeNode.rb +36 -32
- data/lib/taskjuggler/Query.rb +1 -1
- data/lib/taskjuggler/RealFormat.rb +4 -2
- data/lib/taskjuggler/Resource.rb +3 -3
- data/lib/taskjuggler/ResourceScenario.rb +219 -140
- data/lib/taskjuggler/RichText.rb +1 -1
- data/lib/taskjuggler/RichText/Document.rb +2 -2
- data/lib/taskjuggler/RichText/Element.rb +2 -2
- data/lib/taskjuggler/RichText/FunctionExample.rb +2 -2
- data/lib/taskjuggler/RichText/FunctionHandler.rb +2 -2
- data/lib/taskjuggler/RichText/Parser.rb +2 -2
- data/lib/taskjuggler/RichText/RTFHandlers.rb +1 -1
- data/lib/taskjuggler/RichText/RTFNavigator.rb +1 -1
- data/lib/taskjuggler/RichText/RTFQuery.rb +1 -1
- data/lib/taskjuggler/RichText/RTFReport.rb +1 -1
- data/lib/taskjuggler/RichText/RTFReportLink.rb +1 -1
- data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +1 -1
- data/lib/taskjuggler/RichText/Scanner.rb +18 -4
- data/lib/taskjuggler/RichText/Snip.rb +2 -2
- data/lib/taskjuggler/RichText/SyntaxRules.rb +6 -14
- data/lib/taskjuggler/RichText/TOCEntry.rb +16 -7
- data/lib/taskjuggler/RichText/TableOfContents.rb +3 -2
- data/lib/taskjuggler/RuntimeConfig.rb +1 -1
- data/lib/taskjuggler/Scenario.rb +1 -1
- data/lib/taskjuggler/ScenarioData.rb +1 -1
- data/lib/taskjuggler/Scoreboard.rb +1 -1
- data/lib/taskjuggler/SheetHandlerBase.rb +1 -1
- data/lib/taskjuggler/SheetReceiver.rb +1 -1
- data/lib/taskjuggler/SheetSender.rb +3 -3
- data/lib/taskjuggler/Shift.rb +2 -2
- data/lib/taskjuggler/ShiftAssignments.rb +24 -19
- data/lib/taskjuggler/ShiftScenario.rb +4 -4
- data/lib/taskjuggler/SimpleQueryExpander.rb +1 -1
- data/lib/taskjuggler/StatusSheetReceiver.rb +1 -1
- data/lib/taskjuggler/StatusSheetSender.rb +1 -1
- data/lib/taskjuggler/StdIoWrapper.rb +1 -1
- data/lib/taskjuggler/SyntaxReference.rb +5 -2
- data/lib/taskjuggler/TableColumnDefinition.rb +1 -1
- data/lib/taskjuggler/Task.rb +4 -8
- data/lib/taskjuggler/TaskDependency.rb +1 -1
- data/lib/taskjuggler/TaskJuggler.rb +1 -1
- data/lib/taskjuggler/TaskScenario.rb +131 -51
- data/lib/taskjuggler/TernarySearchTree.rb +6 -4
- data/lib/taskjuggler/TextFormatter.rb +9 -2
- data/lib/taskjuggler/TextParser.rb +13 -3
- data/lib/taskjuggler/TextParser/MacroTable.rb +1 -1
- data/lib/taskjuggler/TextParser/Pattern.rb +52 -8
- data/lib/taskjuggler/TextParser/Rule.rb +11 -5
- data/lib/taskjuggler/TextParser/Scanner.rb +1 -1
- data/lib/taskjuggler/TextParser/SourceFileInfo.rb +1 -1
- data/lib/taskjuggler/TextParser/StackElement.rb +1 -1
- data/lib/taskjuggler/TextParser/State.rb +2 -2
- data/lib/taskjuggler/TextParser/TokenDoc.rb +1 -1
- data/lib/taskjuggler/TimeSheetReceiver.rb +1 -1
- data/lib/taskjuggler/TimeSheetSender.rb +1 -1
- data/lib/taskjuggler/TimeSheetSummary.rb +1 -1
- data/lib/taskjuggler/TimeSheets.rb +4 -6
- data/lib/taskjuggler/Tj3AppBase.rb +18 -1
- data/lib/taskjuggler/Tj3Config.rb +4 -4
- data/lib/taskjuggler/Tj3SheetAppBase.rb +1 -1
- data/lib/taskjuggler/TjException.rb +1 -1
- data/lib/taskjuggler/TjTime.rb +1 -1
- data/lib/taskjuggler/TjpExample.rb +1 -1
- data/lib/taskjuggler/TjpSyntaxRules.rb +920 -392
- data/lib/taskjuggler/URLParameter.rb +1 -1
- data/lib/taskjuggler/UTF8String.rb +1 -1
- data/lib/taskjuggler/UserManual.rb +1 -1
- data/lib/taskjuggler/VimSyntax.rb +9 -6
- data/lib/taskjuggler/WorkingHours.rb +12 -1
- data/lib/taskjuggler/XMLDocument.rb +1 -1
- data/lib/taskjuggler/XMLElement.rb +1 -1
- data/lib/taskjuggler/apps/Tj3.rb +8 -3
- data/lib/taskjuggler/apps/Tj3Client.rb +1 -1
- data/lib/taskjuggler/apps/Tj3Daemon.rb +1 -1
- data/lib/taskjuggler/apps/Tj3Man.rb +1 -1
- data/lib/taskjuggler/apps/Tj3SsReceiver.rb +2 -2
- data/lib/taskjuggler/apps/Tj3SsSender.rb +1 -1
- data/lib/taskjuggler/apps/Tj3TsReceiver.rb +1 -1
- data/lib/taskjuggler/apps/Tj3TsSender.rb +1 -1
- data/lib/taskjuggler/apps/Tj3TsSummary.rb +1 -1
- data/lib/taskjuggler/daemon/Daemon.rb +1 -1
- data/lib/taskjuggler/daemon/ProcessIntercom.rb +1 -1
- data/lib/taskjuggler/daemon/ProjectBroker.rb +1 -1
- data/lib/taskjuggler/daemon/ProjectServer.rb +1 -1
- data/lib/taskjuggler/daemon/ReportServer.rb +2 -2
- data/lib/taskjuggler/daemon/ReportServlet.rb +1 -1
- data/lib/taskjuggler/daemon/WebServer.rb +1 -1
- data/lib/taskjuggler/daemon/WelcomePage.rb +1 -1
- data/lib/taskjuggler/deep_copy.rb +1 -1
- data/lib/taskjuggler/reports/AccountListRE.rb +115 -0
- data/lib/taskjuggler/reports/CSVFile.rb +1 -1
- data/lib/taskjuggler/reports/CollisionDetector.rb +1 -1
- data/lib/taskjuggler/reports/ColumnTable.rb +1 -1
- data/lib/taskjuggler/reports/GanttChart.rb +1 -1
- data/lib/taskjuggler/reports/GanttContainer.rb +1 -3
- data/lib/taskjuggler/reports/GanttHeader.rb +1 -1
- data/lib/taskjuggler/reports/GanttHeaderScaleItem.rb +1 -1
- data/lib/taskjuggler/reports/GanttLine.rb +23 -12
- data/lib/taskjuggler/reports/GanttLoadStack.rb +1 -1
- data/lib/taskjuggler/reports/GanttMilestone.rb +1 -1
- data/lib/taskjuggler/reports/GanttRouter.rb +1 -1
- data/lib/taskjuggler/reports/GanttTaskBar.rb +1 -1
- data/lib/taskjuggler/reports/HTMLGraphics.rb +1 -1
- data/lib/taskjuggler/reports/ICalReport.rb +5 -2
- data/lib/taskjuggler/reports/Navigator.rb +1 -1
- data/lib/taskjuggler/reports/NikuReport.rb +1 -1
- data/lib/taskjuggler/reports/Report.rb +29 -4
- data/lib/taskjuggler/reports/ReportBase.rb +15 -1
- data/lib/taskjuggler/reports/ReportContext.rb +1 -1
- data/lib/taskjuggler/reports/ReportTable.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableCell.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableColumn.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableLegend.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableLine.rb +1 -1
- data/lib/taskjuggler/reports/ResourceListRE.rb +3 -5
- data/lib/taskjuggler/reports/StatusSheetReport.rb +2 -2
- data/lib/taskjuggler/reports/TableReport.rb +336 -204
- data/lib/taskjuggler/reports/TableReportColumn.rb +30 -0
- data/lib/taskjuggler/reports/TagFile.rb +2 -2
- data/lib/taskjuggler/reports/TaskListRE.rb +3 -6
- data/lib/taskjuggler/reports/TextReport.rb +1 -1
- data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -3
- data/lib/taskjuggler/reports/TjpExportRE.rb +4 -1
- data/lib/tj3.rb +1 -1
- data/lib/tj3client.rb +1 -1
- data/lib/tj3d.rb +1 -1
- data/lib/tj3man.rb +1 -1
- data/lib/tj3ss_receiver.rb +1 -1
- data/lib/tj3ss_sender.rb +1 -1
- data/lib/tj3ts_receiver.rb +1 -1
- data/lib/tj3ts_sender.rb +1 -1
- data/lib/tj3ts_summary.rb +1 -1
- data/lib/updateheader.sh +4 -1
- data/manual/Getting_Started +7 -4
- data/manual/How_To_Contribute +26 -5
- data/manual/Installation +26 -18
- data/manual/Intro +55 -33
- data/manual/Reporting_Bugs +18 -8
- data/manual/Rich_Text_Attributes +16 -3
- data/manual/Software +2 -2
- data/manual/TaskJuggler_2x_Migration +2 -2
- data/manual/The_TaskJuggler_Syntax +10 -0
- data/manual/Tutorial +2 -2
- data/manual/html/Day_To_Day_Juggling.html +16 -12
- data/manual/html/Getting_Started.html +9 -7
- data/manual/html/How_To_Contribute.html +18 -10
- data/manual/html/Installation.html +18 -15
- data/manual/html/Intro.html +44 -28
- data/manual/html/Reporting_Bugs.html +9 -7
- data/manual/html/Rich_Text_Attributes.html +11 -8
- data/manual/html/Software.html +5 -5
- data/manual/html/TaskJuggler_2x_Migration.html +4 -4
- data/manual/html/TaskJuggler_Internals.html +3 -3
- data/manual/html/The_TaskJuggler_Syntax.html +6 -3
- data/manual/html/Tutorial.html +12 -12
- data/manual/html/account.html +19 -10
- data/manual/html/account.task.html +5 -28
- data/manual/html/accountprefix.html +5 -5
- data/manual/html/{report.html → accountreport.html} +140 -23
- data/manual/html/accountroot.html +142 -0
- data/manual/html/active.html +5 -5
- data/manual/html/adopt.task.html +7 -8
- data/manual/html/aggregate.html +145 -0
- data/manual/html/alert.html +12 -11
- data/manual/html/alertlevels.html +102 -0
- data/manual/html/allocate.html +6 -6
- data/manual/html/alphabet.html +1 -1
- data/manual/html/alternative.html +3 -3
- data/manual/html/author.html +3 -3
- data/manual/html/balance.html +84 -11
- data/manual/html/booking.resource.html +3 -3
- data/manual/html/booking.task.html +3 -3
- data/manual/html/caption.html +6 -4
- data/manual/html/cellcolor.column.html +3 -3
- data/manual/html/celltext.column.html +3 -3
- data/manual/html/center.html +28 -4
- data/manual/html/charge.html +3 -3
- data/manual/html/chargeset.html +5 -5
- data/manual/html/columnid.html +40 -9
- data/manual/html/columns.html +6 -4
- data/manual/html/complete.html +15 -9
- data/manual/html/copyright.html +5 -5
- data/manual/html/{credit.html → credits.html} +15 -12
- data/manual/html/css/tjreport.css +30 -0
- data/manual/html/currency.html +28 -15
- data/manual/html/currencyformat.html +4 -4
- data/manual/html/dailymax.html +3 -3
- data/manual/html/dailymin.html +3 -3
- data/manual/html/dailyworkinghours.html +3 -3
- data/manual/html/date.extend.html +3 -3
- data/manual/html/date.html +3 -3
- data/manual/html/definitions.html +3 -3
- data/manual/html/depends.html +3 -3
- data/manual/html/details.html +3 -3
- data/manual/html/disabled.html +9 -3
- data/manual/html/duration.html +3 -3
- data/manual/html/efficiency.html +3 -3
- data/manual/html/effort.html +3 -3
- data/manual/html/email.html +3 -3
- data/manual/html/enabled.html +9 -3
- data/manual/html/end.column.html +3 -3
- data/manual/html/end.html +3 -3
- data/manual/html/end.limit.html +3 -3
- data/manual/html/end.report.html +4 -4
- data/manual/html/end.timesheet.html +3 -3
- data/manual/html/endcredit.html +18 -9
- data/manual/html/epilog.html +6 -4
- data/manual/html/export.html +10 -6
- data/manual/html/extend.html +3 -3
- data/manual/html/fail.html +3 -3
- data/manual/html/fdl.html +3 -3
- data/manual/html/flags.account.html +3 -3
- data/manual/html/flags.html +3 -3
- data/manual/html/flags.journalentry.html +3 -3
- data/manual/html/flags.report.html +6 -4
- data/manual/html/flags.resource.html +3 -3
- data/manual/html/flags.statussheet.html +3 -3
- data/manual/html/flags.task.html +3 -3
- data/manual/html/flags.timesheet.html +3 -3
- data/manual/html/fontcolor.column.html +3 -3
- data/manual/html/footer.html +28 -4
- data/manual/html/formats.html +4 -4
- data/manual/html/functions.html +4 -4
- data/manual/html/gapduration.html +3 -3
- data/manual/html/gaplength.html +4 -4
- data/manual/html/halign.center.html +3 -3
- data/manual/html/halign.column.html +3 -3
- data/manual/html/halign.left.html +3 -3
- data/manual/html/halign.right.html +3 -3
- data/manual/html/hasalert.html +3 -3
- data/manual/html/header.html +28 -4
- data/manual/html/headline.html +6 -6
- data/manual/html/hideaccount.html +73 -0
- data/manual/html/hidejournalentry.html +6 -6
- data/manual/html/hidereport.html +3 -3
- data/manual/html/hideresource.html +4 -4
- data/manual/html/hidetask.html +4 -4
- data/manual/html/icalreport.html +3 -3
- data/manual/html/include.macro.html +4 -4
- data/manual/html/include.project.html +5 -6
- data/manual/html/include.properties.html +5 -97
- data/manual/html/index.html +2 -2
- data/manual/html/inherit.extend.html +3 -3
- data/manual/html/interval1.html +3 -3
- data/manual/html/interval2.html +3 -3
- data/manual/html/interval3.html +3 -3
- data/manual/html/interval4.html +3 -3
- data/manual/html/isactive.html +3 -3
- data/manual/html/ischildof.html +3 -3
- data/manual/html/isdependencyof.html +3 -3
- data/manual/html/isdutyof.html +3 -3
- data/manual/html/isfeatureof.html +3 -3
- data/manual/html/isleaf.html +3 -3
- data/manual/html/ismilestone.html +3 -3
- data/manual/html/isongoing.html +3 -3
- data/manual/html/isresource.html +5 -5
- data/manual/html/{alert level.html → isresponsibilityof.html} +19 -14
- data/manual/html/istask.html +5 -5
- data/manual/html/journalattributes.html +6 -4
- data/manual/html/journalentry.html +3 -3
- data/manual/html/journalmode.html +8 -6
- data/manual/html/leaveallowance.html +139 -0
- data/manual/html/leaves.html +140 -0
- data/manual/html/left.html +30 -6
- data/manual/html/length.html +4 -4
- data/manual/html/limits.allocate.html +5 -32
- data/manual/html/limits.html +3 -3
- data/manual/html/limits.resource.html +3 -3
- data/manual/html/limits.task.html +3 -3
- data/manual/html/listitem.column.html +3 -3
- data/manual/html/listtype.column.html +3 -3
- data/manual/html/loadunit.html +6 -4
- data/manual/html/logicalexpression.html +3 -3
- data/manual/html/logicalflagexpression.html +3 -3
- data/manual/html/macro.html +3 -3
- data/manual/html/managers.html +3 -3
- data/manual/html/mandatory.html +3 -3
- data/manual/html/maxend.html +3 -3
- data/manual/html/maximum.html +3 -3
- data/manual/html/maxstart.html +3 -3
- data/manual/html/milestone.html +3 -3
- data/manual/html/minend.html +3 -3
- data/manual/html/minimum.html +3 -3
- data/manual/html/minstart.html +3 -3
- data/manual/html/monthlymax.html +3 -3
- data/manual/html/monthlymin.html +3 -3
- data/manual/html/navbar.html +23 -5
- data/manual/html/navigator.html +34 -3
- data/manual/html/newtask.html +3 -3
- data/manual/html/nikureport.html +3 -3
- data/manual/html/note.task.html +3 -3
- data/manual/html/now.html +3 -3
- data/manual/html/numberformat.html +4 -4
- data/manual/html/onend.html +3 -3
- data/manual/html/onstart.html +3 -3
- data/manual/html/opennodes.html +6 -4
- data/manual/html/overtime.booking.html +4 -4
- data/manual/html/period.column.html +3 -3
- data/manual/html/period.limit.html +3 -3
- data/manual/html/period.report.html +4 -4
- data/manual/html/period.task.html +3 -3
- data/manual/html/persistent.html +3 -3
- data/manual/html/precedes.html +3 -3
- data/manual/html/priority.html +3 -3
- data/manual/html/priority.timesheet.html +3 -3
- data/manual/html/project.html +4 -4
- data/manual/html/projectid.html +3 -3
- data/manual/html/projectid.task.html +3 -3
- data/manual/html/projectids.html +3 -3
- data/manual/html/projection.html +9 -3
- data/manual/html/prolog.html +6 -4
- data/manual/html/properties.html +193 -9
- data/manual/html/purge.html +5 -5
- data/manual/html/rate.html +3 -3
- data/manual/html/rate.resource.html +3 -3
- data/manual/html/reference.extend.html +3 -3
- data/manual/html/remaining.html +3 -3
- data/manual/html/replace.html +9 -6
- data/manual/html/reportprefix.html +5 -5
- data/manual/html/resource.html +22 -4
- data/manual/html/resourceattributes.html +6 -6
- data/manual/html/resourceprefix.html +3 -3
- data/manual/html/resourcereport.html +311 -8
- data/manual/html/resourceroot.html +6 -4
- data/manual/html/resources.limit.html +4 -4
- data/manual/html/responsible.html +3 -3
- data/manual/html/richtext.extend.html +3 -3
- data/manual/html/right.html +30 -6
- data/manual/html/rollupaccount.html +69 -0
- data/manual/html/rollupresource.html +6 -6
- data/manual/html/rolluptask.html +4 -4
- data/manual/html/scale.column.html +3 -3
- data/manual/html/scenario.html +3 -3
- data/manual/html/scenario.ical.html +3 -3
- data/manual/html/scenarios.export.html +3 -3
- data/manual/html/scenarios.html +6 -4
- data/manual/html/scenariospecific.extend.html +3 -3
- data/manual/html/scheduled.html +3 -3
- data/manual/html/scheduling.html +3 -3
- data/manual/html/select.html +3 -3
- data/manual/html/selfcontained.html +6 -4
- data/manual/html/shift.allocate.html +77 -0
- data/manual/html/shift.html +13 -7
- data/manual/html/shift.resource.html +11 -5
- data/manual/html/shift.task.html +9 -3
- data/manual/html/shift.timesheet.html +4 -4
- data/manual/html/shifts.allocate.html +6 -6
- data/manual/html/shifts.resource.html +3 -3
- data/manual/html/shifts.task.html +3 -3
- data/manual/html/shorttimeformat.html +3 -3
- data/manual/html/sloppy.booking.html +4 -4
- data/manual/html/sloppy.projection.html +12 -6
- data/manual/html/sortaccounts.html +73 -0
- data/manual/html/sortjournalentries.html +8 -6
- data/manual/html/sortresources.html +4 -4
- data/manual/html/sorttasks.html +4 -4
- data/manual/html/start.column.html +3 -3
- data/manual/html/start.html +3 -3
- data/manual/html/start.limit.html +3 -3
- data/manual/html/start.report.html +4 -4
- data/manual/html/startcredit.html +10 -4
- data/manual/html/status.statussheet.html +5 -5
- data/manual/html/status.timesheet.html +5 -5
- data/manual/html/statussheet.html +3 -3
- data/manual/html/statussheetreport.html +10 -6
- data/manual/html/strict.projection.html +10 -4
- data/manual/html/summary.html +3 -3
- data/manual/html/supplement.html +5 -5
- data/manual/html/supplement.resource.html +22 -4
- data/manual/html/supplement.task.html +4 -4
- data/manual/html/tagfile.html +3 -3
- data/manual/html/task.html +3 -3
- data/manual/html/task.statussheet.html +3 -3
- data/manual/html/task.timesheet.html +3 -3
- data/manual/html/taskattributes.html +3 -3
- data/manual/html/taskprefix.html +3 -3
- data/manual/html/taskreport.html +347 -8
- data/manual/html/taskroot.html +6 -4
- data/manual/html/text.extend.html +3 -3
- data/manual/html/textreport.html +333 -8
- data/manual/html/timeformat.html +4 -4
- data/manual/html/timeoff.nikureport.html +3 -3
- data/manual/html/timesheet.html +3 -3
- data/manual/html/timesheetreport.html +10 -6
- data/manual/html/timezone.export.html +3 -3
- data/manual/html/timezone.html +3 -3
- data/manual/html/timezone.report.html +6 -4
- data/manual/html/timezone.shift.html +3 -3
- data/manual/html/timingresolution.html +3 -3
- data/manual/html/title.column.html +3 -3
- data/manual/html/title.html +4 -4
- data/manual/html/toc.html +1705 -658
- data/manual/html/tooltip.column.html +3 -3
- data/manual/html/trackingscenario.html +3 -3
- data/manual/html/treelevel.html +3 -3
- data/manual/html/vacation.html +3 -3
- data/manual/html/vacation.resource.html +4 -4
- data/manual/html/vacation.shift.html +4 -4
- data/manual/html/warn.html +3 -3
- data/manual/html/weeklymax.html +3 -3
- data/manual/html/weeklymin.html +3 -3
- data/manual/html/weekstartsmonday.html +3 -3
- data/manual/html/weekstartssunday.html +3 -3
- data/manual/html/width.column.html +3 -3
- data/manual/html/work.html +3 -3
- data/manual/html/workinghours.project.html +3 -3
- data/manual/html/workinghours.resource.html +3 -3
- data/manual/html/workinghours.shift.html +3 -3
- data/manual/html/yearlyworkingdays.html +4 -4
- data/spec/ICalendar_spec.rb +4 -2
- data/spec/IntervalList_spec.rb +1 -1
- data/spec/ProjectBroker_spec.rb +2 -6
- data/spec/StatusSheets_spec.rb +1 -1
- data/spec/TernarySearchTree_spec.rb +2 -2
- data/spec/TimeSheets_spec.rb +1 -1
- data/spec/Tj3Daemon_spec.rb +1 -1
- data/spec/Tj3_spec.rb +1 -1
- data/spec/support/DaemonControl.rb +1 -1
- data/spec/support/spec_helper.rb +19 -0
- data/taskjuggler.gemspec +1 -0
- data/test/MessageChecker.rb +1 -1
- data/test/ReferenceGenerator.rb +1 -1
- data/test/TestSuite/CSV-Reports/Leave.tjp +37 -0
- data/test/TestSuite/CSV-Reports/celltext.tjp +1 -1
- data/test/TestSuite/CSV-Reports/efficiency.tjp +20 -0
- data/test/TestSuite/CSV-Reports/headcount.tjp +31 -0
- data/test/TestSuite/CSV-Reports/refs/Leave.csv +5 -0
- data/test/TestSuite/CSV-Reports/refs/alert.csv +6 -0
- data/test/TestSuite/CSV-Reports/refs/celltext.csv +6 -0
- data/test/TestSuite/CSV-Reports/refs/efficiency.csv +5 -0
- data/test/TestSuite/CSV-Reports/refs/headcount.csv +4 -0
- data/test/TestSuite/CSV-Reports/refs/sortByTree.csv +6 -0
- data/test/TestSuite/CSV-Reports/refs/sortBy_duration.down.csv +6 -0
- data/test/TestSuite/CSV-Reports/refs/sortBy_effort.up.csv +6 -0
- data/test/TestSuite/CSV-Reports/refs/sortBy_plan.start.down.csv +6 -0
- data/test/TestSuite/CSV-Reports/refs/taskreport.csv +6 -0
- data/test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv +14 -0
- data/test/TestSuite/CSV-Reports/resourcereport.tjp +1 -1
- data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +1 -1
- data/test/TestSuite/CSV-Reports/sortByTree.tjp +1 -1
- data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +1 -1
- data/test/TestSuite/CSV-Reports/taskreport.tjp +1 -1
- data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +1 -1
- data/test/TestSuite/Export-Reports/refs/AccountReport.tjp +1089 -0
- data/test/TestSuite/Export-Reports/refs/AlertLevels.tjp +24 -0
- data/test/TestSuite/Export-Reports/refs/Complete.tjp +5 -25
- data/test/TestSuite/Export-Reports/refs/navigator.tjp +58 -0
- data/test/TestSuite/Export-Reports/refs/template.tjp +142 -0
- data/test/TestSuite/Export-Reports/refs/textreport.tjp +19 -0
- data/test/TestSuite/ReportGenerator/Correct/Alerts.tjp +26 -7
- data/test/TestSuite/ReportGenerator/Correct/refs/Alerts-1.csv +177 -141
- data/test/TestSuite/ReportGenerator/Correct/refs/FTE-1.csv +1 -1
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Shift2.tjp +4 -4
- data/test/TestSuite/Syntax/Correct/Account.tjp +23 -10
- data/test/TestSuite/Syntax/Correct/AccountReport.tjp +74 -0
- data/test/TestSuite/Syntax/Correct/AdoptedTasks.tjp +4 -0
- data/test/TestSuite/Syntax/Correct/AlertLevels.tjp +25 -0
- data/test/TestSuite/Syntax/Correct/Celltext.tjp +3 -3
- data/test/TestSuite/Syntax/Correct/Complete.tjp +8 -5
- data/test/TestSuite/Syntax/Correct/Leave.tjp +37 -0
- data/test/TestSuite/Syntax/Correct/Reports.tjp +4 -4
- data/test/TestSuite/Syntax/Correct/Shift.tjp +4 -4
- data/test/TestSuite/Syntax/Correct/manual2example.rb +4 -3
- data/test/TestSuite/Syntax/Correct/navigator.tjp +31 -0
- data/test/TestSuite/Syntax/Correct/template.tjp +338 -0
- data/test/TestSuite/Syntax/Correct/textreport.tjp +21 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +12 -10
- data/test/TestSuite/Syntax/Errors/{adopt_duplicate_child.tjp → adopt_duplicate_child-1.tjp} +0 -0
- data/test/TestSuite/Syntax/Errors/{adopt_common_root.tjp → adopt_duplicate_child-2.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{adopt_duplicate_parent.tjp → adopt_duplicate_child-3.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/adopt_self.tjp +7 -0
- data/test/TestSuite/Syntax/Errors/alert_level_redef.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/alert_name_redef.tjp +8 -0
- data/test/TestSuite/Syntax/Errors/too_few_alert_levels.tjp +5 -0
- data/test/TjpGen.rb +1 -1
- data/test/all.rb +1 -1
- data/test/test_AlgorithmDiff.rb +1 -1
- data/test/test_BatchProcessor.rb +23 -10
- data/test/test_CSV-Reports.rb +1 -1
- data/test/test_CSVFile.rb +1 -1
- data/test/test_CollisionDetector.rb +1 -1
- data/test/test_Export-Reports.rb +1 -1
- data/test/test_Journal.rb +42 -15
- data/test/test_Limits.rb +1 -1
- data/test/test_LogicalExpression.rb +1 -1
- data/test/test_MacroTable.rb +8 -3
- data/test/test_Project.rb +1 -1
- data/test/test_ProjectFileScanner.rb +1 -1
- data/test/test_PropertySet.rb +1 -1
- data/test/test_Query.rb +1 -1
- data/test/test_RealFormat.rb +1 -1
- data/test/test_ReportGenerator.rb +1 -1
- data/test/test_RichText.rb +1 -1
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +1 -1
- data/test/test_SimpleQueryExpander.rb +1 -1
- data/test/test_Syntax.rb +1 -1
- data/test/test_TextFormatter.rb +1 -1
- data/test/test_TjTime.rb +1 -1
- data/test/test_TjpExample.rb +1 -1
- data/test/test_URLParameter.rb +1 -1
- data/test/test_UTF8String.rb +1 -1
- data/test/test_WorkingHours.rb +1 -1
- data/test/test_deep_copy.rb +1 -1
- metadata +318 -248
- data/test/TestSuite/Syntax/Errors/purge_no_list.tjp +0 -8
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env ruby -w
|
|
2
|
+
# encoding: UTF-8
|
|
3
|
+
#
|
|
4
|
+
# = TableReportColumn.rb -- The TaskJuggler III Project Management Software
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
8
|
+
#
|
|
9
|
+
# This program is free software; you can redistribute it and/or modify
|
|
10
|
+
# it under the terms of version 2 of the GNU General Public License as
|
|
11
|
+
# published by the Free Software Foundation.
|
|
12
|
+
#
|
|
13
|
+
|
|
14
|
+
class TaskJuggler
|
|
15
|
+
|
|
16
|
+
# This class holds some computed data that is used to render the TableReport
|
|
17
|
+
# Columns.
|
|
18
|
+
class TableReportColumn
|
|
19
|
+
|
|
20
|
+
attr_accessor :start, :end
|
|
21
|
+
|
|
22
|
+
def initialize(startDate, endDate)
|
|
23
|
+
@start = startDate
|
|
24
|
+
@end = endDate
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env ruby -w
|
|
2
2
|
# encoding: UTF-8
|
|
3
3
|
#
|
|
4
|
-
# =
|
|
4
|
+
# = TagFile.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = TaskListRE.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -33,10 +33,9 @@ class TaskJuggler
|
|
|
33
33
|
def generateIntermediateFormat
|
|
34
34
|
super
|
|
35
35
|
|
|
36
|
-
setReportPeriod
|
|
37
|
-
|
|
38
36
|
# Prepare the task list.
|
|
39
37
|
taskList = PropertyList.new(@project.tasks)
|
|
38
|
+
taskList.includeAdopted
|
|
40
39
|
taskList.setSorting(@report.get('sortTasks'))
|
|
41
40
|
taskList.query = @report.project.reportContexts.last.query
|
|
42
41
|
taskList = filterTaskList(taskList, nil, @report.get('hideTask'),
|
|
@@ -51,11 +50,9 @@ class TaskJuggler
|
|
|
51
50
|
resourceList.query = @report.project.reportContexts.last.query
|
|
52
51
|
resourceList.sort!
|
|
53
52
|
|
|
54
|
-
adjustReportPeriod(taskList, @report.get('scenarios'),
|
|
55
|
-
@report.get('columns'))
|
|
56
|
-
|
|
57
53
|
# Generate the table header.
|
|
58
54
|
@report.get('columns').each do |columnDescr|
|
|
55
|
+
adjustColumnPeriod(columnDescr, taskList, @report.get('scenarios'))
|
|
59
56
|
generateHeaderCell(columnDescr)
|
|
60
57
|
end
|
|
61
58
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = TextReport.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = TimeSheetReport.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -217,14 +217,14 @@ EOT
|
|
|
217
217
|
records << (resourceRecord = TSResourceRecord.new(resource))
|
|
218
218
|
|
|
219
219
|
# Calculate the average working days per week (usually 5)
|
|
220
|
-
weeklyWorkingDays = @project
|
|
220
|
+
weeklyWorkingDays = @project.weeklyWorkingDays
|
|
221
221
|
# Calculate the number of weeks in the report
|
|
222
222
|
weeksToReport = (to - from) / (60 * 60 * 24 * 7)
|
|
223
223
|
|
|
224
224
|
# Get the vacation days for the resource for this period.
|
|
225
225
|
queryAttrs['property'] = resource
|
|
226
226
|
query = Query.new(queryAttrs)
|
|
227
|
-
query.attributeId = '
|
|
227
|
+
query.attributeId = 'timeoffdays'
|
|
228
228
|
query.start = from
|
|
229
229
|
query.end = to
|
|
230
230
|
query.process
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = TjpExportRE.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -81,6 +81,9 @@ class TaskJuggler
|
|
|
81
81
|
"#{@project['scheduleGranularity'] / 60}min", 2)
|
|
82
82
|
end
|
|
83
83
|
generateAttributeText("timezone \"#{@project['timezone']}\"", 2)
|
|
84
|
+
if @project['alertLevels'].modified?
|
|
85
|
+
generateAttributeText(@project['alertLevels'].to_tjp, 2)
|
|
86
|
+
end
|
|
84
87
|
generateCustomAttributeDeclarations('resource', @project.resources,
|
|
85
88
|
a('resourceAttributes'))
|
|
86
89
|
generateCustomAttributeDeclarations('task', @project.tasks,
|
data/lib/tj3.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/tj3client.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3client.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/tj3d.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3d.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/tj3man.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3man.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/tj3ss_receiver.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3ss_receiver.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/tj3ss_sender.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3ss_sender.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/tj3ts_receiver.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3ts_receiver.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/tj3ts_sender.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3ts_sender.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/tj3ts_summary.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
# = tj3ts_summary.rb -- The TaskJuggler III Project Management Software
|
|
5
5
|
#
|
|
6
|
-
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
7
7
|
# by Chris Schlaeger <chris@linux.com>
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
data/lib/updateheader.sh
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
files="*.rb
|
|
1
|
+
files="*.rb taskjuggler/*.rb taskjuggler/apps/*.rb
|
|
2
|
+
taskjuggler/daemon/*.rb taskjuggler/reports/*.rb
|
|
3
|
+
taskjuggler/RichText/*.rb taskjuggler/TextParser/*.rb ../test/*.rb
|
|
4
|
+
../spec/*.rb ../spec/support/*.rb"
|
|
2
5
|
|
|
3
6
|
for f in $files; do
|
|
4
7
|
basename=`basename $f`
|
data/manual/Getting_Started
CHANGED
|
@@ -8,7 +8,7 @@ main project may include other files. Such included files must have
|
|
|
8
8
|
file names with a ''''.tji'''' extension.
|
|
9
9
|
|
|
10
10
|
The graphical user interface from the 2.x version has not been ported
|
|
11
|
-
to TaskJuggler
|
|
11
|
+
to TaskJuggler 3.x yet. So all work with TaskJuggler needs to be done
|
|
12
12
|
in your favorite text editor and in a command shell.
|
|
13
13
|
|
|
14
14
|
The commandline version of TaskJuggler works like a compiler. You
|
|
@@ -42,8 +42,8 @@ Every project must start with a [[project|project header]]. The
|
|
|
42
42
|
project header must be in the main project file. All other elements
|
|
43
43
|
may be put into include files. The project header must then be
|
|
44
44
|
followed by any number of project properties such as [[account|
|
|
45
|
-
accounts]], [[resource|resources]], [[task|tasks]] and
|
|
46
|
-
reports
|
|
45
|
+
accounts]], [[resource|resources]], [[task|tasks]] and
|
|
46
|
+
reports. Each project must have at least one task defined and should
|
|
47
47
|
have at least one report. Properties don't have to be listed in a
|
|
48
48
|
particular order, but may have interdependencies that require such an
|
|
49
49
|
order. If you want to assign a resource to work on a task, this
|
|
@@ -57,6 +57,9 @@ define them in the following sequence.
|
|
|
57
57
|
* [[vacation|vacations]]
|
|
58
58
|
* [[resource|resources]]
|
|
59
59
|
* [[task|tasks]]
|
|
60
|
-
* [[
|
|
60
|
+
* [[accountreport|accountreports]]
|
|
61
|
+
* [[resourcereport|resourcereports]]
|
|
62
|
+
* [[taskreport|taskreports]]
|
|
63
|
+
* [[textreport|textreports]]
|
|
61
64
|
* [[export|exports]]
|
|
62
65
|
|
data/manual/How_To_Contribute
CHANGED
|
@@ -85,9 +85,30 @@ files, you need to register them with your repository.
|
|
|
85
85
|
If you think you are done, you can commit your changes to your local
|
|
86
86
|
repository.
|
|
87
87
|
|
|
88
|
-
git commit -a
|
|
88
|
+
git commit -a -s
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
The -s parameter is very important. We will only accept signed-off patches. By
|
|
91
|
+
signing off on your patches you confirm that you wrote the code and have the
|
|
92
|
+
right to pass it on as a patch. See
|
|
93
|
+
[http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html this
|
|
94
|
+
document] for more information!
|
|
95
|
+
|
|
96
|
+
Please include a meaningful commit message. The first line (header line) should
|
|
97
|
+
be prefixed by ''''Fix: '''' for bug fixes or ''''New: '''' for new features.
|
|
98
|
+
This is used to automatically generate the change log from one release to
|
|
99
|
+
another. So a bug that has been introduced after the last release and is fixed
|
|
100
|
+
before the next release does not need to be included in the changelog. For
|
|
101
|
+
those cases, don't use any prefix.
|
|
102
|
+
|
|
103
|
+
After the header line leave a blank line and include one or more paragraphs
|
|
104
|
+
with more detailed information about the patch. This information will also be
|
|
105
|
+
included in the the change log if the header line has a prefix.
|
|
106
|
+
|
|
107
|
+
If you fix a bug that was reported by somebody else, please also include a reported-by line:
|
|
108
|
+
|
|
109
|
+
Reported-by: whoever-reported-the-bug
|
|
110
|
+
|
|
111
|
+
Then push it into your forked github repository.
|
|
91
112
|
|
|
92
113
|
git push
|
|
93
114
|
|
|
@@ -133,14 +154,14 @@ available in the ''''test'''' directory.
|
|
|
133
154
|
|
|
134
155
|
==== Contributing to the Ruby code ====
|
|
135
156
|
|
|
136
|
-
For the first stable TaskJuggler
|
|
157
|
+
For the first stable TaskJuggler release we have most 2.x
|
|
137
158
|
features supported. The few things that break backwards compatibility
|
|
138
|
-
|
|
159
|
+
are documented in the [[TaskJuggler_2x_Migration]] section.
|
|
139
160
|
|
|
140
161
|
In general, patches are very welcome. Please follow the coding style
|
|
141
162
|
and naming conventions used in the existing code. Larger changes
|
|
142
163
|
should be preceded by a discussion in the
|
|
143
|
-
[http://www.taskjuggler.org/
|
|
164
|
+
[http://www.taskjuggler.org/contact.html TaskJuggler Developer Forum].
|
|
144
165
|
|
|
145
166
|
==== Some final words to Contributors ====
|
|
146
167
|
|
data/manual/Installation
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
== Installation ==
|
|
2
2
|
|
|
3
|
-
TaskJuggler
|
|
3
|
+
TaskJuggler 3.x is written in [http://www.ruby-lang.org Ruby]. It
|
|
4
4
|
should run on any platform that Ruby is available on. It uses the
|
|
5
5
|
standard Ruby mechanism for distribution, a package format called
|
|
6
6
|
[http://docs.rubygems.org RubyGems].
|
|
7
7
|
|
|
8
|
-
TaskJuggler III is still under development. There is no stable
|
|
9
|
-
version yet. You are welcome to try it. Some users are already using
|
|
10
|
-
it successfully for their purposes, but it might not yet be right for
|
|
11
|
-
you.
|
|
12
|
-
|
|
13
8
|
=== Requirements ===
|
|
14
9
|
|
|
15
10
|
Ruby applications are platform independent. There is no need to
|
|
@@ -38,7 +33,7 @@ developer mailing list.
|
|
|
38
33
|
|
|
39
34
|
==== Other required Software ====
|
|
40
35
|
|
|
41
|
-
* '''Ruby:''' TaskJuggler
|
|
36
|
+
* '''Ruby:''' TaskJuggler 3.x is written in Ruby. You need a Ruby
|
|
42
37
|
runtime environment to run it. This can be downloaded from
|
|
43
38
|
[http://www.ruby-lang.org/en/downloads/ here]. Most Linux
|
|
44
39
|
distributions usually have Ruby already included. So does MacOS X
|
|
@@ -54,7 +49,10 @@ version in parallel with your distribution Ruby.
|
|
|
54
49
|
|
|
55
50
|
* '''RubyGems:''' If it did not come with your OS or the Ruby
|
|
56
51
|
installation, see [http://docs.rubygems.org here] how to get and
|
|
57
|
-
install it.
|
|
52
|
+
install it. RubyGems is a cross-platform package manager. It will
|
|
53
|
+
download and install all other required software packages
|
|
54
|
+
automatically when you install TaskJuggler. These packages are called
|
|
55
|
+
Ruby gems.
|
|
58
56
|
|
|
59
57
|
Other versions of Ruby (Rubinius, JRuby, etc.) may work but have not
|
|
60
58
|
been tested.
|
|
@@ -124,7 +122,7 @@ That's it. You now should be run TaskJuggler.
|
|
|
124
122
|
==== The manual way ====
|
|
125
123
|
|
|
126
124
|
If the easy way doesn't work for you, you need to download and install
|
|
127
|
-
the packages manually. Download TaskJuggler
|
|
125
|
+
the packages manually. Download TaskJuggler gem file from the
|
|
128
126
|
[http://rubygems.org/gems/taskjuggler RubyGems.org] site.
|
|
129
127
|
|
|
130
128
|
A gem package is an operating system and architecture independent
|
|
@@ -150,7 +148,7 @@ following line in your ''''${HOME}/.profile'''' file.
|
|
|
150
148
|
|
|
151
149
|
Windows and MacOS platforms may require similar steps.
|
|
152
150
|
|
|
153
|
-
=== Update from older TaskJuggler
|
|
151
|
+
=== Update from older TaskJuggler 3.x versions ===
|
|
154
152
|
|
|
155
153
|
Updates work just like the installation.
|
|
156
154
|
|
|
@@ -161,13 +159,22 @@ For downloaded or self-built packages use the following command:
|
|
|
161
159
|
gem update pkg/taskjuggler-X.X.X.gem
|
|
162
160
|
|
|
163
161
|
|
|
164
|
-
===
|
|
162
|
+
=== Installing TaskJuggler from the Git Repository ===
|
|
165
163
|
|
|
166
|
-
The following description is for users that want to
|
|
167
|
-
TaskJuggler or want to make improvements. TaskJuggler
|
|
168
|
-
[http://en.wikipedia.org/wiki/Open_source Open Source] software and
|
|
164
|
+
The following description is for developers and users that want to
|
|
165
|
+
learn more about TaskJuggler or want to make improvements. TaskJuggler
|
|
166
|
+
is [http://en.wikipedia.org/wiki/Open_source Open Source] software and
|
|
169
167
|
you are encouraged to read and modify the source code.
|
|
170
168
|
|
|
169
|
+
Before you download the source code, make sure you have all the
|
|
170
|
+
necessary dependencies installed. You should have Ruby 1.9.2 or later
|
|
171
|
+
and you need to have the following gems installed
|
|
172
|
+
|
|
173
|
+
gem install rake mail rspec term-ansicolor rcov
|
|
174
|
+
|
|
175
|
+
rcov is optional, but you must have the other gems and their
|
|
176
|
+
dependencies installed.
|
|
177
|
+
|
|
171
178
|
To get the source code, the recommended way it to check out the
|
|
172
179
|
latest code from the developer repository. To do this, you need to
|
|
173
180
|
have [http://www.kernel.org/pub/software/scm/git/docs/ git] installed.
|
|
@@ -204,7 +211,7 @@ another shell.
|
|
|
204
211
|
# Make sure the shell finds the TaskJuggler programs
|
|
205
212
|
export PATH=${PATH}:${TASKJUGGLER_DIR}/bin
|
|
206
213
|
|
|
207
|
-
=== Quickly switching between various TaskJuggler
|
|
214
|
+
=== Quickly switching between various TaskJuggler 3.x versions ===
|
|
208
215
|
|
|
209
216
|
One of the benefits of using TaskJuggler from the Git repository is
|
|
210
217
|
the ability to get the latest bug fixes. If a bug was reported, it is
|
|
@@ -232,7 +239,7 @@ This will switch to the released version 0.0.10.
|
|
|
232
239
|
|
|
233
240
|
provides you with a list of all tags.
|
|
234
241
|
|
|
235
|
-
TaskJuggler
|
|
242
|
+
TaskJuggler 3.x is written in Ruby. There is no make or build process
|
|
236
243
|
needed. Every code change is effective immediately. The tutorial, the
|
|
237
244
|
manual and some other parts do require a build step.
|
|
238
245
|
|
|
@@ -286,9 +293,10 @@ will be installed into ''''/usr/local/bin''''.
|
|
|
286
293
|
|
|
287
294
|
sudo make install
|
|
288
295
|
|
|
289
|
-
As a final step, you need to install the ''''mail''''
|
|
296
|
+
As a final step, you need to install the ''''mail'''' and
|
|
297
|
+
''''term-ansicolor'''' gems.
|
|
290
298
|
|
|
291
|
-
sudo gem19 install mail
|
|
299
|
+
sudo gem19 install mail term-ansicolor
|
|
292
300
|
|
|
293
301
|
If you don't want to use TaskJuggler from the git repository, you can
|
|
294
302
|
install the TaskJuggler gem as well.
|
data/manual/Intro
CHANGED
|
@@ -40,10 +40,10 @@ that to enter your project data you will use one of the most
|
|
|
40
40
|
versatile and powerful tools there is: your favorite
|
|
41
41
|
[http://en.wikipedia.org/wiki/Text_editor text editor]. To get a
|
|
42
42
|
first impression, you can look at this
|
|
43
|
-
[http://www.taskjuggler.org/tj3/examples/tutorial.tjp project
|
|
44
|
-
project description is fairly intuitive, but very powerful
|
|
45
|
-
The [[Tutorial]] will explain this file line by line. Please
|
|
46
|
-
the [http://www.taskjuggler.org/tj3/examples/Overview.html
|
|
43
|
+
[http://www.taskjuggler.org/tj3/examples/Tutorial/tutorial.tjp project
|
|
44
|
+
file]. The project description is fairly intuitive, but very powerful
|
|
45
|
+
as well. The [[Tutorial]] will explain this file line by line. Please
|
|
46
|
+
look at the [http://www.taskjuggler.org/tj3/examples/Overview.html
|
|
47
47
|
resulting reports] that visualize the project.
|
|
48
48
|
|
|
49
49
|
|
|
@@ -70,46 +70,68 @@ The HTML reports use icons from the
|
|
|
70
70
|
licensed under the [http://www.fsf.org/licenses/lgpl.html GNU Lesser
|
|
71
71
|
General Public License].
|
|
72
72
|
|
|
73
|
-
The HTML reports use Java Script code from
|
|
74
|
-
Walter Zorn]. The code
|
|
75
|
-
[http://www.fsf.org/licenses/lgpl.html GNU
|
|
76
|
-
License].
|
|
73
|
+
The HTML reports use Java Script code from
|
|
74
|
+
[http://www.walterzorn.de/en/tooltip/tooltip_e.htm Walter Zorn]. The code
|
|
75
|
+
is licensed under the [http://www.fsf.org/licenses/lgpl.html GNU
|
|
76
|
+
Lesser General Public License].
|
|
77
|
+
|
|
78
|
+
TaskJuggler does require other software components to operate. These
|
|
79
|
+
components include the Ruby runtime system, operating system libraries
|
|
80
|
+
and other components installed as Ruby gems. We have used great care
|
|
81
|
+
to ensure that all dependencies are compatible with the TaskJuggler
|
|
82
|
+
license and are being used as required by those licenses. But use
|
|
83
|
+
cases may vary and you should check those licenses yourself to ensure
|
|
84
|
+
that you use those components in accordance with their licenses.
|
|
77
85
|
|
|
78
86
|
=== Features and Highlights ===
|
|
79
87
|
|
|
88
|
+
==== Basic Properties ====
|
|
89
|
+
|
|
80
90
|
* Manages tasks, resources and accounts of your project
|
|
91
|
+
* Powerful to-do list management
|
|
92
|
+
* Detailed reference manual
|
|
93
|
+
* Simple installation
|
|
94
|
+
* Runs on all Linux, Unix, Windows, MacOS and several other operating systems
|
|
95
|
+
* Full integration with Vim text editor
|
|
96
|
+
|
|
97
|
+
==== Advanced Scheduling ====
|
|
98
|
+
|
|
81
99
|
* Automatic resource leveling and tasks conflict resolution
|
|
82
|
-
* Comprehensive and flexible reports so you can find the information you need when you need it
|
|
83
|
-
* Project tracking and status reporting with dashboard support
|
|
84
|
-
* Time and status sheet reporting infrastructure
|
|
85
100
|
* Unlimited number of scenarios (baselines) of the same project for what-if analysis
|
|
86
|
-
*
|
|
87
|
-
* Project breakdown and management team support
|
|
88
|
-
* Multiple project managers can work on the same project
|
|
89
|
-
* Flexible working hours and vacation handling
|
|
101
|
+
* Flexible working hours and leave management
|
|
90
102
|
* Support for shift working
|
|
91
103
|
* Multiple time zone support
|
|
104
|
+
|
|
105
|
+
==== Accounting ====
|
|
106
|
+
|
|
92
107
|
* Tasks may have initial costs, finishing costs
|
|
93
|
-
* Resources may have
|
|
94
|
-
*
|
|
95
|
-
analysis
|
|
108
|
+
* Resources may have usage based costs
|
|
109
|
+
* Task and/or resource base cost models
|
|
96
110
|
* Support for profit/loss analysis
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
111
|
+
|
|
112
|
+
==== Reporting ====
|
|
113
|
+
|
|
114
|
+
* Comprehensive and flexible reports so you can find the information you need when you need it
|
|
115
|
+
* Powerful filtering functions to provide the right amount of detail to the right audience
|
|
116
|
+
* Time and status sheet reporting infrastructure
|
|
117
|
+
* Project tracking and status reporting with dashboard support
|
|
118
|
+
|
|
119
|
+
==== Scaling and Enterprise Features ====
|
|
120
|
+
|
|
121
|
+
* Projects can be combined to larger projects
|
|
106
122
|
* Support for central resource allocation database
|
|
123
|
+
* Manages roles and complex reporting lines
|
|
124
|
+
* Powerful project description language with macro support
|
|
107
125
|
* Scales well on multi-core or multi-CPU systems
|
|
108
|
-
*
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
*
|
|
126
|
+
* Support for project management teams and revision control systems
|
|
127
|
+
|
|
128
|
+
==== Web Publishing and Groupware Functions ====
|
|
129
|
+
|
|
130
|
+
* HTML reports for web publishing
|
|
131
|
+
* CSV data export for exchange with popular office software
|
|
132
|
+
* iCalendar export for data exchange with calendar and productivity applications
|
|
133
|
+
* Built-in web server for dynamic and interactive reports
|
|
134
|
+
* Server based time sheet system for status and actual work reporting
|
|
113
135
|
|
|
114
136
|
=== TaskJuggler on the Web ===
|
|
115
137
|
|
|
@@ -117,6 +139,6 @@ The official TaskJuggler web site can be found at
|
|
|
117
139
|
[http://www.taskjuggler.org].
|
|
118
140
|
|
|
119
141
|
Since the developers are mostly busy project managers themselves, we
|
|
120
|
-
have created a [http://www.taskjuggler.org/
|
|
142
|
+
have created a [http://www.taskjuggler.org/contact.html forum] for users
|
|
121
143
|
to help each other.
|
|
122
144
|
|