Plan/Manual/Creating ODT Report Templates

    From KDE UserBase Wiki

    Under Construction

    This is a new page, currently under construction!

    Creating ODT Report Templates

    Description

    Open Document Text report templates are regular ODT files that can be designed using any ODT word processor like Calligra Words or LibreOffice Writer. The technique used is to use user field variables to hold references to the information that shall be fetched from the project. The variables are called User Fields in Writer and can be found under Insert->Field->More Fields->Variables->User Fields. In Words they are called Custom Variables and can be found under Text Editing docker->Variable->Custom.

    The easiest way to create a new report template is to modify an existing one as all user field s are defined.

    User Field Variables

    Variables

    The variables are used to enable the generator to extract data from the project.

    A variable can be a reference to a single data field, a reference to table data or a reference to chart data.

    Single Data Field

    A single data field variable has the following format:

    data group name.property = property identifier

    where:

    • data group name can be tr, project or schedule (see below).
    • property makes the user field name unique.
    • property identity identifies the property in the data group.
    Table Data

    A table in a report template consists of a variable to specify the data table to use. The variable name must start with table (e.g. tableTasks) and the variable value must be the name of the data table (e.g. tasks).

    Immediately after the variable, a table must be inserted and columns filled with user field variables that specify which properties to fetch from the table specified above. These variables must have names that start with the name of the table variable above.

    These variables have the following format:

    tableTasks.property = property identifier

    where:

    • property makes the user field name unique.
    • property identity identifies the property in the data group.
    Chart Data

    A chart in a report template consists of a variable to specify the data to use in the chart. The variable name must start with chart (e.g. chartBudgetCost) and the variable value specifies the data group and values the populate the chart with.

    The variable has the following format (note the semicolons):

    name = data group; values=comma separated list of data properties;

    where:

    • name must start with chart (e.g. chartBudgetCost)
    • data group
    • comma separated list of data properties identifies the properties in the data group.

    E.g.: chartBudget = project; values=bcws cost, bcwp cost, acwp cost;


    Translated Labels

    Translated labels enable us to produce general report templates that can be used in different languages.

    Variable Name Variable Value
    tr.project Project
    tr.manager Manager
    tr.schedule Schedule
    tr.bcws BCWS
    tr.bcwp BCWP
    tr.acwp ACWP
    tr.spi SPI
    tr.cpi CPI

    Project Values

    Shows values from the main project.

    Variable Name Variable Value Description
    project.name Name The name of the project
    project.manager Manager The name of the project manager
    project.bcwscost BCWS Cost Cost based Budgeted Cost of Work Scheduled
    project.bcwpcost BCWP Cost Cost based Budgeted Cost of Work Performed
    project.acwpcost ACWP Cost Cost based Actual Cost of Work Performed
    project.spicost SPI Cost Cost based Schedule Performance Index
    project.cpicost CPI Cost Cost based Cost Performance Index
    project.bcwseffort BCWS Effort Effort based Budgeted Cost of Work Scheduled
    project.bcwpeffort BCWP Effort Effort based Budgeted Cost of Work Performed
    project.acwpeffort ACWP Effort Effort based Actual Cost of Work Performed
    project.spieffort SPI Effort Effort based Schedule Performance Index
    project.cpieffort CPI Effort Effort based Cost Performance Index

    Schedule Values

    Shows values from the current schedule.

    Variable Name Variable Value Description
    schedule.name Name The name of the schedule
    schedule.state State Scheduling state
    schedule.direction Name Scheduling direction
    schedule.overbooking Overbooking Overbooking
    schedule.distribution Distribution Distribution
    schedule.plannedstart Planned Start Planned Start
    schedule.plannedfinish Planned Finish Planned Finish
    schedule.scheduler Scheduler Scheduler
    schedule.granularity Granularity Granularity
    schedule.mode Mode Scheduling mode (Auto or Manual)

    Tables

    Supported table types:

    • tasks
    • taskstatus
    • schedules
    • projects

    To create a table, place a variable just before a table in your template file. The variable name identifies the table and must start with table, e.g. tableTaskStatus. The value of the variable is used to point to the data to be fetched and must be one of the supported tables listed above, e.g. taskstatus. You then put variables inside the table cells with name and value from the table below.


    Note that the schedules table supports the values described in Schedule Values above.


    The projects, tasks and taskstatus tables supports the following values:

    Variable Name Variable Value Description
    table name.name Name The name of the task or project
    table name.wbscode WBS Code
    table name.type Type Type of task
    table name.responsible Responsible
    table name.allocation Allocation
    table name.estimatetype Estimate Type
    table name.calendar Calendar
    table name.estimate Estimate Most likely estimate
    table name.optimistic Optimistic Optimistic ratio
    table name.pessimistic Pessimistic Pessimistic ratio
    table name.risk Risk Estimate uncertainty
    table name.constraint Constraint Type of time constraint
    table name.constraintstart Constraint Start Constraint start time
    table name.constraintend Constraint End Constraint finish time
    table name.runingaccount Running Account Account for running costs
    table name.startupaccount Startup Account Account for startup cost
    table name.startupcost Startup Cost The cost incurred at startup of the task
    table name.shutdownaccount Shutdown Account Account for shutdown cost
    table name.shutdowncost Shutdown Cost The cost incurred at shutdown of the task
    table name.description Description Task description
    table name.expected Expected Calculated most likely estimate
    table name.optimistic Optimistic Calculated optimistic estimate
    table name.pessimistic Pessimistic Calculated pessimistic estimate
    table name.starttime Start Time Scheduled start time
    table name.endtime End Time Scheduled finish time
    table name.duration Duration Scheduled duration
    table name.earlystart Early Start Earliest possible start
    table name.earlyfinish Early Finish Earliest possible finish
    table name.latestart Late Start Latest possible start
    table name.latefinish Late Finish Latest possible finish
    table name.positivefloat Positive Float
    table name.freefloat Free Float
    table name.negativefloat Negative Float
    table name.startfloat Start Float
    table name.finishfloat Finish Float
    table name.assignaments Assignments Resource assignments
    table name.varianceest Variance (Est) Calculated estimate variance
    table name.variancedur Variance (Dur) Calculated duration variance
    table name.optimisticdur Optimistic (Dur) Calculated optimistic duration
    table name.pessimisticdur Pessimistic (Dur) Calculated pessimistic duration
    table name.status Status Task status as shown in Task Status View
    table name.completion % Completed Task completion
    table name.plannedeffort Planned Effort Planned effort
    table name.actualeffort Actual Effort Actual effort
    table name.remaningeffort Remaining Effort Remaining effort
    table name.plannedcost Planned Cost Planned cost
    table name.actualcost Actual Cost Actual cost
    table name.actualstart Actual Start Actual start
    table name.started Started
    table name.actualfinish Actual Finish Actual finish
    table name.finished Finished
    table name.schedulingstatus Scheduling Status Scheduling status
    table name.bcws BCWS Budgeted Cost of Work Scheduled (cost based)
    table name.bcwp BCWP Budgeted Cost of Work Performed (cost based)
    table name.acwp ACWP Actual Cost of Work Performed (cost based)
    table name.spi SPI Schedule Performance Index
    table name.critical Critical Task is critical
    table name.criticalpath Critical Path Task is in critical path
    table name.notscheduled Not Scheduled Not interesting
    table name.assignmentmissing Assignment Missing Not interesting
    table name.resourceoverbooked Resource Overbooked Not interesting
    table name.resourceunavailable Resource Unavailable Not interesting
    table name.constrainterror Constraints Error Not interesting
    table name.effortnotmet Effort Not Met Not interesting
    table name.schedulingerror Scheduling Error Not interesting
    table name.level Node level, Level Not interesting
    table name.statusnote Status Note Note: Not implemented
    table name.owner Owner Must not be used, and are not very interesting
    table name.status Status Must not be used, and are not very interesting
    table name.time Time Must not be used, and are not very interesting


    Chart

    Use by placing a variable with name chartX (X=number) with a value project before the chart that shall be used.

    The variable has this format:

    Variable: Name: chartX (X=number) Value: project; values=data;
    where data is a comma separated list of values to be include in the chart.

    Possible data values are:

    • bcws effort Budgeted cost of work scheduled, effort based.
    • bcwp effort Budgeted cost of work performed, effort based.
    • acwp effort Actual cost of work performed, effort based.
    • spi effort Schedule performance index, effort based.
    • cpi effort Cost performance index, effort based.
    • bcws cost Budgeted cost of work scheduled, cost based.
    • bcwp cost Budgeted cost of work performed, cost based.
    • acwp cost Actual cost of work performed, cost based.
    • spi cost Schedule performance index, cost based.
    • cpi cost Cost performance index, cost based.

    The charts you create in your template must have the same (or more) number of columns as the number of values you specify in your variable.

    Example: Variable: Name: chart1 Value: values=bcws cost,bcwp cost, acwp cost;

    Note that you cannot mix effort- and cost-based values. If you want to show both, create two charts.

    Gantt

    Not supported.