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 InsertFieldMore FieldsVariablesUser Fields. In Words they are called Custom Variables and can be found under Text Editing dockerVariableCustom.

The easiest way to create a new report template is to modify an existing one as all user fields 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 identifier 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 to populate the chart.

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 NameVariable 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 NameVariable ValueDescription

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 NameVariable ValueDescription

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 NameVariable ValueDescription

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=some text to make the variable name unique) with a value project before the chart that shall be used.

The variable has this format:

Variable: Name: chartX (X=some text) 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: project; 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.