# HG changeset patch # User insilmaril # Date 1141731122 0 # Node ID 90ea59d3e82665bb61e3ad6f2cef56cbb85793dd # Parent 654ad4b03c5ae645476e3fc223eb96c2be8ab29f Added xsl for Taskjuggler Export by Matt diff -r 654ad4b03c5a -r 90ea59d3e826 styles/vym2taskjuggler.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/styles/vym2taskjuggler.xsl Tue Mar 07 11:32:02 2006 +0000 @@ -0,0 +1,270 @@ + + + + + + + +project "" "1.0" 2002-01-16 2002-05-28 { + # Pick a day during the project that will be reported as 'today' in + # the project reports. If not specified the current day will be + # used, but this will likely be ouside of the project range, so it + # can't be seen in the reports. + now 2002-03-05-13:00 + # Hide the clock time. Only show the date. + timeformat "%Y-%m-%d" + # The currency for all money values is U.S. Dollars. + currency "USD" + + # We want to compare the planned scenario, to one with the actual + # scenario + scenario plan "Planned" { + scenario actual "Actual" + } +} +# The daily default rate of all resources. This can be overriden for each +# resource. We specify this, so that we can do a good calculation of +# the costs of the project. +rate 310.0 + +# This is one way to form teams +macro allocate_developers [ + allocate dev1 + allocate dev2 { limits { dailymax 4h } } + allocate dev3 +] + +flags team + +resource dev "In House" { + resource dev1 "Some Guy" { rate 330.00 } + resource dev2 "Some Other Guy" + resource dev3 "Some Last Guy on Vacation" { vacation 2002-02-01 - 2002-02-05 } + + flags team +} + +resource misc "Outsource" { + resource test "Out Sourcer1" { limits { dailymax 6.4h } rate 240.00 } + resource doc "Out Source2" { rate 280.00 vacation 2002-03-11 - 2002-03-16 } + + flags team +} + +# In order to do a simple profit and loss analysis of the project we +# specify accounts. One for the development costs, one for the +# documentation costs and one account to credit the customer payments +# to. +account dev "Development" cost +account doc "Documentation" cost +account rev "Payments" revenue + +# Now we specify the work packages. The whole project is described as +# a task that contains sub tasks. These sub tasks are then broken down +# into smaller tasks and so on. The innermost tasks describe the real +# work and have resources allocated to them. Many attributes of tasks +# are inherited from the enclosing task. This saves you a lot of +# writing. +task "" { + + # All work related costs will be booked to this account unless the + # sub tasks specifies it differently. + account dev + + + +} + +# This task report is for use with the TaskJuggler GUI +taskreport "Project Overview" { + columns start, end, effort, duration, completed, status, note, cost, revenue + scenario actual +} + +# A resource report for use with the TaskJuggler GUI +resourcereport "Resource Usage" { + columns effort, freeload, utilization, rate + scenario actual + hideresource 0 +} + +# For conveniance we would like each report to contain links to the +# other reports. So we declare a macro with a fragment of raw HTML +# code to be embedded into all the HTML reports. +macro navbar [ +rawhead + ' + + + + + + + + + + + + +
Tasks OverviewStaff OverviewAccountingCalendar
Tasks DetailsStaff DetailsStatus ReportGANTT Chart (Postscript)
+
' +] + +# As the first report, we would like to have a general overview of all +# tasks with their computed start and end dates. For better +# readability we include a calendar like column that lists the effort +# for each week. +htmltaskreport "Tasks-Overview.html" { + # This report should contain the navigation bar we have declared + # above. + ${navbar} + # The report should be a table that contains several columns. The + # task and their information form the rows of the table. Since we + # don't like the title of the effort column, we change it to "Work". + columns hierarchindex, name, duration, effort { title "Work"}, + start, end, weekly + # For this report we like to have the abbreviated weekday in front + # of the date. %a is the tag for this. + timeformat "%a %Y-%m-%d" + + # Don't show load values. + barlabels empty + # Set a title for the report + headline " Project" + # And a short description what this report is about. + caption "This table presents a management-level overview of the project. The values are days or man-days." +} + +# Now a more detailed report that shows all jobs and the people +# assigned to the tasks. It also features a comparison of the planned +# and actual scenario. +htmltaskreport "Tasks-Details.html" { + ${navbar} + # Now we use a daily calendar. + columns no, name, start, end, scenario, daily + #start 2002-03-01 + #end 2002-04-01 + # Show plan and delayed scenario values. + scenarios plan, actual + headline " Project - March 2002" + caption "This table shows the load of each day for all the tasks. + Additionally the resources used for each task are listed. Since the + project start was delayed, the delayed schedule differs significantly + from the original plan." + # Don't hide any resources, that is show them all. + hideresource 0 +} + +# The previous report listed the resources per task. Now we generate a +# report the lists all resources. +htmlresourcereport "Staff-Overview.html" { + ${navbar} + # Add a column with the total effort per task. + columns no, name { cellurl "http://www.tj.org" }, scenario, weekly, effort + scenarios plan, actual + # Since we want to see the load values as hours per week, we switch + # the unit that loads are reported in to hours. + loadunit hours + headline "Weekly working hours for the Project" +} + +# Now a report similar to the above one but with much more details. +htmlresourcereport "Staff-Details.html" { + ${navbar} + columns name, daily, effort + # To still keep the report readable we limit it to show only the + # data for March 2002. + start 2002-01-16 + end 2002-04-01 + hidetask 0 + # The teams are virtual resources that we don't want to see. Since + # we have assigned a flag to those virtual resource, we can just + # hide them. + hideresource team + # We also like to have the report sorted alphabetically ascending by + # resource name. + sortresources nameup + loadunit hours + headline "Daily working hours for the Project - March 2002" +} + +htmlweeklycalendar "Calendar.html" { + ${navbar} + headline "Ongoing Tasks - March 2002" + start 2002-03-01 + end 2002-04-01 +} + +htmlstatusreport "Status-Report.html" { + ${navbar} +} + +# To conclude the HTML reports a report that shows how badly the +# project is calculated is generated. The company won't get rich with +# this project. Due to the slip, it actually needs some money from the +# bank to pay the salaries. +htmlaccountreport "Accounting.html" { + ${navbar} + # Besides the number of the account and the name we have a column + # with the total values (at the end of the project) and the values + # for each month of the project. + columns no, name, scenario, total, monthly + headline "P&L for the Accounting Software Project" + caption "The table shows the profit and loss + analysis as well as the cashflow situation of the Accounting + Software Project." + # Since this is a cashflow calculation we show accumulated values + # per account. + accumulate + scenarios plan, actual +} + +# Finally we generate an XML report that contains all info about the +# scheduled project. This will be used by tjx2gantt to create a nice +# Gantt chart of our project. +xmlreport ".tjx" { +# version 2 +} +
+ + + task "" { + # I've included all of the Optional Attributes here. + # Commented out for your pleasure. + #account + #allocate dev1 + #complete + #depends + #duration + #effort 20d + #endbuffer + #endcredit + #end, flags + #journalentry + #length + #maxend + #maxstart + #milestone + #minend + #minstart + #note + #precedes + #priority + #projectid + #reference + #responsible + #scheduled + #scheduling + #shift + #startbuffer + #startcredit + plan:start 2002-03-05 + actual:start 2002-03-05 + #statusnote + #supplement + + } + + +
\ No newline at end of file