taskjuggler 3.6.0 → 3.7.1
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.
- checksums.yaml +5 -5
- data/CHANGELOG +51 -0
- data/data/css/tjreport.css +4 -0
- data/data/tjp.vim +21 -15
- data/examples/ProjectTemplate/template.tjp +7 -7
- data/examples/Tutorial/tutorial.tjp +1 -1
- data/lib/taskjuggler/Allocation.rb +1 -1
- data/lib/taskjuggler/AttributeBase.rb +10 -4
- data/lib/taskjuggler/Attributes.rb +2 -2
- data/lib/taskjuggler/BatchProcessor.rb +1 -1
- data/lib/taskjuggler/Interval.rb +10 -12
- data/lib/taskjuggler/Journal.rb +2 -2
- data/lib/taskjuggler/LogicalFunction.rb +1 -1
- data/lib/taskjuggler/LogicalOperation.rb +7 -4
- data/lib/taskjuggler/MessageHandler.rb +1 -1
- data/lib/taskjuggler/PTNProxy.rb +1 -1
- data/lib/taskjuggler/Project.rb +27 -22
- data/lib/taskjuggler/PropertyList.rb +7 -1
- data/lib/taskjuggler/PropertySet.rb +1 -1
- data/lib/taskjuggler/PropertyTreeNode.rb +5 -3
- data/lib/taskjuggler/Query.rb +3 -3
- data/lib/taskjuggler/RealFormat.rb +1 -1
- data/lib/taskjuggler/Resource.rb +2 -2
- data/lib/taskjuggler/ResourceScenario.rb +37 -5
- data/lib/taskjuggler/RichText/Snip.rb +1 -1
- data/lib/taskjuggler/RuntimeConfig.rb +1 -1
- data/lib/taskjuggler/Scoreboard.rb +5 -2
- data/lib/taskjuggler/Shift.rb +2 -2
- data/lib/taskjuggler/ShiftAssignments.rb +1 -1
- data/lib/taskjuggler/TaskJuggler.rb +4 -4
- data/lib/taskjuggler/TextParser.rb +1 -1
- data/lib/taskjuggler/TextParser/Scanner.rb +3 -3
- data/lib/taskjuggler/TimeSheets.rb +2 -2
- data/lib/taskjuggler/Tj3AppBase.rb +23 -9
- data/lib/taskjuggler/Tj3Config.rb +5 -3
- data/lib/taskjuggler/TjpExample.rb +3 -1
- data/lib/taskjuggler/TjpSyntaxRules.rb +157 -130
- data/lib/taskjuggler/UTF8String.rb +3 -3
- data/lib/taskjuggler/WorkingHours.rb +3 -3
- data/lib/taskjuggler/XMLElement.rb +12 -1
- data/lib/taskjuggler/apps/Tj3.rb +3 -1
- data/lib/taskjuggler/apps/Tj3Client.rb +3 -2
- data/lib/taskjuggler/apps/Tj3Daemon.rb +3 -1
- data/lib/taskjuggler/apps/Tj3Man.rb +4 -2
- data/lib/taskjuggler/apps/Tj3SsReceiver.rb +3 -1
- data/lib/taskjuggler/apps/Tj3SsSender.rb +3 -1
- data/lib/taskjuggler/apps/Tj3TsReceiver.rb +3 -1
- data/lib/taskjuggler/apps/Tj3TsSender.rb +3 -1
- data/lib/taskjuggler/apps/Tj3TsSummary.rb +3 -1
- data/lib/taskjuggler/apps/Tj3WebD.rb +3 -1
- data/lib/taskjuggler/deep_copy.rb +1 -1
- data/lib/taskjuggler/reports/CSVFile.rb +3 -3
- data/lib/taskjuggler/reports/ChartPlotter.rb +1 -1
- data/lib/taskjuggler/reports/GanttChart.rb +8 -2
- data/lib/taskjuggler/reports/GanttHeader.rb +11 -1
- data/lib/taskjuggler/reports/GanttLine.rb +6 -0
- data/lib/taskjuggler/reports/ICalReport.rb +1 -1
- data/lib/taskjuggler/reports/Report.rb +1 -1
- data/lib/taskjuggler/reports/ReportTableCell.rb +1 -1
- data/lib/taskjuggler/reports/TableReport.rb +7 -12
- data/lib/taskjuggler/reports/TjpExportRE.rb +1 -5
- data/lib/taskjuggler/version.rb +1 -0
- data/man/tj3.1 +130 -0
- data/man/tj3client.1 +145 -0
- data/man/tj3d.1 +93 -0
- data/man/tj3man.1 +76 -0
- data/man/tj3ss_receiver.1 +86 -0
- data/man/tj3ss_sender.1 +100 -0
- data/man/tj3ts_receiver.1 +86 -0
- data/man/tj3ts_sender.1 +92 -0
- data/man/tj3ts_summary.1 +104 -0
- data/man/tj3webd.1 +86 -0
- data/manual/Day_To_Day_Juggling +8 -8
- data/manual/Installation +6 -6
- data/manual/List_Attributes +1 -1
- data/manual/Rich_Text_Attributes +6 -5
- data/manual/Software +6 -6
- data/manual/TaskJuggler_Internals +4 -4
- data/manual/The_TaskJuggler_Syntax +5 -5
- data/manual/Tutorial +13 -11
- data/manual/html/Day_To_Day_Juggling.html +9 -9
- data/manual/html/Getting_Started.html +2 -2
- data/manual/html/How_To_Contribute.html +2 -2
- data/manual/html/Installation.html +8 -8
- data/manual/html/Intro.html +2 -2
- data/manual/html/List_Attributes.html +3 -3
- data/manual/html/Reporting_Bugs.html +2 -2
- data/manual/html/Rich_Text_Attributes.html +5 -5
- data/manual/html/Software.html +7 -7
- data/manual/html/TaskJuggler_2x_Migration.html +2 -2
- data/manual/html/TaskJuggler_Internals.html +6 -6
- data/manual/html/The_TaskJuggler_Syntax.html +6 -6
- data/manual/html/Tutorial.html +17 -14
- data/manual/html/account.html +4 -4
- data/manual/html/account.task.html +2 -2
- data/manual/html/accountprefix.html +2 -2
- data/manual/html/accountreport.html +4 -4
- data/manual/html/accountroot.html +3 -3
- data/manual/html/active.html +3 -3
- data/manual/html/adopt.task.html +2 -2
- data/manual/html/aggregate.html +2 -2
- data/manual/html/alert.html +3 -3
- data/manual/html/alertlevels.html +2 -2
- data/manual/html/allocate.html +3 -3
- data/manual/html/alphabet.html +1 -1
- data/manual/html/alternative.html +2 -2
- data/manual/html/author.html +2 -2
- data/manual/html/auxdir.html +2 -2
- data/manual/html/auxdir.report.html +3 -3
- data/manual/html/balance.html +3 -3
- data/manual/html/booking.resource.html +4 -4
- data/manual/html/booking.task.html +4 -4
- data/manual/html/caption.html +3 -3
- data/manual/html/cellcolor.column.html +3 -3
- data/manual/html/celltext.column.html +3 -3
- data/manual/html/center.html +3 -3
- data/manual/html/charge.html +2 -2
- data/manual/html/chargeset.html +2 -2
- data/manual/html/columnid.html +17 -13
- data/manual/html/columns.html +3 -3
- data/manual/html/complete.html +2 -2
- data/manual/html/copyright.html +2 -2
- data/manual/html/credits.html +2 -2
- data/manual/html/css/tjreport.css +4 -0
- data/manual/html/currency.html +2 -2
- data/manual/html/currencyformat.html +4 -4
- data/manual/html/dailymax.html +2 -2
- data/manual/html/dailymin.html +3 -3
- data/manual/html/dailyworkinghours.html +2 -2
- data/manual/html/date.extend.html +2 -2
- data/manual/html/date.html +5 -5
- data/manual/html/definitions.html +4 -4
- data/manual/html/depends.html +4 -4
- data/manual/html/details.html +2 -2
- data/manual/html/disabled.html +2 -2
- data/manual/html/duration.html +2 -2
- data/manual/html/efficiency.html +3 -3
- data/manual/html/effort.html +2 -2
- data/manual/html/effortdone.html +2 -2
- data/manual/html/effortleft.html +2 -2
- data/manual/html/email.html +2 -2
- data/manual/html/enabled.html +2 -2
- data/manual/html/end.column.html +3 -3
- data/manual/html/end.html +4 -4
- data/manual/html/end.limit.html +2 -2
- data/manual/html/end.report.html +3 -3
- data/manual/html/end.timesheet.html +3 -3
- data/manual/html/endcredit.html +3 -3
- data/manual/html/epilog.html +3 -3
- data/manual/html/export.html +4 -4
- data/manual/html/extend.html +3 -3
- data/manual/html/fail.html +3 -3
- data/manual/html/fdl.html +2 -2
- data/manual/html/flags.account.html +2 -2
- data/manual/html/flags.html +2 -2
- data/manual/html/flags.journalentry.html +2 -2
- data/manual/html/flags.report.html +3 -3
- data/manual/html/flags.resource.html +2 -2
- data/manual/html/flags.statussheet.html +2 -2
- data/manual/html/flags.task.html +2 -2
- data/manual/html/flags.timesheet.html +2 -2
- data/manual/html/fontcolor.column.html +3 -3
- data/manual/html/footer.html +3 -3
- data/manual/html/formats.export.html +3 -3
- data/manual/html/formats.html +4 -4
- data/manual/html/functions.html +5 -5
- data/manual/html/gapduration.html +2 -2
- data/manual/html/gaplength.html +2 -2
- data/manual/html/halign.center.html +2 -2
- data/manual/html/halign.column.html +3 -3
- data/manual/html/halign.left.html +2 -2
- data/manual/html/halign.right.html +2 -2
- data/manual/html/hasalert.html +2 -2
- data/manual/html/header.html +3 -3
- data/manual/html/headline.html +3 -3
- data/manual/html/height.html +4 -4
- data/manual/html/hideaccount.html +4 -4
- data/manual/html/hidejournalentry.html +3 -3
- 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 +9 -3
- data/manual/html/include.macro.html +3 -3
- data/manual/html/include.project.html +3 -3
- data/manual/html/include.properties.html +3 -3
- data/manual/html/index.html +1 -1
- 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 +2 -2
- data/manual/html/interval4.html +2 -2
- data/manual/html/isactive.html +2 -2
- data/manual/html/ischildof.html +2 -2
- data/manual/html/isdependencyof.html +2 -2
- data/manual/html/isdutyof.html +2 -2
- data/manual/html/isfeatureof.html +2 -2
- data/manual/html/isleaf.html +2 -2
- data/manual/html/ismilestone.html +2 -2
- data/manual/html/isongoing.html +3 -3
- data/manual/html/isresource.html +2 -2
- data/manual/html/isresponsibilityof.html +2 -2
- data/manual/html/istask.html +2 -2
- data/manual/html/isvalid.html +2 -2
- data/manual/html/journalattributes.html +3 -3
- data/manual/html/journalentry.html +3 -3
- data/manual/html/journalmode.html +4 -4
- data/manual/html/leaveallowance.html +3 -3
- data/manual/html/leaves.html +3 -3
- data/manual/html/left.html +3 -3
- data/manual/html/length.html +3 -3
- data/manual/html/limits.allocate.html +2 -2
- data/manual/html/limits.html +2 -2
- data/manual/html/limits.resource.html +2 -2
- data/manual/html/limits.task.html +2 -2
- data/manual/html/listitem.column.html +3 -3
- data/manual/html/listtype.column.html +2 -2
- data/manual/html/loadunit.html +3 -3
- data/manual/html/logicalexpression.html +4 -4
- data/manual/html/logicalflagexpression.html +4 -4
- data/manual/html/macro.html +4 -4
- data/manual/html/managers.html +2 -2
- data/manual/html/mandatory.html +4 -4
- data/manual/html/markdate.html +69 -0
- data/manual/html/maxend.html +4 -4
- data/manual/html/maximum.html +2 -2
- data/manual/html/maxstart.html +2 -2
- data/manual/html/milestone.html +3 -3
- data/manual/html/minend.html +2 -2
- data/manual/html/minimum.html +2 -2
- data/manual/html/minstart.html +2 -2
- data/manual/html/monthlymax.html +2 -2
- data/manual/html/monthlymin.html +3 -3
- data/manual/html/navbar.html +5 -1
- data/manual/html/navigator.html +2 -2
- data/manual/html/newtask.html +3 -3
- data/manual/html/nikureport.html +2 -2
- data/manual/html/note.task.html +4 -4
- data/manual/html/novevents.html +68 -0
- data/manual/html/now.html +4 -4
- data/manual/html/number.extend.html +2 -2
- data/manual/html/numberformat.html +3 -3
- data/manual/html/onend.html +2 -2
- data/manual/html/onstart.html +2 -2
- data/manual/html/opennodes.html +3 -3
- data/manual/html/outputdir.html +3 -3
- data/manual/html/overtime.booking.html +2 -2
- data/manual/html/period.column.html +2 -2
- data/manual/html/period.limit.html +2 -2
- data/manual/html/period.report.html +3 -3
- data/manual/html/period.task.html +2 -2
- data/manual/html/persistent.html +3 -3
- data/manual/html/precedes.html +5 -5
- data/manual/html/priority.html +4 -4
- data/manual/html/priority.timesheet.html +3 -3
- data/manual/html/project.html +4 -4
- data/manual/html/projectid.html +2 -2
- data/manual/html/projectid.task.html +3 -3
- data/manual/html/projectids.html +2 -2
- data/manual/html/projection.html +2 -2
- data/manual/html/prolog.html +3 -3
- data/manual/html/properties.html +3 -3
- data/manual/html/purge.html +3 -3
- data/manual/html/rate.html +2 -2
- data/manual/html/rate.resource.html +2 -2
- data/manual/html/rawhtmlhead.html +4 -4
- data/manual/html/reference.extend.html +2 -2
- data/manual/html/remaining.html +3 -3
- data/manual/html/replace.html +2 -2
- data/manual/html/reportprefix.html +2 -2
- data/manual/html/resource.html +3 -3
- data/manual/html/resourceattributes.html +2 -2
- data/manual/html/resourceprefix.html +2 -2
- data/manual/html/resourcereport.html +5 -5
- data/manual/html/resourceroot.html +4 -4
- data/manual/html/resources.limit.html +2 -2
- data/manual/html/responsible.html +2 -2
- data/manual/html/richtext.extend.html +2 -2
- data/manual/html/right.html +3 -3
- data/manual/html/rollupaccount.html +4 -4
- data/manual/html/rollupresource.html +4 -4
- data/manual/html/rolluptask.html +4 -4
- data/manual/html/scale.column.html +2 -2
- data/manual/html/scenario.html +3 -3
- data/manual/html/scenario.ical.html +3 -3
- data/manual/html/scenarios.export.html +2 -2
- data/manual/html/scenarios.html +3 -3
- data/manual/html/scenariospecific.extend.html +2 -2
- data/manual/html/scheduled.html +2 -2
- data/manual/html/scheduling.html +6 -6
- data/manual/html/schedulingmode.html +2 -2
- data/manual/html/select.html +4 -4
- data/manual/html/selfcontained.html +3 -3
- data/manual/html/shift.allocate.html +2 -2
- data/manual/html/shift.html +3 -3
- data/manual/html/shift.resource.html +4 -4
- data/manual/html/shift.task.html +2 -2
- data/manual/html/shift.timesheet.html +2 -2
- data/manual/html/shifts.allocate.html +2 -2
- data/manual/html/shifts.resource.html +2 -2
- data/manual/html/shifts.task.html +3 -3
- data/manual/html/shorttimeformat.html +3 -3
- data/manual/html/sloppy.booking.html +2 -2
- data/manual/html/sloppy.projection.html +2 -2
- data/manual/html/sortaccounts.html +3 -3
- data/manual/html/sortjournalentries.html +3 -3
- data/manual/html/sortresources.html +3 -3
- data/manual/html/sorttasks.html +3 -3
- data/manual/html/start.column.html +3 -3
- data/manual/html/start.html +4 -4
- data/manual/html/start.limit.html +2 -2
- data/manual/html/start.report.html +3 -3
- data/manual/html/startcredit.html +3 -3
- data/manual/html/status.statussheet.html +2 -2
- data/manual/html/status.timesheet.html +2 -2
- data/manual/html/statussheet.html +2 -2
- data/manual/html/statussheetreport.html +3 -3
- data/manual/html/strict.projection.html +2 -2
- data/manual/html/summary.html +2 -2
- data/manual/html/supplement.html +2 -2
- data/manual/html/supplement.resource.html +2 -2
- data/manual/html/supplement.task.html +2 -2
- 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 +2 -2
- data/manual/html/taskattributes.html +2 -2
- data/manual/html/taskprefix.html +2 -2
- data/manual/html/taskreport.html +5 -5
- data/manual/html/taskroot.export.html +2 -2
- data/manual/html/taskroot.html +3 -3
- data/manual/html/text.extend.html +2 -2
- data/manual/html/textreport.html +5 -5
- data/manual/html/timeformat.html +4 -4
- data/manual/html/timeformat1.html +2 -2
- data/manual/html/timeformat2.html +2 -2
- data/manual/html/timeoff.nikureport.html +2 -2
- data/manual/html/timesheet.html +3 -3
- data/manual/html/timesheetreport.html +3 -3
- data/manual/html/timezone.export.html +2 -2
- data/manual/html/timezone.html +2 -2
- data/manual/html/timezone.report.html +3 -3
- data/manual/html/timezone.shift.html +2 -2
- data/manual/html/timingresolution.html +2 -2
- data/manual/html/title.column.html +2 -2
- data/manual/html/title.html +3 -3
- data/manual/html/toc.html +157 -143
- data/manual/html/tooltip.column.html +3 -3
- data/manual/html/tracereport.html +8 -8
- data/manual/html/trackingscenario.html +3 -3
- data/manual/html/treelevel.html +2 -2
- data/manual/html/vacation.html +2 -2
- data/manual/html/vacation.resource.html +2 -2
- data/manual/html/vacation.shift.html +2 -2
- data/manual/html/warn.html +4 -4
- data/manual/html/weeklymax.html +2 -2
- data/manual/html/weeklymin.html +3 -3
- data/manual/html/weekstartsmonday.html +2 -2
- data/manual/html/weekstartssunday.html +2 -2
- data/manual/html/width.column.html +2 -2
- data/manual/html/width.html +4 -4
- data/manual/html/work.html +3 -3
- data/manual/html/workinghours.project.html +3 -3
- data/manual/html/workinghours.resource.html +2 -2
- data/manual/html/workinghours.shift.html +2 -2
- data/manual/html/yearlyworkingdays.html +2 -2
- data/spec/ProjectBroker_spec.rb +6 -6
- data/spec/StatusSheets_spec.rb +1 -1
- data/spec/TimeSheets_spec.rb +1 -1
- data/taskjuggler.gemspec +7 -7
- data/tasks/changelog.rake +2 -0
- data/tasks/gem.rake +3 -0
- data/tasks/help2man.rake +18 -0
- data/tasks/kate.rake +2 -0
- data/tasks/manual.rake +2 -0
- data/tasks/test.rake +5 -0
- data/tasks/vim.rake +2 -0
- data/test/TestSuite/Export-Reports/refs/AccountReport.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/AdoptedTasks.tjp +0 -2
- data/test/TestSuite/Export-Reports/refs/AlertLevels.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Allocate-1.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/AutoID.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/AutoMacros.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Currencyformat.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/CustomAttributes.tjp +0 -2
- data/test/TestSuite/Export-Reports/refs/Depends1.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Durations.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Efficiency.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Gap.tjp +0 -3
- data/test/TestSuite/Export-Reports/refs/Include.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Journal.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Macro-1.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +0 -2
- data/test/TestSuite/Export-Reports/refs/Macro-3.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Manager.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Milestone.tjp +0 -2
- data/test/TestSuite/Export-Reports/refs/Numberformat.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Precedes1.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Project.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/ProjectIDs.tjp +0 -3
- data/test/TestSuite/Export-Reports/refs/Reports.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Resource.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/ResourceRoot.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/RollupResource.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Scenario.tjp +0 -2
- data/test/TestSuite/Export-Reports/refs/Timezone.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/Vacation.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/navigator.tjp +0 -4
- data/test/TestSuite/Export-Reports/refs/template.tjp +0 -6
- data/test/TestSuite/Export-Reports/refs/textreport.tjp +0 -1
- data/test/TestSuite/Export-Reports/refs/tutorial.tjp +0 -8
- data/test/TestSuite/Syntax/Correct/Booking.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Currencyformat.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +5 -0
- data/test/test_ProjectFileScanner.rb +8 -8
- metadata +43 -10
data/man/tj3webd.1
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.5.
|
2
|
+
.TH TJ3WEBD "1" "March 2020" "tj3webd (TaskJuggler) 3.7.1" "TaskJuggler"
|
3
|
+
.SH NAME
|
4
|
+
tj3webd \- TaskJuggler reports web server
|
5
|
+
.SH SYNOPSIS
|
6
|
+
.B tj3webd
|
7
|
+
[\fI\,options\/\fR]
|
8
|
+
.SH DESCRIPTION
|
9
|
+
The TaskJuggler web server can be used to serve the HTTP reports of
|
10
|
+
TaskJuggler projects to be viewed by any HTML5 compliant web browser. It uses
|
11
|
+
the TaskJuggler daemon (tj3d) for data hosting and report generation.
|
12
|
+
.SH OPTIONS
|
13
|
+
.TP
|
14
|
+
\fB\-c\fR, \fB\-\-config\fR <FILE>
|
15
|
+
Use the specified YAML configuration file
|
16
|
+
.TP
|
17
|
+
\fB\-\-silent\fR
|
18
|
+
Don't show program and progress information
|
19
|
+
.TP
|
20
|
+
\fB\-\-no\-color\fR
|
21
|
+
Don't use ANSI contol sequences to color the
|
22
|
+
terminal output. Colors should only be used when
|
23
|
+
spooling to an ANSI terminal. In case the detection
|
24
|
+
fails, you can use this option to force colors to
|
25
|
+
be off.
|
26
|
+
.TP
|
27
|
+
\fB\-\-debug\fR
|
28
|
+
Enable Ruby debug mode
|
29
|
+
.TP
|
30
|
+
\fB\-d\fR, \fB\-\-dont\-daemonize\fR
|
31
|
+
Don't put program into daemon mode. Keep it
|
32
|
+
connected to the terminal and show debug output.
|
33
|
+
.TP
|
34
|
+
\fB\-p\fR, \fB\-\-port\fR <NUMBER>
|
35
|
+
Use the specified TCP/IP port to connect to the
|
36
|
+
TaskJuggler daemon (Default: 8474).
|
37
|
+
.TP
|
38
|
+
\fB\-\-pidfile\fR <FILE NAME>
|
39
|
+
Write the process ID of the daemon to the specified
|
40
|
+
file.
|
41
|
+
.TP
|
42
|
+
\fB\-\-logfile\fR <FILE NAME>
|
43
|
+
Log daemon messages to the specified file.
|
44
|
+
.TP
|
45
|
+
\fB\-\-urifile\fR <FILE NAME>
|
46
|
+
If the port is 0, use this file to read the URI of
|
47
|
+
the TaskJuggler daemon.
|
48
|
+
.TP
|
49
|
+
\fB\-\-webserver\-port\fR <NUMBER>
|
50
|
+
Use the specified TCP/IP port to serve web browser
|
51
|
+
requests (Default: 8080).
|
52
|
+
.TP
|
53
|
+
\fB\-h\fR, \fB\-\-help\fR
|
54
|
+
Show this message
|
55
|
+
.TP
|
56
|
+
\fB\-\-version\fR
|
57
|
+
Show version info
|
58
|
+
.SH ENVIRONMENT
|
59
|
+
|
60
|
+
.TP
|
61
|
+
\fBHOME\fR
|
62
|
+
The user's home folder. Used to search for configuration file if not specified.
|
63
|
+
.SH FILES
|
64
|
+
|
65
|
+
.TP
|
66
|
+
\fB.taskjugglerrc\fR or \fBtaskjuggler.rc\fR
|
67
|
+
tj3d searches for a config file named .taskjugglerrc or taskjuggler.rc in the current path, the user's home path as specified by the HOME environment variable or /etc/. At a minimum the file must contain:
|
68
|
+
|
69
|
+
_global:
|
70
|
+
authKey: ********
|
71
|
+
|
72
|
+
(the user should specify their own auth key and set file permissions accordingly). An alternative config file location may be specified using the -c, --config FILE option.
|
73
|
+
.SH COPYRIGHT
|
74
|
+
Copyright \(co 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020
|
75
|
+
.IP
|
76
|
+
by Chris Schlaeger <cs@taskjuggler.org>
|
77
|
+
.PP
|
78
|
+
This program is free software; you can redistribute it and/or modify it under
|
79
|
+
the terms of version 2 of the GNU General Public License as published by the
|
80
|
+
Free Software Foundation.
|
81
|
+
.PP
|
82
|
+
For more info about TaskJuggler see http://www.taskjuggler.org
|
83
|
+
.SH "SEE ALSO"
|
84
|
+
tj3d(1)
|
85
|
+
|
86
|
+
The full TaskJuggler manual is available online at http://www.taskjuggler.org/tj3/manual/, or via the tj3man command.
|
data/manual/Day_To_Day_Juggling
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
To analyze the impact that a small variation can have on a project,
|
6
6
|
TaskJuggler supports an unlimited amount of scenarios. Each
|
7
|
-
additional scenario is a slight derivation of
|
7
|
+
additional scenario is a slight derivation of it's parent. The
|
8
8
|
task tree structure needs to be the same for all scenarios, but most
|
9
9
|
attributes can vary from one scenario to another. Several report
|
10
10
|
types support comparative listing of multiple [[scenarios]].
|
@@ -223,12 +223,12 @@ missing time sheets and will send out a reminder to those
|
|
223
223
|
contributors that have not submitted their report.
|
224
224
|
|
225
225
|
# On Monday the project managers need to review the time sheets and
|
226
|
-
update the plan accordingly. TaskJuggler can compile a list changes
|
226
|
+
update the plan accordingly. TaskJuggler can compile a list of changes
|
227
227
|
compared to the plan. This makes it easy to update the plan according
|
228
228
|
to the actual progress that was made. The closer the actuals match the
|
229
229
|
plan the less work this is. The project managers now generate
|
230
230
|
bookings for the last week and add them to the database with previous
|
231
|
-
bookings. Doing so
|
231
|
+
bookings. Doing so will prevent changes to the plan to affect the
|
232
232
|
past. Only the future will be modified.
|
233
233
|
|
234
234
|
# Once the plan has been updated, managers will receive their status
|
@@ -696,7 +696,7 @@ by the scheduler according to your provided constraints.
|
|
696
696
|
|
697
697
|
When you run ''''tj3 --freeze'''' again, it will update the header
|
698
698
|
and booking files. Since you have included your booking file, any
|
699
|
-
modifications you have made
|
699
|
+
modifications you have made will be preserved. That is, the actual
|
700
700
|
data will be preserved, not the formatting since the file will be
|
701
701
|
completely re-generated again.
|
702
702
|
|
@@ -722,11 +722,11 @@ is generated by the ''''tj3ss_sender'''' program and is called a status
|
|
722
722
|
report template. Each manager will get one template that includes the
|
723
723
|
status reports for the tasks they are responsible for.
|
724
724
|
|
725
|
-
It's
|
725
|
+
It's the managers task to prepare the report for the next level
|
726
726
|
of management. To do this, the manager has 3 options:
|
727
727
|
|
728
728
|
* Forward the status report of a task directly to the next level. The
|
729
|
-
original authorship can be
|
729
|
+
original authorship can be kept or removed. The content can also be
|
730
730
|
edited if needed.
|
731
731
|
|
732
732
|
* Similar reports for a task or a whole task sub-tree can be combined
|
@@ -747,7 +747,7 @@ created.
|
|
747
747
|
==== The Status Sheet Template Sender ====
|
748
748
|
|
749
749
|
To send out the time sheets, the command ''''tj3ts_sender'''' must be
|
750
|
-
used. It will use the ''''tj3client'''' program to
|
750
|
+
used. It will use the ''''tj3client'''' program to retrieve the
|
751
751
|
necessary data from the TaskJuggler server.
|
752
752
|
|
753
753
|
Before the program can be used, a new section must be added to the
|
@@ -813,7 +813,7 @@ the resource selection and end date.
|
|
813
813
|
|
814
814
|
==== The Status Sheet Receiver ====
|
815
815
|
|
816
|
-
Similarly to the time sheets
|
816
|
+
Similarly to the time sheets, the completed status sheets must be
|
817
817
|
send back by email. We already described how the necessary email
|
818
818
|
aliases should be configured. For status sheets the address
|
819
819
|
''''statussheets@taskjuggler.your_company.com'''' can be used.
|
data/manual/Installation
CHANGED
@@ -88,7 +88,7 @@ If you don't want to install TaskJuggler for all users on the system,
|
|
88
88
|
you can also install it into your home or data directory. This does
|
89
89
|
not require root or admin permissions.
|
90
90
|
|
91
|
-
The following steps
|
91
|
+
The following steps describe the installation on a Linux system
|
92
92
|
with the bash shell. You may have to use slightly different commands
|
93
93
|
on a different operating system.
|
94
94
|
|
@@ -119,7 +119,7 @@ Configure gem to find the installed files.
|
|
119
119
|
The last two settings should also be added to your .profile file to
|
120
120
|
make them permanent.
|
121
121
|
|
122
|
-
That's it. You now should
|
122
|
+
That's it. You now should run TaskJuggler.
|
123
123
|
|
124
124
|
tj3 --version
|
125
125
|
|
@@ -187,7 +187,7 @@ Then checkout the source code with the following command
|
|
187
187
|
|
188
188
|
git clone git@github.com/taskjuggler/TaskJuggler.git
|
189
189
|
|
190
|
-
Make sure
|
190
|
+
Make sure you have removed all previously installed instances of
|
191
191
|
TaskJuggler from your system before doing so. It is a common mistake
|
192
192
|
to have an old version of the TaskJuggler installed and then use parts
|
193
193
|
of the old and new version together.
|
@@ -323,7 +323,7 @@ Log out and back in again. Now
|
|
323
323
|
|
324
324
|
which ruby
|
325
325
|
|
326
|
-
should
|
326
|
+
should return the path to the link to your
|
327
327
|
''''${HOME}/bin/ruby''''. You now have the latest Ruby installed and
|
328
328
|
are ready to use TaskJuggler.
|
329
329
|
|
@@ -343,7 +343,7 @@ TaskJuggler can be used with any text editor that supports UTF-8 text
|
|
343
343
|
file editing. If you don't have a preference yet, we recommend to try
|
344
344
|
the [http://www.vim.org Vim] text editor. It's a very powerful editor
|
345
345
|
and it has been customized for better integration with TaskJuggler.
|
346
|
-
This section describes
|
346
|
+
This section describes how to activate and use the Vim integration.
|
347
347
|
Vim is provided by pretty much any Linux distribution and also works
|
348
348
|
well on MacOX and Windows. See the web page for how to install it if
|
349
349
|
you don't have it yet.
|
@@ -366,7 +366,7 @@ you may have to modify it accordingly.
|
|
366
366
|
|
367
367
|
cp `gem contents taskjuggler | fgrep tjp.vim` .vim/syntax
|
368
368
|
|
369
|
-
Now we have to make sure
|
369
|
+
Now we have to make sure Vim detects the file. Edit the
|
370
370
|
''''.vim/filetype.vim'''' file to contain the following section.
|
371
371
|
|
372
372
|
augroup filetypedetect
|
data/manual/List_Attributes
CHANGED
@@ -29,7 +29,7 @@ In this example, task ''''T3'''' has the flags ''''f1'''' and
|
|
29
29
|
''''f2'''' assigned.
|
30
30
|
|
31
31
|
The same works for scenarios as well. Even though the syntax may not
|
32
|
-
look like inheritance is at play the scenario ''''s2'''' inherits all
|
32
|
+
look like inheritance is at play, the scenario ''''s2'''' inherits all
|
33
33
|
values from ''''s1''''.
|
34
34
|
|
35
35
|
<[example file="ListAttributes" tag="scenario"]>
|
data/manual/Rich_Text_Attributes
CHANGED
@@ -126,7 +126,7 @@ in nowiki tags.
|
|
126
126
|
You can also insert raw HTML code by enclosing it in
|
127
127
|
'''<nowiki><html>...</html></nowiki>''' tags. For all other output
|
128
128
|
formats, this content will be ignored. There is also no error checking
|
129
|
-
|
129
|
+
whether the code is valid! Use this feature very carefully.
|
130
130
|
|
131
131
|
==== Block and Inline Generators ====
|
132
132
|
|
@@ -179,12 +179,13 @@ Parameters:
|
|
179
179
|
|
180
180
|
* ''''attributes'''': A set of attributes that override the original
|
181
181
|
attributes of the referenced report. All report attributes
|
182
|
-
are supported. Since the
|
182
|
+
are supported. Since the values of attributes already must be enclosed
|
183
183
|
by single or double quotes, all single or double quotes contained in
|
184
184
|
the string must be escaped with backslashes. This feature enables
|
185
185
|
reports with content that is customized based on where they have been
|
186
186
|
referenced from. It requires the reports to be dynamically generated
|
187
|
-
and is only available when used with the ''''tj3d'''' web server
|
187
|
+
and is only available when used with the ''''tj3d'''' web server
|
188
|
+
''''tj3webd''''.
|
188
189
|
The ''''tj3'''' application will ignore the attributes setting.
|
189
190
|
|
190
191
|
taskreport "All" {
|
@@ -254,8 +255,8 @@ is used, certain or all of the above parameters have already
|
|
254
255
|
predefined values. When used in the header section of a report, the
|
255
256
|
context does not provide a property or scope property. Start and end
|
256
257
|
dates as well the formatting options are taken from the report
|
257
|
-
context. But when used e. g. in [[celltext.column]] the cell
|
258
|
-
provides
|
258
|
+
context. But when used e. g. in [[celltext.column]], the cell
|
259
|
+
provides that property and the attribute and possibly even the scope
|
259
260
|
property.
|
260
261
|
|
261
262
|
|
data/manual/Software
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
== The TaskJuggler Software ==
|
2
2
|
|
3
|
-
After the installation of a software package the first
|
3
|
+
After the installation of a software package the first question that
|
4
4
|
most users have is ''"How do I run it?"''. Many users expect to find
|
5
5
|
an icon on their desktop or an entry in the start menu hierarchy.
|
6
6
|
Don't bother looking for them, you won't find any for TaskJuggler. As
|
@@ -80,7 +80,7 @@ in your web browser.
|
|
80
80
|
|
81
81
|
The latter defaults to using the
|
82
82
|
[http://www.mozilla.com/en-US/firefox/new/ Mozilla Firefox] web
|
83
|
-
browser
|
83
|
+
browser. Please see
|
84
84
|
|
85
85
|
tj3man --help
|
86
86
|
|
@@ -102,12 +102,12 @@ Linux lingo. The program is called ''''tj3d''''. When started, it
|
|
102
102
|
automatically disconnects from the terminal and runs in the
|
103
103
|
background. All interactions with the server are done via the TCP/IP
|
104
104
|
protocol. For security reasons, only connections from the same
|
105
|
-
machine (localhost) are accepted. To get access all clients must
|
105
|
+
machine (localhost) are accepted. To get access, all clients must
|
106
106
|
provide an authentication key. A TaskJuggler server can serve any
|
107
107
|
number of projects. Once a project has been loaded successfully,
|
108
108
|
clients can retrieve the data in form of reports. Projects are
|
109
109
|
identified by their project ID. If a newly added project has the same
|
110
|
-
ID
|
110
|
+
ID as an already loaded project, the new project will replace
|
111
111
|
the old project once it was scheduled successfully. Before you start
|
112
112
|
the server, you need to provide a configuration file with some basic
|
113
113
|
settings.
|
@@ -147,7 +147,7 @@ configuration option controls the amount of details to be printed out.
|
|
147
147
|
* 3: Like 2, but additionally with information messages
|
148
148
|
* 4: Like 3, but additionally with debug messages
|
149
149
|
|
150
|
-
The configuration file will be searched in the current directory,
|
150
|
+
The configuration file will be searched for in the current directory,
|
151
151
|
the current user's home directory or ''''/etc''''. You can also
|
152
152
|
explicitly tell the server where to find the configuration file with
|
153
153
|
the ''''-c'''' option. See
|
@@ -210,7 +210,7 @@ changed in the ''''_global'''' section of the config file.
|
|
210
210
|
authKey: topsecret
|
211
211
|
webServerPort: 8080
|
212
212
|
|
213
|
-
To access the HTML reports point your web browser to
|
213
|
+
To access the HTML reports, point your web browser to
|
214
214
|
''''http://localhost:8080/taskjuggler''''. This assumes that the
|
215
215
|
server is running on your local machine. You will then see a list of
|
216
216
|
all loaded projects. Click on the project name to get a list of all
|
@@ -26,7 +26,7 @@ github].
|
|
26
26
|
The scheduler needs to determine the start and end date for all tasks
|
27
27
|
that don't have such dates yet. To deal with multiple concurrent time
|
28
28
|
zones, all time related events are stored internally as UTC
|
29
|
-
time.Additionally, it allocates resources to tasks. All events such
|
29
|
+
time. Additionally, it allocates resources to tasks. All events such
|
30
30
|
as start or end of a task, or allocation of a resource can only happen
|
31
31
|
aligned with the [[timingresolution|timing resolution]]. This
|
32
32
|
determines the smallest possible allocation period that we call a time
|
@@ -57,7 +57,7 @@ are scheduled from end to start.
|
|
57
57
|
resources have been assigned for all time slots.
|
58
58
|
|
59
59
|
The goal of the scheduler is to transfer all tasks in the completed
|
60
|
-
state. Until this goal has been reached, at least one
|
60
|
+
state. Until this goal has been reached, at least one task needs to
|
61
61
|
be in the ready state. If that's not the case, the project schedule
|
62
62
|
cannot be determined and an error is raised. In case there are more
|
63
63
|
than one task in the ready state, we need to have a well defined
|
@@ -103,7 +103,7 @@ that is going through a task, the sum of the criticalness values of
|
|
103
103
|
the tasks of the path is computed. The largest sum is the path
|
104
104
|
criticalness of that task.
|
105
105
|
|
106
|
-
This heuristic will favor allocations to
|
106
|
+
This heuristic will favor allocations to tasks with critical resources
|
107
107
|
and long dependency chains. As a result, the critical paths of the
|
108
108
|
project are tried to be kept short. The user can use the
|
109
109
|
'''criticalness''' and '''pathcriticalness''' [[columnid|columns]] to
|
@@ -111,7 +111,7 @@ review the respective values for he project's tasks and resources.
|
|
111
111
|
|
112
112
|
When the criticalness and pathcriticalness for all leaf resources and
|
113
113
|
tasks has been determined, the leaf tasks are sorted by priority
|
114
|
-
(
|
114
|
+
(high to low), then by pathcricialness (high to low) and then by the
|
115
115
|
index (low to high). In a loop that is terminated when all tasks have
|
116
116
|
been scheduled or an error condition has been detected, the first
|
117
117
|
task that is ready for scheduling is completely scheduled. This means
|
@@ -34,7 +34,7 @@ options separated by a vertical bar.
|
|
34
34
|
keyword ( foo | bar | foobar )
|
35
35
|
|
36
36
|
Some keywords take one or more arguments. These are known as list
|
37
|
-
attributes. The arguments are comma separated. The
|
37
|
+
attributes. The arguments are comma separated. The three dots in the
|
38
38
|
syntax description mean that the sequence before the dots can be
|
39
39
|
repeated if needed. Inheritable list attributes will append the new
|
40
40
|
list values to the inherited list. Use can use the [[purge]]
|
@@ -73,7 +73,7 @@ An integer is any natural number, e. g. ''''0'''', ''''1'''',
|
|
73
73
|
|
74
74
|
Strings are character sequences that are enclosed by special
|
75
75
|
character marks. There are three different marks supported. For
|
76
|
-
short strings that fit on one
|
76
|
+
short strings that fit on one line, you can either use single or
|
77
77
|
double quotes.
|
78
78
|
|
79
79
|
'This is a single quoted string.'
|
@@ -112,7 +112,7 @@ exact same combination of tabs and spaces.
|
|
112
112
|
=== Predefined Macros ===
|
113
113
|
|
114
114
|
TaskJuggler supports a few predefined macros. These are available
|
115
|
-
after the project header.
|
115
|
+
after the project header. Their values correspond to the values
|
116
116
|
provided in the project header.
|
117
117
|
|
118
118
|
* ''''projectstart'''' The start date of the project.
|
@@ -128,6 +128,6 @@ the [[timeformat]] setting of the current context.
|
|
128
128
|
=== Environment Variable Expansions ===
|
129
129
|
|
130
130
|
By using the $(VAR) syntax, you can insert the value of the
|
131
|
-
environment variable name VAR. The name of the variable must
|
132
|
-
only of uppercase ASCII letters,
|
131
|
+
environment variable name VAR. The name of the variable must consist
|
132
|
+
only of uppercase ASCII letters, underscores or decimal digits.
|
133
133
|
|
data/manual/Tutorial
CHANGED
@@ -13,7 +13,7 @@ grow larger. The complete tutorial example comes with your
|
|
13
13
|
TaskJuggler software installation. You can use the following command
|
14
14
|
to find the base directory of the example projects.
|
15
15
|
|
16
|
-
|
16
|
+
ruby -e "puts Gem::Specification.find_by_name('taskjuggler').gem_dir"
|
17
17
|
|
18
18
|
The file for the tutorial project is called
|
19
19
|
''''examples/Tutorial/tutorial.tjp''''. You can use any plain text
|
@@ -31,7 +31,7 @@ will result in longer scheduling times and higher memory consumption.
|
|
31
31
|
|
32
32
|
<[example file="tutorial" tag="header1"]>
|
33
33
|
|
34
|
-
All TaskJuggler properties have a unique ID
|
34
|
+
All TaskJuggler properties have a unique ID, a name, and a set of
|
35
35
|
optional attributes. The name must always be specified. The ID can be
|
36
36
|
omitted if you never have to reference the property from another
|
37
37
|
context. If you omit the ID, TaskJuggler will automatically generate a
|
@@ -75,7 +75,7 @@ The [[currency]] attribute specifies the unit of all currency values.
|
|
75
75
|
<[example file="tutorial" tag="currency"]>
|
76
76
|
|
77
77
|
Because each culture has its own way of specifying dates and numbers,
|
78
|
-
the format for these
|
78
|
+
the format for these is configurable. Use the [[timeformat]]
|
79
79
|
attribute to specify the default format for dates. This format is used
|
80
80
|
for reports, it does not affect the way you specify dates in the
|
81
81
|
project files. Here you always need to use the [[date|TaskJuggler date
|
@@ -148,7 +148,7 @@ does not do any resource assignments to tasks.
|
|
148
148
|
|
149
149
|
Use the [[leaves]] attribute to define a global holiday. Global
|
150
150
|
holidays may have a name and must have a date or date range. Other leaves for
|
151
|
-
individual resources or groups of resources can be
|
151
|
+
individual resources or groups of resources can be defined similarly.
|
152
152
|
|
153
153
|
=== Macros ===
|
154
154
|
|
@@ -189,6 +189,8 @@ In order not to get lost with all the various amounts, we declare 3
|
|
189
189
|
[[account|accounts]] to credit the amounts to. We create one account
|
190
190
|
for the development costs, one for the documentation costs, and one
|
191
191
|
for the customer payments.
|
192
|
+
Actually, there is a fourth account consisting of two accounts nested
|
193
|
+
into it.
|
192
194
|
|
193
195
|
<[example file="tutorial" tag="accounts"]>
|
194
196
|
|
@@ -308,7 +310,7 @@ should be allocated to the task. The task won't finish before the
|
|
308
310
|
resources could be allocated long enough to reach the specified
|
309
311
|
effort. Tasks with ''''length'''' or ''''duration'''' criteria and
|
310
312
|
allocated resources will last exactly as long as requested. Resources
|
311
|
-
will be allocated only if available. It's possible that such a
|
313
|
+
will be allocated only if available. It's possible that such a task
|
312
314
|
ends up with no allocations at all if the resources are always
|
313
315
|
assigned to other tasks for that period. Each task can only have one
|
314
316
|
of the three duration criteria. Container tasks may never have a
|
@@ -331,7 +333,7 @@ and end criteria of a task, or one of them and a duration
|
|
331
333
|
specification. The start and end criteria can either be fixed dates or
|
332
334
|
relative dates. Relative dates are specifications of the type ''task B
|
333
335
|
starts after task A has finished''. Or in other words, task B depends
|
334
|
-
on task A. In this example the spec task depends on a
|
336
|
+
on task A. In this example the spec task depends on a subtask of the
|
335
337
|
deliveries task. We have not specified it yet, but it has the local ID
|
336
338
|
''''start''''.
|
337
339
|
|
@@ -347,7 +349,7 @@ specification task would be ''''AcSo.spec''''.
|
|
347
349
|
Relative IDs always start with one or more exclamation marks. Each
|
348
350
|
exclamation mark moves the scope to the next enclosing task. So
|
349
351
|
''''!deliveries.start'''' is expanded to ''''AcSo.deliveries.start''''
|
350
|
-
since ''''AcSo'''' is the enclosing task of deliveries. Relative task
|
352
|
+
since ''''AcSo'''' is the enclosing task of ''''deliveries''''. Relative task
|
351
353
|
IDs are a little bit confusing at first, but have a real advantage
|
352
354
|
over absolute IDs. Sooner or later you want to move tasks around in
|
353
355
|
your project and then it's a lot less likely that you have to fix
|
@@ -362,7 +364,7 @@ We use the [[priority]] attribute to mark the importance of
|
|
362
364
|
the tasks. 500 is the default priority of top-level tasks. Setting the
|
363
365
|
priority to 1000 marks the task as most important task, since the
|
364
366
|
possible range is 1 (not important at all) to 1000 (ultimately
|
365
|
-
important). priority is an attribute that is passed down to subtasks
|
367
|
+
important). ''''priority'''' is an attribute that is passed down to subtasks
|
366
368
|
if specified before the subtasks' declaration. So all subtasks of
|
367
369
|
software have a priority of 1000 as well, unless they have their own
|
368
370
|
priority definition.
|
@@ -486,7 +488,7 @@ scheduled. But no reports would be generated to visualize the results.
|
|
486
488
|
|
487
489
|
=== Visualizing the Project ===
|
488
490
|
|
489
|
-
To see and share the project data
|
491
|
+
To see and share the project data, reports can be generated. You
|
490
492
|
can generate any number of reports and you can select from a variety
|
491
493
|
of report types and output formats. To have a report generated after
|
492
494
|
the project scheduling has been completed, you need include a report
|
@@ -645,7 +647,7 @@ For HTML output, the reference is a click-able link to the referenced
|
|
645
647
|
report file.
|
646
648
|
|
647
649
|
For the [[footer]] we can proceed accordingly. We just add a few more
|
648
|
-
paragraphs of text
|
650
|
+
paragraphs of text to describe certain aspects of the project. By
|
649
651
|
putting it all together, we end up with the following report
|
650
652
|
definition.
|
651
653
|
|
@@ -653,7 +655,7 @@ definition.
|
|
653
655
|
|
654
656
|
The generated report can be found
|
655
657
|
[http://www.taskjuggler.org/tj3/examples/Tutorial/Overview.html
|
656
|
-
here]. It
|
658
|
+
here]. It serves as an entry page for the other reports. While it
|
657
659
|
already contains some references, a navigator bar would be handy as
|
658
660
|
well. Fortunately, there is a block generator called 'navigator' to
|
659
661
|
take care of this. But before we can include the navigator in the
|