taskjuggler 3.2.0 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +30 -0
- data/README.rdoc +1 -0
- data/data/tjp.vim +13 -9
- data/lib/taskjuggler/Allocation.rb +2 -2
- data/lib/taskjuggler/AttributeBase.rb +10 -0
- data/lib/taskjuggler/Attributes.rb +2 -8
- data/lib/taskjuggler/Journal.rb +20 -19
- data/lib/taskjuggler/PTNProxy.rb +14 -1
- data/lib/taskjuggler/ProjectFileParser.rb +3 -0
- data/lib/taskjuggler/ProjectFileScanner.rb +54 -44
- data/lib/taskjuggler/PropertyList.rb +32 -0
- data/lib/taskjuggler/PropertyTreeNode.rb +4 -0
- data/lib/taskjuggler/ResourceScenario.rb +53 -20
- data/lib/taskjuggler/RichText/Document.rb +7 -5
- data/lib/taskjuggler/RichText/Scanner.rb +38 -38
- data/lib/taskjuggler/RichText/TOCEntry.rb +1 -1
- data/lib/taskjuggler/TaskScenario.rb +78 -62
- data/lib/taskjuggler/TextParser.rb +4 -3
- data/lib/taskjuggler/TextParser/MacroTable.rb +3 -1
- data/lib/taskjuggler/TextParser/Scanner.rb +73 -58
- data/lib/taskjuggler/Tj3Config.rb +1 -1
- data/lib/taskjuggler/TjpSyntaxRules.rb +215 -67
- data/lib/taskjuggler/apps/Tj3Client.rb +1 -1
- data/lib/taskjuggler/daemon/ReportServer.rb +8 -1
- data/lib/taskjuggler/reports/ExportRE.rb +46 -0
- data/lib/taskjuggler/reports/MspXmlRE.rb +409 -0
- data/lib/taskjuggler/reports/Report.rb +29 -4
- data/lib/taskjuggler/reports/ReportBase.rb +0 -8
- data/lib/taskjuggler/reports/TableReport.rb +13 -3
- data/lib/taskjuggler/reports/TaskListRE.rb +1 -0
- data/lib/taskjuggler/reports/TjpExportRE.rb +1 -1
- data/manual/Rich_Text_Attributes +2 -2
- data/manual/Tutorial +15 -11
- data/manual/html/Day_To_Day_Juggling.html +1 -1
- data/manual/html/Getting_Started.html +1 -1
- data/manual/html/How_To_Contribute.html +1 -1
- data/manual/html/Installation.html +1 -1
- data/manual/html/Intro.html +1 -1
- data/manual/html/Reporting_Bugs.html +1 -1
- data/manual/html/Rich_Text_Attributes.html +1 -1
- data/manual/html/Software.html +1 -1
- data/manual/html/TaskJuggler_2x_Migration.html +1 -1
- data/manual/html/TaskJuggler_Internals.html +1 -1
- data/manual/html/The_TaskJuggler_Syntax.html +1 -1
- data/manual/html/Tutorial.html +5 -2
- data/manual/html/account.html +1 -1
- data/manual/html/account.task.html +1 -1
- data/manual/html/accountprefix.html +1 -1
- data/manual/html/accountreport.html +9 -3
- data/manual/html/accountroot.html +1 -1
- data/manual/html/active.html +1 -1
- data/manual/html/adopt.task.html +3 -3
- data/manual/html/aggregate.html +1 -1
- data/manual/html/alert.html +1 -1
- data/manual/html/alertlevels.html +1 -1
- data/manual/html/allocate.html +5 -2
- data/manual/html/alphabet.html +1 -1
- data/manual/html/alternative.html +1 -1
- data/manual/html/author.html +1 -1
- data/manual/html/balance.html +1 -1
- data/manual/html/booking.resource.html +1 -1
- data/manual/html/booking.task.html +1 -1
- data/manual/html/caption.html +1 -1
- data/manual/html/cellcolor.column.html +1 -1
- data/manual/html/celltext.column.html +43 -4
- data/manual/html/center.html +1 -1
- data/manual/html/charge.html +1 -1
- data/manual/html/chargeset.html +2 -2
- data/manual/html/columnid.html +6 -6
- data/manual/html/columns.html +1 -1
- data/manual/html/complete.html +1 -1
- data/manual/html/copyright.html +1 -1
- data/manual/html/credits.html +1 -1
- data/manual/html/currency.html +1 -1
- data/manual/html/currencyformat.html +1 -1
- data/manual/html/dailymax.html +1 -1
- data/manual/html/dailymin.html +1 -1
- data/manual/html/dailyworkinghours.html +1 -1
- data/manual/html/date.extend.html +1 -1
- data/manual/html/date.html +2 -2
- data/manual/html/definitions.html +1 -1
- data/manual/html/depends.html +1 -1
- data/manual/html/details.html +1 -1
- data/manual/html/disabled.html +1 -1
- data/manual/html/duration.html +1 -1
- data/manual/html/efficiency.html +1 -1
- data/manual/html/effort.html +1 -1
- data/manual/html/email.html +1 -1
- data/manual/html/enabled.html +1 -1
- data/manual/html/end.column.html +1 -1
- data/manual/html/end.html +1 -1
- data/manual/html/end.limit.html +1 -1
- data/manual/html/end.report.html +9 -3
- data/manual/html/end.timesheet.html +1 -1
- data/manual/html/endcredit.html +1 -1
- data/manual/html/epilog.html +1 -1
- data/manual/html/export.html +73 -5
- data/manual/html/extend.html +1 -1
- data/manual/html/fail.html +1 -1
- data/manual/html/fdl.html +1 -1
- data/manual/html/flags.account.html +1 -1
- data/manual/html/flags.html +1 -1
- data/manual/html/flags.journalentry.html +1 -1
- data/manual/html/flags.report.html +1 -1
- data/manual/html/flags.resource.html +1 -1
- data/manual/html/flags.statussheet.html +1 -1
- data/manual/html/flags.task.html +1 -1
- data/manual/html/flags.timesheet.html +1 -1
- data/manual/html/fontcolor.column.html +1 -1
- data/manual/html/footer.html +1 -1
- data/manual/html/formats.export.html +72 -0
- data/manual/html/formats.html +3 -3
- data/manual/html/functions.html +3 -3
- data/manual/html/gapduration.html +2 -2
- data/manual/html/gaplength.html +1 -1
- data/manual/html/halign.center.html +1 -1
- data/manual/html/halign.column.html +1 -1
- data/manual/html/halign.left.html +1 -1
- data/manual/html/halign.right.html +1 -1
- data/manual/html/hasalert.html +1 -1
- data/manual/html/header.html +1 -1
- data/manual/html/headline.html +1 -1
- data/manual/html/height.html +1 -1
- data/manual/html/hideaccount.html +1 -1
- data/manual/html/hidejournalentry.html +1 -1
- data/manual/html/hidereport.html +1 -1
- data/manual/html/hideresource.html +1 -1
- data/manual/html/hidetask.html +1 -1
- data/manual/html/icalreport.html +1 -1
- data/manual/html/include.macro.html +1 -1
- data/manual/html/include.project.html +1 -1
- data/manual/html/include.properties.html +1 -1
- data/manual/html/index.html +1 -1
- data/manual/html/inherit.extend.html +1 -1
- data/manual/html/interval1.html +2 -2
- data/manual/html/interval2.html +2 -2
- data/manual/html/interval3.html +2 -2
- data/manual/html/interval4.html +2 -2
- data/manual/html/isactive.html +1 -1
- data/manual/html/ischildof.html +1 -1
- data/manual/html/isdependencyof.html +1 -1
- data/manual/html/isdutyof.html +1 -1
- data/manual/html/isfeatureof.html +1 -1
- data/manual/html/isleaf.html +1 -1
- data/manual/html/ismilestone.html +1 -1
- data/manual/html/isongoing.html +1 -1
- data/manual/html/isresource.html +1 -1
- data/manual/html/isresponsibilityof.html +1 -1
- data/manual/html/istask.html +1 -1
- data/manual/html/journalattributes.html +1 -1
- data/manual/html/journalentry.html +1 -1
- data/manual/html/journalmode.html +11 -3
- data/manual/html/leaveallowance.html +1 -1
- data/manual/html/leaves.html +1 -1
- data/manual/html/left.html +1 -1
- data/manual/html/length.html +1 -1
- data/manual/html/limits.allocate.html +1 -1
- data/manual/html/limits.html +1 -1
- data/manual/html/limits.resource.html +1 -1
- data/manual/html/limits.task.html +1 -1
- data/manual/html/listitem.column.html +1 -1
- data/manual/html/listtype.column.html +1 -1
- data/manual/html/loadunit.html +2 -2
- data/manual/html/logicalexpression.html +1 -1
- data/manual/html/logicalflagexpression.html +1 -1
- data/manual/html/macro.html +1 -1
- data/manual/html/managers.html +1 -1
- data/manual/html/mandatory.html +1 -1
- data/manual/html/maxend.html +1 -1
- data/manual/html/maximum.html +1 -1
- data/manual/html/maxstart.html +1 -1
- data/manual/html/milestone.html +1 -1
- data/manual/html/minend.html +1 -1
- data/manual/html/minimum.html +1 -1
- data/manual/html/minstart.html +1 -1
- data/manual/html/monthlymax.html +1 -1
- data/manual/html/monthlymin.html +1 -1
- data/manual/html/navbar.html +5 -1
- data/manual/html/navigator.html +1 -1
- data/manual/html/newtask.html +1 -1
- data/manual/html/nikureport.html +1 -1
- data/manual/html/note.task.html +1 -1
- data/manual/html/now.html +1 -1
- data/manual/html/numberformat.html +1 -1
- data/manual/html/onend.html +1 -1
- data/manual/html/onstart.html +1 -1
- data/manual/html/opennodes.html +1 -1
- data/manual/html/overtime.booking.html +1 -1
- data/manual/html/period.column.html +1 -1
- data/manual/html/period.limit.html +1 -1
- data/manual/html/period.report.html +1 -1
- data/manual/html/period.task.html +1 -1
- data/manual/html/persistent.html +1 -1
- data/manual/html/precedes.html +1 -1
- data/manual/html/priority.html +1 -1
- data/manual/html/priority.timesheet.html +1 -1
- data/manual/html/project.html +1 -1
- data/manual/html/projectid.html +1 -1
- data/manual/html/projectid.task.html +1 -1
- data/manual/html/projectids.html +1 -1
- data/manual/html/projection.html +1 -1
- data/manual/html/prolog.html +1 -1
- data/manual/html/properties.html +1 -1
- data/manual/html/purge.html +8 -5
- data/manual/html/rate.html +1 -1
- data/manual/html/rate.resource.html +1 -1
- data/manual/html/reference.extend.html +1 -1
- data/manual/html/remaining.html +1 -1
- data/manual/html/replace.html +1 -1
- data/manual/html/reportprefix.html +1 -1
- data/manual/html/resource.html +1 -1
- data/manual/html/resourceattributes.html +1 -1
- data/manual/html/resourceprefix.html +1 -1
- data/manual/html/resourcereport.html +9 -3
- data/manual/html/resourceroot.html +1 -1
- data/manual/html/resources.limit.html +1 -1
- data/manual/html/responsible.html +1 -1
- data/manual/html/richtext.extend.html +1 -1
- data/manual/html/right.html +1 -1
- data/manual/html/rollupaccount.html +1 -1
- data/manual/html/rollupresource.html +1 -1
- data/manual/html/rolluptask.html +1 -1
- data/manual/html/scale.column.html +1 -1
- data/manual/html/scenario.html +1 -1
- data/manual/html/scenario.ical.html +1 -1
- data/manual/html/scenarios.export.html +1 -1
- data/manual/html/scenarios.html +1 -1
- data/manual/html/scenariospecific.extend.html +1 -1
- data/manual/html/scheduled.html +2 -2
- data/manual/html/scheduling.html +1 -1
- data/manual/html/select.html +1 -1
- data/manual/html/selfcontained.html +1 -1
- data/manual/html/shift.allocate.html +1 -1
- data/manual/html/shift.html +1 -1
- data/manual/html/shift.resource.html +1 -1
- data/manual/html/shift.task.html +1 -1
- data/manual/html/shift.timesheet.html +1 -1
- data/manual/html/shifts.allocate.html +1 -1
- data/manual/html/shifts.resource.html +1 -1
- data/manual/html/shifts.task.html +1 -1
- data/manual/html/shorttimeformat.html +1 -1
- data/manual/html/sloppy.booking.html +1 -1
- data/manual/html/sloppy.projection.html +1 -1
- data/manual/html/sortaccounts.html +1 -1
- data/manual/html/sortjournalentries.html +1 -1
- data/manual/html/sortresources.html +1 -1
- data/manual/html/sorttasks.html +1 -1
- data/manual/html/start.column.html +1 -1
- data/manual/html/start.html +1 -1
- data/manual/html/start.limit.html +1 -1
- data/manual/html/start.report.html +1 -1
- data/manual/html/startcredit.html +1 -1
- data/manual/html/status.statussheet.html +1 -1
- data/manual/html/status.timesheet.html +1 -1
- data/manual/html/statussheet.html +1 -1
- data/manual/html/statussheetreport.html +1 -1
- data/manual/html/strict.projection.html +1 -1
- data/manual/html/summary.html +1 -1
- data/manual/html/supplement.html +1 -1
- data/manual/html/supplement.resource.html +1 -1
- data/manual/html/supplement.task.html +1 -1
- data/manual/html/tagfile.html +1 -1
- data/manual/html/task.html +1 -1
- data/manual/html/task.statussheet.html +1 -1
- data/manual/html/task.timesheet.html +1 -1
- data/manual/html/taskattributes.html +1 -1
- data/manual/html/taskprefix.html +1 -1
- data/manual/html/taskreport.html +9 -3
- data/manual/html/taskroot.export.html +104 -0
- data/manual/html/taskroot.html +3 -3
- data/manual/html/text.extend.html +3 -3
- data/manual/html/textreport.html +9 -3
- data/manual/html/timeformat.html +1 -1
- data/manual/html/timeoff.nikureport.html +1 -1
- data/manual/html/timesheet.html +1 -1
- data/manual/html/timesheetreport.html +1 -1
- data/manual/html/timezone.export.html +1 -1
- data/manual/html/timezone.html +1 -1
- data/manual/html/timezone.report.html +1 -1
- data/manual/html/timezone.shift.html +1 -1
- data/manual/html/timingresolution.html +1 -1
- data/manual/html/title.column.html +1 -1
- data/manual/html/title.html +1 -1
- data/manual/html/toc.html +203 -189
- data/manual/html/tooltip.column.html +1 -1
- data/manual/html/tracereport.html +9 -3
- data/manual/html/trackingscenario.html +1 -1
- data/manual/html/treelevel.html +1 -1
- data/manual/html/vacation.html +1 -1
- data/manual/html/vacation.resource.html +1 -1
- data/manual/html/vacation.shift.html +1 -1
- data/manual/html/warn.html +1 -1
- data/manual/html/weeklymax.html +1 -1
- data/manual/html/weeklymin.html +1 -1
- data/manual/html/weekstartsmonday.html +1 -1
- data/manual/html/weekstartssunday.html +1 -1
- data/manual/html/width.column.html +1 -1
- data/manual/html/width.html +1 -1
- data/manual/html/work.html +1 -1
- data/manual/html/workinghours.project.html +1 -1
- data/manual/html/workinghours.resource.html +1 -1
- data/manual/html/workinghours.shift.html +1 -1
- data/manual/html/yearlyworkingdays.html +1 -1
- data/test/TestSuite/CSV-Reports/project-1.tji +0 -6
- data/test/TestSuite/CSV-Reports/refs/alert.csv +0 -7
- data/test/TestSuite/CSV-Reports/refs/celltext.csv +0 -7
- data/test/TestSuite/CSV-Reports/refs/resourcereport_with_tasks.csv +0 -3
- data/test/TestSuite/CSV-Reports/refs/sortByTree.csv +0 -7
- data/test/TestSuite/CSV-Reports/refs/sortBy_duration.down.csv +0 -7
- data/test/TestSuite/CSV-Reports/refs/sortBy_effort.up.csv +0 -7
- data/test/TestSuite/CSV-Reports/refs/sortBy_plan.start.down.csv +0 -7
- data/test/TestSuite/CSV-Reports/refs/taskreport.csv +0 -7
- data/test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv +0 -18
- data/test/TestSuite/CSV-Reports/refs/weekly.csv +0 -1
- data/test/TestSuite/HTML-Reports/Alerts-2.tjp +46 -0
- data/test/TestSuite/Scheduler/Correct/purge.tjp +30 -0
- data/test/TestSuite/Syntax/Correct/Export.tjp +8 -2
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +0 -1
- metadata +16 -10
- data/test/TestSuite/CSV-Reports/refs/taskcounter.csv +0 -9
@@ -20,7 +20,7 @@ require 'taskjuggler/reports/TaskListRE'
|
|
20
20
|
require 'taskjuggler/reports/ResourceListRE'
|
21
21
|
require 'taskjuggler/reports/TraceReport'
|
22
22
|
require 'taskjuggler/reports/TagFile'
|
23
|
-
require 'taskjuggler/reports/
|
23
|
+
require 'taskjuggler/reports/ExportRE'
|
24
24
|
require 'taskjuggler/reports/StatusSheetReport'
|
25
25
|
require 'taskjuggler/reports/TimeSheetReport'
|
26
26
|
require 'taskjuggler/reports/NikuReport'
|
@@ -95,6 +95,8 @@ class TaskJuggler
|
|
95
95
|
generateNiku
|
96
96
|
when :tjp
|
97
97
|
generateTJP
|
98
|
+
when :mspxml
|
99
|
+
generateMspXml
|
98
100
|
else
|
99
101
|
raise 'Unknown report output format #{format}.'
|
100
102
|
end
|
@@ -118,7 +120,7 @@ class TaskJuggler
|
|
118
120
|
when :accountreport
|
119
121
|
@content = AccountListRE.new(self)
|
120
122
|
when :export
|
121
|
-
@content =
|
123
|
+
@content = ExportRE.new(self)
|
122
124
|
when :iCal
|
123
125
|
@content = ICalReport.new(self)
|
124
126
|
when :niku
|
@@ -280,7 +282,7 @@ EOT
|
|
280
282
|
end
|
281
283
|
end
|
282
284
|
|
283
|
-
# Generate
|
285
|
+
# Generate the report in TJP format.
|
284
286
|
def generateTJP
|
285
287
|
unless @content.respond_to?('to_tjp')
|
286
288
|
warning('tjp_not_supported',
|
@@ -304,6 +306,29 @@ EOT
|
|
304
306
|
end
|
305
307
|
end
|
306
308
|
|
309
|
+
# Generate the report in Microsoft Project XML format.
|
310
|
+
def generateMspXml
|
311
|
+
unless @content.respond_to?('to_mspxml')
|
312
|
+
warning('mspxml_not_supported',
|
313
|
+
"Microsoft Project XML format is not supported for " +
|
314
|
+
"report #{@id} of type #{@typeSpec}.")
|
315
|
+
return nil
|
316
|
+
end
|
317
|
+
|
318
|
+
begin
|
319
|
+
fileName = '.'
|
320
|
+
if @name == '.'
|
321
|
+
$stdout.write(@content.to_mspxml)
|
322
|
+
else
|
323
|
+
fileName = (@name[0] == '/' ? '' : @project.outputDir) + @name + '.xml'
|
324
|
+
fileName.untaint
|
325
|
+
File.open(fileName, 'w') { |f| f.write(@content.to_mspxml) }
|
326
|
+
end
|
327
|
+
rescue IOError, SystemCallError
|
328
|
+
error('write_mspxml', "Cannot write to file #{fileName}.\n#{$!}")
|
329
|
+
end
|
330
|
+
end
|
331
|
+
|
307
332
|
# Generate Niku report
|
308
333
|
def generateNiku
|
309
334
|
unless @content.respond_to?('to_niku')
|
@@ -323,7 +348,7 @@ EOT
|
|
323
348
|
end
|
324
349
|
end
|
325
350
|
|
326
|
-
# Generate
|
351
|
+
# Generate the report in iCal format.
|
327
352
|
def generateICal
|
328
353
|
unless @content.respond_to?('to_iCal')
|
329
354
|
warning('ical_not_supported',
|
@@ -38,14 +38,6 @@ class TaskJuggler
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
def to_html
|
42
|
-
raise 'This function must be overriden by derived classes.'
|
43
|
-
end
|
44
|
-
|
45
|
-
def to_csv
|
46
|
-
raise 'This function must be overriden by derived classes.'
|
47
|
-
end
|
48
|
-
|
49
41
|
# Take the complete account list and remove all accounts that are matching
|
50
42
|
# the hide expression, the rollup Expression or are not a descendent of
|
51
43
|
# accountroot.
|
@@ -307,10 +307,19 @@ class TaskJuggler
|
|
307
307
|
rStart -= margin
|
308
308
|
rEnd += margin
|
309
309
|
|
310
|
+
# This could cause rStart to be larger than rEnd.
|
311
|
+
rStart = origStart if doNotAdjustStart
|
312
|
+
rEnd = origEnd if doNotAdjustEnd
|
313
|
+
|
314
|
+
# Ensure that we have a valid interval. If not, go back to the
|
315
|
+
# original interval dates.
|
316
|
+
if rStart >= rEnd
|
317
|
+
rStart = origStart
|
318
|
+
rEnd = origEnd
|
319
|
+
end
|
320
|
+
|
310
321
|
# Save the adjusted dates to the columns Hash.
|
311
|
-
@columns[columnDef] = TableReportColumn.new(
|
312
|
-
doNotAdjustStart ? origStart : rStart,
|
313
|
-
doNotAdjustEnd ? origEnd : rEnd)
|
322
|
+
@columns[columnDef] = TableReportColumn.new(rStart, rEnd)
|
314
323
|
end
|
315
324
|
end
|
316
325
|
|
@@ -328,6 +337,7 @@ class TaskJuggler
|
|
328
337
|
# table.
|
329
338
|
gantt = GanttChart.new(a('now'),
|
330
339
|
a('weekStartsMonday'), self)
|
340
|
+
|
331
341
|
gantt.generateByScale(rStart, rEnd, columnDef.scale)
|
332
342
|
# The header consists of 2 lines separated by a 1 pixel boundary.
|
333
343
|
gantt.header.height = @table.headerLineHeight * 2 + 1
|
data/manual/Rich_Text_Attributes
CHANGED
@@ -225,8 +225,8 @@ requested attribute is scenario specific.
|
|
225
225
|
|
226
226
|
* ''''end'''' : The end date of the report period of the current report.
|
227
227
|
|
228
|
-
* ''''loadunit'''' : The [[loadunit]] that should be used in
|
229
|
-
requested attribute is an effort or duration value.
|
228
|
+
* ''''loadunit'''' : The [[loadunit]] that should be used in
|
229
|
+
case the requested attribute is an effort or duration value.
|
230
230
|
|
231
231
|
* ''''timeformat'''' : The [[timeformat]] used to format date attributes.
|
232
232
|
|
data/manual/Tutorial
CHANGED
@@ -9,11 +9,15 @@ demonstrates most of the commonly used features of TaskJuggler. It
|
|
9
9
|
also includes some of the more advanced concepts that you may or may
|
10
10
|
not need for your projects. Don't get scared by them. You can use
|
11
11
|
them once you are more familiar with TaskJuggler and your projects
|
12
|
-
grow larger. The complete tutorial example
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
grow larger. The complete tutorial example comes with your
|
13
|
+
TaskJuggler software installation. You can use the following command
|
14
|
+
to find the base directory of the example projects.
|
15
|
+
|
16
|
+
ruby19 -e "puts Gem::Specification.find_by_name('taskjuggler').gem_dir"
|
17
|
+
|
18
|
+
The file for the tutorial project is called
|
19
|
+
''''examples/Tutorial/tutorial.tjp''''. You can use any plain text
|
20
|
+
editor to view and modify it.
|
17
21
|
|
18
22
|
=== Starting the project ===
|
19
23
|
|
@@ -591,12 +595,12 @@ syntax uses, but also like to include the weekday. To change the date
|
|
591
595
|
format, the [[timeformat]] attribute can be used.
|
592
596
|
|
593
597
|
The project will last a few weeks. The most convenient unit to list
|
594
|
-
efforts in is man or resource days. The [[loadunit]] attribute
|
595
|
-
TaskJuggler to list the load of each task or resource in man
|
596
|
-
Since this will just be a number without a unit, it is
|
597
|
-
include a small hint for the reader that these values are
|
598
|
-
or resource days. The caption of the table is a convenient
|
599
|
-
put this information by using the [[caption]] attribute.
|
598
|
+
efforts in is man or resource days. The [[loadunit]] attribute
|
599
|
+
tells TaskJuggler to list the load of each task or resource in man
|
600
|
+
days. Since this will just be a number without a unit, it is
|
601
|
+
advisable to include a small hint for the reader that these values are
|
602
|
+
indeed man or resource days. The caption of the table is a convenient
|
603
|
+
place to put this information by using the [[caption]] attribute.
|
600
604
|
|
601
605
|
<[example file="tutorial" tag="overview3"]>
|
602
606
|
|
data/manual/html/Intro.html
CHANGED
data/manual/html/Software.html
CHANGED
data/manual/html/Tutorial.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<!DOCTYPE>
|
2
|
-
<!-- This file has been generated by tj3man v3.
|
2
|
+
<!-- This file has been generated by tj3man v3.3.0 -->
|
3
3
|
<html lang="en" xml:lang="en">
|
4
4
|
<head>
|
5
5
|
<title>Tutorial</title>
|
@@ -23,7 +23,10 @@
|
|
23
23
|
<br/>
|
24
24
|
<div style="width:90%; margin-left:5%; margin-right:5%"><div class="manual">
|
25
25
|
<h1 class="manual" id="The_Tutorial_Your_first_Project">4 The Tutorial: Your first Project</h1>
|
26
|
-
<p class="manual">We have mentioned already that TaskJuggler uses plain text files that capture the known parts of the project. As you will see now, the syntax of these files is easy to understand and very intuitive. This chapter will walk you step by step through your first project. You create the project plan for a made-up accounting software project. This project demonstrates most of the commonly used features of TaskJuggler. It also includes some of the more advanced concepts that you may or may not need for your projects. Don't get scared by them. You can use them once you are more familiar with TaskJuggler and your projects grow larger. The complete tutorial example
|
26
|
+
<p class="manual">We have mentioned already that TaskJuggler uses plain text files that capture the known parts of the project. As you will see now, the syntax of these files is easy to understand and very intuitive. This chapter will walk you step by step through your first project. You create the project plan for a made-up accounting software project. This project demonstrates most of the commonly used features of TaskJuggler. It also includes some of the more advanced concepts that you may or may not need for your projects. Don't get scared by them. You can use them once you are more familiar with TaskJuggler and your projects grow larger. The complete tutorial example comes with your TaskJuggler software installation. You can use the following command to find the base directory of the example projects.</p>
|
27
|
+
<div class="manual" codesection="1"><pre class="manual" codesection="1"> ruby19 -e "puts Gem::Specification.find_by_name('taskjuggler').gem_dir"
|
28
|
+
</pre></div>
|
29
|
+
<p class="manual">The file for the tutorial project is called <code class="manual">examples/Tutorial/tutorial.tjp</code>. You can use any plain text editor to view and modify it.</p>
|
27
30
|
<h2 class="manual" id="Starting_the_project">4.1 Starting the project</h2>
|
28
31
|
<p class="manual">Every TaskJuggler project file must start with the <a href="project.html">project</a> property. It tells TaskJuggler the name of your project and a start and end date. The start and end dates don't need to be exact, but must fit all tasks of the project. It is the time interval the TaskJuggler scheduler will use to fit the tasks in. So, make it large enough for all your tasks to fit in. But don't make it too large, because this will result in longer scheduling times and higher memory consumption.</p>
|
29
32
|
<div class="codeframe"><pre class="code">project acso "Accounting Software" 2002-01-16 +4m {
|
data/manual/html/account.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<!DOCTYPE>
|
2
|
-
<!-- This file has been generated by tj3man v3.
|
2
|
+
<!-- This file has been generated by tj3man v3.3.0 -->
|
3
3
|
<html lang="en" xml:lang="en">
|
4
4
|
<head>
|
5
5
|
<title>accountreport</title>
|
@@ -65,7 +65,7 @@
|
|
65
65
|
<tr align="left">
|
66
66
|
<td class="tag">Context</td>
|
67
67
|
<td class="descr" colspan="2">
|
68
|
-
<a href="accountreport.html">accountreport</a>, <a href="properties.html">properties</a>, <a href="resourcereport.html">resourcereport</a>, <a href="taskreport.html">taskreport</a>, <a href="textreport.html">textreport</a>, <a href="tracereport.html">tracereport</a>
|
68
|
+
<a href="accountreport.html">accountreport</a>, <a href="export.html">export</a>, <a href="properties.html">properties</a>, <a href="resourcereport.html">resourcereport</a>, <a href="taskreport.html">taskreport</a>, <a href="textreport.html">textreport</a>, <a href="tracereport.html">tracereport</a>
|
69
69
|
</td>
|
70
70
|
</tr>
|
71
71
|
</table></p>
|
@@ -78,7 +78,7 @@
|
|
78
78
|
<col width="20%"></col>
|
79
79
|
</colgroup>
|
80
80
|
<tr align="left">
|
81
|
-
<td class="tag" rowspan="
|
81
|
+
<td class="tag" rowspan="51">Attributes</td>
|
82
82
|
<td class="tag">Name</td>
|
83
83
|
<td class="tag">Scen. spec.</td>
|
84
84
|
<td class="tag">Inh. fm. Global</td>
|
@@ -138,6 +138,12 @@
|
|
138
138
|
<td align="center" class="descr"></td>
|
139
139
|
<td align="center" class="descr">x</td>
|
140
140
|
</tr>
|
141
|
+
<tr align="left">
|
142
|
+
<td align="left" class="descr"><a href="export.html">export</a></td>
|
143
|
+
<td align="center" class="descr"></td>
|
144
|
+
<td align="center" class="descr"></td>
|
145
|
+
<td align="center" class="descr"></td>
|
146
|
+
</tr>
|
141
147
|
<tr align="left">
|
142
148
|
<td align="left" class="descr"><a href="flags.report.html">flags (report)</a></td>
|
143
149
|
<td align="center" class="descr"></td>
|
data/manual/html/active.html
CHANGED
data/manual/html/adopt.task.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<!DOCTYPE>
|
2
|
-
<!-- This file has been generated by tj3man v3.
|
2
|
+
<!-- This file has been generated by tj3man v3.3.0 -->
|
3
3
|
<html lang="en" xml:lang="en">
|
4
4
|
<head>
|
5
5
|
<title>adopt.task</title>
|
@@ -38,8 +38,8 @@
|
|
38
38
|
<tr align="left">
|
39
39
|
<td class="tag">Purpose</td>
|
40
40
|
<td class="descr" colspan="2"><div>
|
41
|
-
<p>Add a previously defined task
|
42
|
-
<p>A top-level tasks must never
|
41
|
+
<p>Add a previously defined task and its sub-tasks to this task. This can be used to create virtual projects that contain task (sub-)trees that are originally defined in another task context. Adopted tasks don't inherit anything from their step parents. However, the adopting task is scheduled to fit all adopted sub-tasks.</p>
|
42
|
+
<p>A top-level task and all its sub-tasks must never contain the same task more than once. All reports must use appropriate filters by setting <a href="taskroot.html">taskroot</a>, <a href="hidetask.html">hidetask</a> or <a href="rolluptask.html">rolluptask</a> to ensure that no tasks are contained more than once in the report.</p>
|
43
43
|
</div></td>
|
44
44
|
</tr>
|
45
45
|
<tr align="left">
|
data/manual/html/aggregate.html
CHANGED
data/manual/html/alert.html
CHANGED
data/manual/html/allocate.html
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<!DOCTYPE>
|
2
|
-
<!-- This file has been generated by tj3man v3.
|
2
|
+
<!-- This file has been generated by tj3man v3.3.0 -->
|
3
3
|
<html lang="en" xml:lang="en">
|
4
4
|
<head>
|
5
5
|
<title>allocate</title>
|
@@ -36,7 +36,10 @@
|
|
36
36
|
</colgroup>
|
37
37
|
<tr align="left">
|
38
38
|
<td class="tag">Purpose</td>
|
39
|
-
<td class="descr" colspan="2"><div>
|
39
|
+
<td class="descr" colspan="2"><div>
|
40
|
+
<p>Specify which resources should be allocated to the task. The attributes provide numerous ways to control which resource is used and when exactly it will be assigned to the task. Shifts and limits can be used to restrict the allocation to certain time intervals or to limit them to a certain maximum per time period. The purge statement can be used to remove inherited allocations or flags.</p>
|
41
|
+
<p>For effort-based tasks the task duration is clipped to only extend from the begining of the first allocation to the end of the last allocation. This is done to optimize for an overall minimum project duration as dependent tasks can potentially use the unallocated, clipped slots.</p>
|
42
|
+
</div></td>
|
40
43
|
</tr>
|
41
44
|
<tr align="left">
|
42
45
|
<td class="tag">Syntax</td>
|
data/manual/html/alphabet.html
CHANGED