taskjuggler 3.0.0 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|