
<chapter id="property_reference"><title>Property Reference</title><sect1 id="PROPERTY_global_scope"><title>The TJP File</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">The TJP File</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>All TaskJuggler project files should start with the
project property and must contain at least one task definition. To
visualize the results of the scheduling process, at least one of the
reports should be specified.</para></entry></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_account">account</link>, <link linkend="PROPERTY_copyright">copyright</link>, <link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_flags_declare">flags</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_include">include</link>, <link linkend="PROPERTY_macro">macro</link>, <link linkend="PROPERTY_maxeffort">maxeffort</link>, <link linkend="PROPERTY_limits">limits</link>, <link linkend="PROPERTY_priority">priority</link>, <link linkend="PROPERTY_projectid">projectid</link>, <link linkend="PROPERTY_projectids">projectids</link>, <link linkend="PROPERTY_project">project</link>, <link linkend="PROPERTY_rate">rate</link>, <link linkend="PROPERTY_resource">resource</link>, <link linkend="PROPERTY_shift">shift</link>, <link linkend="PROPERTY_supplement">supplement</link>, <link linkend="PROPERTY_task">task</link>, <link linkend="PROPERTY_vacation_global">vacation</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"/></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

taskreport "My Tasks"

</screen></para></sect1><sect1 id="PROPERTY_account"><title>account
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  [ 
   &lt;<parameter>type</parameter>&gt;
   ]</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">account
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  [ 
   &lt;<parameter>type</parameter>&gt;
   ]</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Declares an account. Accounts can be used to calculate costs
of tasks or the whole project. Account declaration may be nested, but
only the top level accounts may have a type attribute specified. An
account that has sub-accounts may not have a <link linkend="PROPERTY_credit">credit</link>.  sub-accounts inherit
this type.</para></entry></row><row><entry morerows="3"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>id</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>Each account must have a unique ID.</para></entry></row><row><entry><parameter>name</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>type</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>The type may be <varname>cost</varname> or
<varname>revenue</varname>.</para></entry></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><varname>account</varname>, <link linkend="PROPERTY_credit">credit</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <varname>account</varname>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_account_task"><title>account
   &lt;<parameter>accountid</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">account
   &lt;<parameter>accountid</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>All amounts associated with the task will be credited
to the specified account. The account must not be an account group.
</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>accountid</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_account">account</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_accumulate"><title>accumulate</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">accumulate</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>If this attribute is specified the values in the calendar
columns are accumulated over the reported interval.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_allowredefinition"><title>allowredefinition</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">allowredefinition</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>If this attribute is specified, redefinitions of task,
resources or accounts are not flagged as errors. The primary use of
this attribute is for projects that are created by merging sub projects
which are again the result of sub project merging. In certain
situations enclosing tasks, accounts or resources can be included in more
than one sub project. This attribute then avoids the error message which is
in most other cases a real user error. So use this feature with care
as real errors might go undetected.</para><para>In case attributes of the same property must be specified in two
different locations the <link linkend="PROPERTY_supplement">supplement</link>
construct is the recommended way to do this.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_allocate"><title>allocate
   &lt;<parameter>resource</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">allocate
   &lt;<parameter>resource</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specify which resources should be allocated to the
task. The optional 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.
</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>resource</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_alternative">alternative</link>, <link linkend="PROPERTY_limits">limits</link>, <link linkend="PROPERTY_mandatory">mandatory</link>, <link linkend="PROPERTY_persistent">persistent</link>, <link linkend="PROPERTY_purge">purge</link>, <link linkend="PROPERTY_select">select</link>, <link linkend="PROPERTY_shift_selection">shift</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_effort">effort</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project allocate "allocate" "1.0" 2003-06-05 - 2003-07-05

resource r1 "Resource 1"
resource r2 "Resource 2"

task t1 "Task 1" {
  start 2003-06-05
  # All sub-tasks inherit this allocation of r1
  allocate r1
  task t2 "Task 2" {
    effort 10d
  }
  task t3 "Task 3" {
    effort 20d
    # This task has r1 and r2 allocated
    allocate r2
  }
  task m1 "Milestone 1" {
    milestone
  }
}
</screen></para></sect1><sect1 id="PROPERTY_alternative"><title>alternative
   &lt;<parameter>resource</parameter>&gt;
  
   [, &lt;<parameter>resource</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">alternative
   &lt;<parameter>resource</parameter>&gt;
  
   [, &lt;<parameter>resource</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>A list of alternative resources for an allocation.
  There is no difference between the allocated resource and its
  alternatives. If no selection criteria is given, TaskJuggler picks
  the resource that it finds most appropriate.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>resource</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_allocate">allocate</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_select">select</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Project" "1.0" 2000-01-01 - 2000-03-01

resource tuxus "Tuxus"
resource tuxia "Tuxia"

task t "Task" {
  start 2000-01-01
  effort 5d
  # Use tuxux or tuxia, whoever is available.
  allocate tuxus { alternative tuxia }
}

</screen></para></sect1><sect1 id="PROPERTY_barlabels"><title>barlabels
   &lt;<parameter>mode</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">barlabels
   &lt;<parameter>mode</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the contents of the Gantt chart like bars in
HTML calendar columns. The default is to show load values.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>mode</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>See table below for possible values.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_showprojectids">showprojectids</link></entry></row></tbody></tgroup></informaltable></para><para><simplelist type="horiz" columns="2">
   
   <member><varname>empty</varname></member>
   <member>Do not show any values on calendar bars.</member>
   
   <member><varname>load</varname></member>
   <member>Show task or resource load on calendar bars.</member>
   
   </simplelist></para></sect1><sect1 id="PROPERTY_baseline"><title>baseline</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">baseline</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Disables the projection mode for the scenario. This is
  the default for the top-level scenario. In baseline mode it is
  assumed that no bookings are provided for any task.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenario">scenario</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_projection">projection</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_booking"><title>booking
   &lt;<parameter>task</parameter>&gt;
  
   &lt;<parameter>period</parameter>&gt;
  
   [, &lt;<parameter>period</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">booking
   &lt;<parameter>task</parameter>&gt;
  
   &lt;<parameter>period</parameter>&gt;
  
   [, &lt;<parameter>period</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The booking attribute can be used to report completed
  work. This can be part of the necessary effort or the whole effort.
  When the scenario is scheduled in projection mode, TaskJuggler
  assumes that only the work reported with bookings has been done up
  to now. It then schedules a plan for the still missing effort.</para><para>This attribute is also used within export reports to describe
  the details of a scheduled project.</para><para>The sloppy attribute can be used when you want to skip
  non-working time or other allocations automatically. If it's not
  given, all bookings must only cover working time for the
  resource.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>task</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><parameter>period</parameter></entry><entry><link linkend="TYPE_DATEINTERVAL">DATEINTERVAL</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_overtime">overtime</link>, <link linkend="PROPERTY_sloppy">sloppy</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_resource">resource</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_complete">complete</link>, <link linkend="PROPERTY_projection">projection</link>, <link linkend="PROPERTY_sloppy_projection">sloppy</link>, <link linkend="PROPERTY_strict">strict</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Project" "1.0" 2003-06-05 +1m {
  # The baseline date for the projection.
  now 2003-06-15
  scenario plan "Plan" {
    # Compute when the task will be ready based on the already done
    # work and the current date.
    projection { strict }
  }
}

resource r1 "Resource 1"

task t1 "Task 1" {
  start 2003-06-05
  effort 10d
  allocate r1
}

supplement resource r1 {
  # This is the work that has been done up until now by r1.
  booking t1 2003-06-06 +8h { sloppy 2 }
  booking t1 2003-06-08 +4h,
             2003-06-09 +4h { sloppy 2 }
  # Book interval that extends into off-hours.
  booking t1 2003-06-11-8:00 +10h { overtime 1 }
}
</screen></para></sect1><sect1 id="PROPERTY_caption"><title>caption
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">caption
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the caption used for a report table.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_complete">complete</link>, <link linkend="PROPERTY_copyright">copyright</link>, <link linkend="PROPERTY_headline">headline</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26
  
copyright "Bucks Beavis Inc."

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

htmltaskreport "ProjectBreakdown.html" {
  caption "This is the project breakdown"
  headline "Project Breakdown"
  columns name, start, end, daily
  # Don't hide any resource, meaning show them all.
  hideresource 0
}

</screen></para></sect1><sect1 id="PROPERTY_celltext"><title>celltext
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">celltext
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies an alternative text that is used for all
cells of the column. Usually such a text contains a runtime macro,
otherwise all cells of the column will have the same fixed value.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_cellurl">cellurl</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_cellurl"><title>cellurl
   &lt;<parameter>url</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">cellurl
   &lt;<parameter>url</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies an URL that is attached to the cell contents
of the cells of the column in HTML reports.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>url</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_celltext">celltext</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_columns"><title>columns
   &lt;<parameter>columnid</parameter>&gt;
  
   [, &lt;<parameter>columnid</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">columns
   &lt;<parameter>columnid</parameter>&gt;
  
   [, &lt;<parameter>columnid</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies which columns shall be included in a
report.</para><para>All columns support macro expansion. Contrary to the normal
macro expansion, these macros are expanded during the report
generation. So the value of the macro is being changed after each
table cell or table line. Consequently only build in macros can be
used. To protect the macro calls against expansion during the initial
file processing, the report macros must be prefixed with an additional
<varname>$</varname>.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>columnid</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>See table below for possible values.</para></entry></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_celltext">celltext</link>, <link linkend="PROPERTY_cellurl">cellurl</link>, <link linkend="PROPERTY_hidecelltext">hidecelltext</link>, <link linkend="PROPERTY_hidecellurl">hidecellurl</link>, <link linkend="PROPERTY_subtitle">subtitle</link>, <link linkend="PROPERTY_subtitleurl">subtitleurl</link>, <link linkend="PROPERTY_title">title</link>, <link linkend="PROPERTY_titleurl">titleurl</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><simplelist type="horiz" columns="2">
   
   <member><varname>chart</varname></member>
   <member>Use this column to get Gantt and resource charts. It's only
   supported by the interactive reports in the GUI.</member>
   
   <member><varname>completed</varname></member>
   <member>The percentage the task has been completed already. This is
   either the value specified by <link linkend="PROPERTY_complete">complete</link> or a value computed according
   to the current date (or the date specified by <link linkend="PROPERTY_now">now</link>) and the length, duration or
   effort.</member>
   
   <member><varname>completedeffort</varname></member>
   <member>The effort of a task that has already been completed.</member>
   
   <member><varname>cost</varname></member>
   <member>The accumulated costs of the task and its sub tasks</member>
   
   <member><varname>criticalness</varname></member>
   <member>The criticalness of the task. It is a measure for the
   probability that an effort task gets the requested resources
   early.</member>
   
   <member><varname>daily</varname></member>
   <member>A day-by-day calendar view of the tasks</member>
   
   <member><varname>depends</varname></member>
   <member>The task index of the tasks on which this task
   depends</member>
   
   <member><varname>duration</varname></member>
   <member>The duration of the task</member>
   
   <member><varname>efficiency</varname></member>
   <member>The efficiency of the resource. It's a measurement of how
   much the resource can contribute to the workload of tasks.</member>
   
   <member><varname>effort</varname></member>
   <member>The effort put into the task</member>
   
   <member><varname>end</varname></member>
   <member>The end date of a task</member>
   
   <member><varname>endbuffer</varname></member>
   <member>The percentage of the endbuffer</member>
   
   <member><varname>endbufferstart</varname></member>
   <member>The start time of the end buffer</member>
   
   <member><varname>flags</varname></member>
   <member>The list of flags assigned to the task or resource</member>
   
   <member><varname>follows</varname></member>
   <member>The task index of the tasks that depend on this task</member>
   
   <member><varname>freeload</varname></member>
   <member>The workload of the resource that has not been allocated.</member>
   
   <member><varname>hierarchindex</varname></member>
   <member>The hierarchical index of a task. The index is calculated from the
   hierarchical structure of the list as well as the start and end dates.
   </member>
   
   <member><varname>hierarchno</varname></member>
   <member>The hierarchical number of a task. It is based on the order of
   declaration.</member>
   
   <member><varname>id</varname></member>
   <member>The global ID of a task</member>
   
   <member><varname>index</varname></member>
   <member>The index of a task. The index is calculated from the
   hierarchical structure of the list as well as the start and end dates.
   </member>
   
   <member><varname>maxeffort</varname></member>
   <member>The maximum daily load wanted for the resource</member>
   
   <member><varname>maxend</varname></member>
   <member>The latest desired end date</member>
   
   <member><varname>maxstart</varname></member>
   <member>The latest desired start date</member>
   
   <member><varname>mineffort</varname></member>
   <member>The minimum daily load wanted for the resource</member>
   
   <member><varname>minend</varname></member>
   <member>The earliest desired end date</member>
   
   <member><varname>minstart</varname></member>
   <member>The earliest desired start date</member>
   
   <member><varname>monthly</varname></member>
   <member>A month-by-month calendar view of the tasks</member>
   
   <member><varname>name</varname></member>
   <member>The name of a task, resource, or account</member>
   
   <member><varname>no</varname></member>
   <member>The task index in the list. It starts with 1 and increases for
   every listed item by 1.</member>
   
   <member><varname>note</varname></member>
   <member>The description of the task</member>
   
   <member><varname>pathcriticalness</varname></member>
   <member>The overall criticalness of the task. It is a measure for the
   probability that an effort task gets scheduled as early as
   possible. The tasks of the most critical path have the highest path
   criticalness.</member>
   
   <member><varname>priority</varname></member>
   <member>The scheduling priority</member>
   
   <member><varname>profit</varname></member>
   <member>The accumulated profit of the task and its sub tasks</member>
   
   <member><varname>projectid</varname></member>
   <member>The project ID of the task</member>
   
   <member><varname>projectids</varname></member>
   <member>The project IDs of the projects a resource is allocated to</member>
   
   <member><varname>quarterly</varname></member>
   <member>A quarter-by-quarter calendar view of the tasks</member>
   
   <member><varname>rate</varname></member>
   <member>The daily rate of the resource</member>
   
   <member><varname>reference</varname></member>
   <member>A reference to a URL that contains further information.</member>
   
   <member><varname>remainingeffort</varname></member>
   <member>The effort of a task that still needs to be done to
   complete the task..</member>
   
   <member><varname>resources</varname></member>
   <member>The names of the used resources</member>
   
   <member><varname>responsibilities</varname></member>
   <member>A list of all tasks indices for which a resource is
   responsible </member>
   
   <member><varname>responsible</varname></member>
   <member>The name of the resource responsible for a task</member>
   
   <member><varname>revenue</varname></member>
   <member>The accumulated revenue of the task and its sub tasks</member>
   
   <member><varname>scenario</varname></member>
   <member>The name of the scenario. This column is helpful when multiple
   scenarios are shown in the table. See also <link linkend="PROPERTY_scenarios">scenarios</link>.</member>
   
   <member><varname>schedule</varname></member>
   <member>A detailed schedule of the allocations for the resource.</member>
   
   <member><varname>scheduling</varname></member>
   <member>The scheduling direction of the task. ASAP (As Soon As
   Possible) tasks are scheduled from start to end, ALAP (As Late As
   Possible) are scheduled from end to start.</member>
   
   <member><varname>seqno</varname></member>
   <member>The task index in the order of declaration. Each
   time a task declaration is completed, the sequence number is increased
   by 1. </member>
   
   <member><varname>start</varname></member>
   <member>The start date of a task</member>
   
   <member><varname>startbuffer</varname></member>
   <member>The percentage of the start buffer</member>
   
   <member><varname>startbufferend</varname></member>
   <member>The end time of the start buffer</member>
   
   <member><varname>status</varname></member>
   <member>The current status of the task. This is derived from the
   current date or the date specified by <link linkend="PROPERTY_now">now</link> and the degree of completion. The
   degree of completion is either computed or has been specified by <link linkend="PROPERTY_complete">complete</link>.</member>
  
   <member><varname>statusnote</varname></member>
   <member>Some comment about the current status of the task.</member>
   
   <member><varname>total</varname></member>
   <member>Total accumulated values</member>
   
   <member><varname>utilization</varname></member>
   <member>The ratio between the allocated work load of the resource
   and it's overall available work load.</member>
   
   <member><varname>weekly</varname></member>
   <member>A week-by-week calendar view of the tasks</member>
   
   <member><varname>yearly</varname></member>
   <member>A year-by-year calendar view of the tasks</member>
   
   </simplelist></para><para>The following macros are supported for normal table cells:</para><para><simplelist type="horiz" columns="2">
<member><varname>$${0}</varname></member>
<member>This is the original value of the table cell. This macro is
useful if the user would like to extend the cell text with a fixed
string.</member>

<member><varname>$${accountid}</varname></member>
<member>The ID of the account.</member>

<member><varname>$${resourceid}</varname></member>
<member>The ID of the resource.</member>

<member><varname>$${taskid}</varname></member> <member>the
id of the task.</member>

</simplelist></para><para>Additionally the original contents of other cells of the same
report line can be accessed by the column ID. The following columns
are supported:</para><para><varname>index, no, hierarchindex, hierarchno, id,
name</varname></para><para>For the title or sub title of the calendar columns
(<varname>daily, weekly, monthly, quarterly, yearly</varname>) the
following macros are supported:</para><para><varname>$${day}, $${month}, $${week}, $${quarter},
$${year}</varname>.</para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_complete"><title>complete
   &lt;<parameter>percent</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">complete
   &lt;<parameter>percent</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies what percentage of the task is already
completed. This can be useful for project tracking. Reports with
calendar elements may show the completed part of the task in a
different color. The completion percentage has no impact on the
scheduler. It's meant for documentation purposes only.</para><para>Tasks may not have subtasks if this attribute is used.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>percent</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry><para>The value must be between 0 and 100.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_booking">booking</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Some task" "1.0" 2005-06-06 - 2005-06-26 {
  now 2005-06-15
}

resource tux "Tux"

task t "Task" { 
  start 2005-06-06
  effort 10d
  allocate tux
  # This task should have be be completed much more on Jun 15, but
  # it's only 20% done.
  complete 20
}

</screen></para></sect1><sect1 id="PROPERTY_copyright"><title>copyright
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">copyright
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Adds a copyright notice to all subsequently defined
reports. This notice may contain any text. The notice is added at the
bottom of the report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_caption">caption</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26
  
copyright "Bucks Beavis Inc."

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

htmltaskreport "ProjectBreakdown.html" {
  caption "This is the project breakdown"
  headline "Project Breakdown"
  columns name, start, end, daily
  # Don't hide any resource, meaning show them all.
  hideresource 0
}

</screen></para></sect1><sect1 id="PROPERTY_credit"><title>credit
   &lt;<parameter>date</parameter>&gt;
  
   &lt;<parameter>description</parameter>&gt;
  
   &lt;<parameter>amount</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">credit
   &lt;<parameter>date</parameter>&gt;
  
   &lt;<parameter>description</parameter>&gt;
  
   &lt;<parameter>amount</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Credits the specified amount to the account at the
specified date. The description should contain some information about
the reason for the transaction.</para></entry></row><row><entry morerows="3"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><parameter>description</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>amount</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_account">account</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_csvaccountreport"><title>csvaccountreport
   &lt;<parameter>filename</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">csvaccountreport
   &lt;<parameter>filename</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The report lists all specified account values as a comma
separated list. This is useful to export TaskJuggler data to Office
Suites like OpenOffice.org or KOffice.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>filename</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_accumulate">accumulate</link>, <link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_rollupaccount">rollupaccount</link>, <link linkend="PROPERTY_hideaccount">hideaccount</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_scenario_report">scenario</link>, <link linkend="PROPERTY_separator">separator</link>, <link linkend="PROPERTY_sortaccounts">sortaccounts</link>, <link linkend="PROPERTY_start_report">start</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_csvresourcereport"><title>csvresourcereport
   &lt;<parameter>filename</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">csvresourcereport
   &lt;<parameter>filename</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The report lists all specified resource values as a
comma separated list. This is useful to export TaskJuggler data to
Office Suites like OpenOffice.org or KOffice.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>filename</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_scenario_report">scenario</link>, <link linkend="PROPERTY_separator">separator</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_sortresources">sortresources</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_timeformat">timeformat</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_csvtaskreport"><title>csvtaskreport
   &lt;<parameter>filename</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">csvtaskreport
   &lt;<parameter>filename</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The report lists all specified task values as a comma
separated list. This is useful to export TaskJuggler data to Office
Suites like OpenOffice.org or KOffice.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>filename</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_scenario_report">scenario</link>, <link linkend="PROPERTY_separator">separator</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_sorttasks">sorttasks</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_taskroot">taskroot</link>, <link linkend="PROPERTY_timeformat">timeformat</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_taskreport">taskreport</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_currency"><title>currency
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">currency
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The default currency unit.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_currencyformat">currencyformat</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_currencyformat"><title>currencyformat
   &lt;<parameter>negativeprefix</parameter>&gt;
  
   &lt;<parameter>negativesuffix</parameter>&gt;
  
   &lt;<parameter>thousandseparator</parameter>&gt;
  
   &lt;<parameter>fractionseparator</parameter>&gt;
  
   &lt;<parameter>fractiondigits</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">currencyformat
   &lt;<parameter>negativeprefix</parameter>&gt;
  
   &lt;<parameter>negativesuffix</parameter>&gt;
  
   &lt;<parameter>thousandseparator</parameter>&gt;
  
   &lt;<parameter>fractionseparator</parameter>&gt;
  
   &lt;<parameter>fractiondigits</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>These values specify the default format used for all
currency values. The <varname>negativeprefix</varname> and
<varname>negativesuffix</varname> strings enclose negative currency
values. The <varname>thousandseparator</varname> can be used to make
large numbers more readable. The <varname>fractionseparator</varname>
separates the fractional part from the rest.
<varname>fractiondigits</varname> specifies how many fractional digits
should be shown at a maximum.</para></entry></row><row><entry morerows="5"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>negativeprefix</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>negativesuffix</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>thousandseparator</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>fractionseparator</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>fractiondigits</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_currency">currency</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Project" "1.0" 2000-01-01 - 2000-03-01 {
  # German number format: e. g.  -10000,20 5014,11
  numberformat "-" "" "" "," 2
  
  # US currency format: e. g. (10,000.20) 5,014.11
  currencyformat "(" ")" "," "." 2
}

task t "Task" {
  start 2000-01-01
  milestone
}
</screen></para></sect1><sect1 id="PROPERTY_dailymax"><title>dailymax
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">dailymax
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Sets the daily limit of a resource usage or a resource
allocation to a task.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_limits">limits</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_monthlymax">monthlymax</link>, <link linkend="PROPERTY_weeklymax">weeklymax</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project limits "Limits" "1.0" 2004-03-01 - 2004-05-01

# Default limit that affects all subsequently defined resources
limits {
  weeklymax 4d
}

resource r1 "R1" { 
  # Limit the usage of this resource to a maximum of 2 hours per day,
  # 6 hours per week and 2.5 days per month.
  limits { dailymax 2h weeklymax 6h monthlymax 2.5d }
}

resource r2 "R2"

task t1 "Task 1" {
  start 2004-03-01
  duration 60d
  # allocation is subject to resource limits
  allocate r1
}

task t2 "Task 2" {
  start 2004-03-01
  duration 60d
  # limits can also be specified per allocation
  allocate r2 {
    limits { dailymax 4h weeklymax 3d monthlymax 2w }
  }
}
</screen></para></sect1><sect1 id="PROPERTY_dailyworkinghours"><title>dailyworkinghours
   &lt;<parameter>hours</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">dailyworkinghours
   &lt;<parameter>hours</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Set the average number of working hours per day. This
is used as the base to convert working hours into working days. This
affects for example the <link linkend="PROPERTY_length">length</link> task
attribute. The default value is 8 hours and should work for most
Western countries.  The value you specify should match the settings
you specified for <link linkend="PROPERTY_workinghours">workinghours</link>.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>hours</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_yearlyworkingdays">yearlyworkingdays</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example Project" "1.0" 2000-01-01 - 2000-03-09 {
  # The following attributes are all optional. They illustrate the
  # default values. These attributes are only needed if you want to
  # specify different values than those listed below. 
  dailyworkinghours 8
  yearlyworkingdays 260.714
  timingresolution 60min
  timeformat "%Y-%m-%d %H:%M"
  shorttimeformat "%H:%M"
  currencyformat "(" ")" "," "." 0
  weekstartsmonday
    workinghours mon - fri 9:00 - 12:00, 13:00 - 18:00
    workinghours sat, sun off
  scenario plan "Plan" {
  }
}

task t "Task" {
  start 2000-01-01
}

</screen></para></sect1><sect1 id="PROPERTY_drawemptycontainersastasks"><title>drawemptycontainersastasks</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">drawemptycontainersastasks</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>If set, every container that has no subtask visible will be drawn as a regular task. The default behaviour is to draw containers as containers even if all their subtasks are hidden.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_depends"><title>depends
   &lt;<parameter>task</parameter>&gt;
  
   [, &lt;<parameter>task</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">depends
   &lt;<parameter>task</parameter>&gt;
  
   [, &lt;<parameter>task</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies that the task cannot start before the task
with the specified IDs have been finished. If multiple IDs are
specified, they must be separated by commas. IDs must be either global
or relative. A relative ID starts with a number of '!'. Each '!' moves
the scope to the parent task. Global IDs do
not contain '!', but have IDs separated by dots.</para><para>Each task ID can have optional attributes enclosed in
braces.</para><para>By using the 'depends' attribute, the scheduling policy is
automatically set to <varname>asap</varname>. If both
<varname>depends</varname> and <varname>precedes</varname> are used,
the last policy counts.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>task</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_gapduration">gapduration</link>, <link linkend="PROPERTY_gaplength">gaplength</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scheduling">scheduling</link>, <link linkend="PROPERTY_precedes">precedes</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project p "P" "1.0" 2003-11-09 - 2003-12-24

task foo1 "foo1" {
  task foo2 "foo2" {
    start 2003-12-04
    milestone 
  }
  task foo3 "foo3" { 
    depends !foo2
    length 1d 
  }
}
task bar "bar" {
  depends foo1.foo2
  length 2d
}

task bar1 "bar1" {
  depends foo1 { gapduration 2d }, bar { gaplength 1d }
  duration 2d
}

</screen></para></sect1><sect1 id="PROPERTY_disabled"><title>disabled</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">disabled</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Disables the scenario for scheduling.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenario">scenario</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_enabled">enabled</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example" "1.0" 2005-05-29 - 2005-07-01 {
  scenario plan "Planned Scenario" {
    scenario actual "Actual Scenario"
    scenario test "Test Scenario" {
      disabled
    }
  }
}

task t "Task" {
  start 2005-05-29
  actual:start 2005-06-03
  test:start 2005-06-07
}

</screen></para></sect1><sect1 id="PROPERTY_duration"><title>duration
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">duration
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the time the task occupies the resources.
This is calendar time, not working time. 7d means one week. If
resources are specified they are allocated when available.
Availability of resources has no impact on the duration of the task.
It will always be the specified duration.</para><para>Tasks may not have subtasks if this attribute is used.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_effort">effort</link>, <link linkend="PROPERTY_length">length</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project duration "Duration Example" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task t "Enclosing" {
  start 2005-06-06
  task durationTask "Duration Task" {
    # This task is 10 calendar days long.
    duration 10d
  }

  task intervalTask "Interval Task" {
    # This task is similar to the durationTask. Instead of a start
    # date and a duration it has a fixed start and end date.
    end 2005-06-17
  }

  task lengthTask "Length Task" {
    # This task 10 working days long. So about 12 calendar days.
    length 10d
  }

  task effortTask "Effort Task" {
    effort 10d
    allocate tux
  }
}

</screen></para></sect1><sect1 id="PROPERTY_efficiency"><title>efficiency
   &lt;<parameter>value</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">efficiency
   &lt;<parameter>value</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The efficiency of a resource can be used for two
purposes. First you can use it as a crude way to model a team. A team
of 5 people should have an efficiency of 5.0. Keep in mind that you
cannot track the member of the team individually if you use this
feature. The other use is to model performance variations between your
resources.</para><para>All resources that do not contribute effort to the task, should
have an efficiency of 0.0.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_resource">resource</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_load">load</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Resource Efficiency Example" "1.0" 2005-07-21 - 2005-07-22

# A team of 5 people. They can only be assigned en block. Either all
# or nobody works.
resource tuxies "Tuxies" { efficiency 5.0 } 

# A hard-working guy
resource tux1 "Tux 1" { efficiency 1.2 }

# And a lazy one
resource tux2 "Tux 2" { efficiency 0.9 }

# And a thing that cannot do any work
resource confRoom "Conference Room" { efficiency 0 }

task t "An important date" {
  start 2005-07-21
}

</screen></para></sect1><sect1 id="PROPERTY_effort"><title>effort
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">effort
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the effort needed to complete the task. An
effort of 4d can be done with 2 full-time resources in 2 days. The
task will not finish before the resources have contributed the
specified effort. So the duration of the task will depend on the
availability of the resources.</para><para>WARNING: In almost all real world projects effort is not the product
of time and resources. This is only true if the task can be
partitioned without adding any overhead. For more information about
this read "The Mythical Man-Month" by Frederick P. Brooks, Jr.</para><para>Tasks may not have subtasks if this attribute is
used.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_duration">duration</link>, <link linkend="PROPERTY_length">length</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project duration "Duration Example" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task t "Enclosing" {
  start 2005-06-06
  task durationTask "Duration Task" {
    # This task is 10 calendar days long.
    duration 10d
  }

  task intervalTask "Interval Task" {
    # This task is similar to the durationTask. Instead of a start
    # date and a duration it has a fixed start and end date.
    end 2005-06-17
  }

  task lengthTask "Length Task" {
    # This task 10 working days long. So about 12 calendar days.
    length 10d
  }

  task effortTask "Effort Task" {
    effort 10d
    allocate tux
  }
}

</screen></para></sect1><sect1 id="PROPERTY_enabled"><title>enabled</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">enabled</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Enable the scenario for scheduling. This is the default
  for the top-level scenario.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenario">scenario</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_disabled">disabled</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_end_report"><title>end
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">end
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the end date of the report. In task reports only
tasks that start before this end date are listed.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_start_report">start</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2000-01-01 - 2000-03-01

resource r "Resource"

task t "Task" {
  start 2000-01-01
  effort 10d
  allocate r
}

# Export the project as fully scheduled project.
export "FullProject.tjp" {
  taskattributes all
  hideresource 0
}

# Export only bookings for 1st week as resource supplements
export "Week1Bookings.tji" {
  start 2000-01-01
  end 2000-01-08
  properties bookings
  hideresource 0
}
</screen></para></sect1><sect1 id="PROPERTY_end"><title>end
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">end
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The end date of the task. When specified for the
  top-level (default) scenario this attributes also
  implicitly sets the scheduling policy of the tasks to
  <varname>alap</varname>.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_period">period</link>, <link linkend="PROPERTY_start">start</link>, <link linkend="PROPERTY_maxend">maxend</link>, <link linkend="PROPERTY_minend">minend</link>, <link linkend="PROPERTY_scheduling">scheduling</link>, <link linkend="PROPERTY_endbuffer">endbuffer</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project duration "Duration Example" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task t "Enclosing" {
  start 2005-06-06
  task durationTask "Duration Task" {
    # This task is 10 calendar days long.
    duration 10d
  }

  task intervalTask "Interval Task" {
    # This task is similar to the durationTask. Instead of a start
    # date and a duration it has a fixed start and end date.
    end 2005-06-17
  }

  task lengthTask "Length Task" {
    # This task 10 working days long. So about 12 calendar days.
    length 10d
  }

  task effortTask "Effort Task" {
    effort 10d
    allocate tux
  }
}

</screen></para></sect1><sect1 id="PROPERTY_endbuffer"><title>endbuffer
   &lt;<parameter>percent</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">endbuffer
   &lt;<parameter>percent</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies how much slack time you expect to have at the
end of the task. This has no impact on the scheduling of the process.
This information is for documentation purposes only.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>percent</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry><para>Percent slack of the overall effort, duration or length of
the task.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_duration">duration</link>, <link linkend="PROPERTY_effort">effort</link>, <link linkend="PROPERTY_length">length</link>, <link linkend="PROPERTY_startbuffer">startbuffer</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "$Id" 2000-01-01 - 2000-01-20

resource tux1 "Tux1"

task t1 "Task1" {
  start 2000-01-01
  length 10d
  # 20% of the working time of this task are marked as buffer at the
  # beginning.
  startbuffer 20
  # An additional 10% of the working time of this task are marked as
  # buffer at the end.
  endbuffer 10.0
  allocate tux1
}

# Generate a report that lists the start end end dates for the
# buffers.
htmltaskreport "Buffer.html" {
  columns no, name, start, startbufferend, endbufferstart, end,
  startbuffer, endbuffer, duration, effort, daily
  hideresource 0
}
</screen></para></sect1><sect1 id="PROPERTY_endcredit"><title>endcredit
   &lt;<parameter>amount</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">endcredit
   &lt;<parameter>amount</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies an amount that is credited to the account
specified by the <link linkend="PROPERTY_account_task">account</link> property
at the moment the tasks ends.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>amount</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_startcredit">startcredit</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_export"><title>export
   &lt;<parameter>filename</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">export
   &lt;<parameter>filename</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The export report looks like a regular TaskJuggler file
but contains fixed start and end dates for all tasks. The tasks only
have start and end times, their description and their project id
listed. No other attributes are exported unless they are requested
using the <link linkend="PROPERTY_taskattributes">taskattributes</link> attribute. The
contents also depends on the extension of the file name. If the file
name ends with <varname>.tjp</varname> a complete project with header,
resource and shift definitions is generated. In case it ends with
<varname>.tji</varname> only the tasks and resource allocations are
exported.</para><para>If specified the resource usage for the tasks is reported as
well. But only those allocations are listed that belong to tasks
listed in the same export report.</para><para>The export report can be used to share certain tasks or
milestones with other projects. When an export report is included the
project IDs of the included tasks must be declared first with the
<link linkend="PROPERTY_projectid">project id property</link>.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>filename</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_properties">properties</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_scenarios">scenarios</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_taskattributes">taskattributes</link>, <link linkend="PROPERTY_taskroot">taskroot</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_include">include</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2000-01-01 - 2000-03-01

resource r "Resource"

task t "Task" {
  start 2000-01-01
  effort 10d
  allocate r
}

# Export the project as fully scheduled project.
export "FullProject.tjp" {
  taskattributes all
  hideresource 0
}

# Export only bookings for 1st week as resource supplements
export "Week1Bookings.tji" {
  start 2000-01-01
  end 2000-01-08
  properties bookings
  hideresource 0
}
</screen></para></sect1><sect1 id="PROPERTY_extend"><title>extend
   &lt;<parameter>property</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">extend
   &lt;<parameter>property</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Often it is desirable to collect more information in
the project file than is necessary for task scheduling and resource
allocation. To add such information to tasks, resources or accounts
the user can extend these properties with user-defined attributes. The
new attributes can be <varname>text</varname> or
<varname>reference</varname> attributes. Optionally the user can
specify if the attribute value should be inherited from the enclosing
property.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>property</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>Possible values are <varname>task</varname>, <varname>
resource</varname> or <varname> account</varname></para></entry></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_inherit">inherit</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para>&lt;type&gt; &lt;id&gt; &lt;name&gt;</para><para><simplelist type="horiz" columns="2">
<member>type:</member>
<member>Specifies the type of the user-defined
attribute. <varname>text</varname> is a simple text attribute.
<varname>reference</varname> is an URL to another document.</member>

<member>id:</member>
<member>An user-defined ID that is unique within
the used-defined task attributes. To avoid conflicts with future
built-in attributes, all user defined attributes must start with a
capital letter.</member>

<member>name:</member>
<member>A short description of the attribute. It will be used as
default column header in reports.</member> 

</simplelist></para><para><screen>project ca "Custom Attributes" "1.0" 2003-05-28 - 2003-06-28 {
  extend task {
    reference MyLink "My Link"
    text MyText "My Text" { inherit }
  }
}

task t "Task" {
  start 2003-05-28
  milestone
  MyLink "http://www.taskjuggler.org" { label "TJ Web" }
  MyText "TaskJuggler is great!"
}

</screen></para></sect1><sect1 id="PROPERTY_flags"><title>flags
   &lt;<parameter>flag</parameter>&gt;
  
   [, &lt;<parameter>flag</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">flags
   &lt;<parameter>flag</parameter>&gt;
  
   [, &lt;<parameter>flag</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Attach a set of flags. The flags can be used in logical
expressions to filter properties from the reports.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>flag</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_resource">resource</link>, <link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_flags_declare">flags</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Flags Example" "1.0" 2005-07-21 - 2005-08-26

# Declare the flag to mark important tasks
flags important

task items "Project breakdown" {
  start 2005-07-22

  task plan "Plan work" {
    length 3d
    flags important
  }

  task implementation "Implement work" {
    length 5d
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    flags important
  }
}

taskreport "My Tasks" {
  # Show only the important tasks
  hidetask ~important
  # Turn treemode off so parent tasks are not automatically included.
  sorttasks nameup
}

</screen></para></sect1><sect1 id="PROPERTY_flags_declare"><title>flags
   &lt;<parameter>flag</parameter>&gt;
  
   [, &lt;<parameter>flag</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">flags
   &lt;<parameter>flag</parameter>&gt;
  
   [, &lt;<parameter>flag</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Declare a set of flags for later use.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>flag</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_flags">flags</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Flags Example" "1.0" 2005-07-21 - 2005-08-26

# Declare the flag to mark important tasks
flags important

task items "Project breakdown" {
  start 2005-07-22

  task plan "Plan work" {
    length 3d
    flags important
  }

  task implementation "Implement work" {
    length 5d
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    flags important
  }
}

taskreport "My Tasks" {
  # Show only the important tasks
  hidetask ~important
  # Turn treemode off so parent tasks are not automatically included.
  sorttasks nameup
}

</screen></para></sect1><sect1 id="PROPERTY_gapduration"><title>gapduration
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">gapduration
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the minimum required gap between the end of a
  preceding task and the start of this task, or the start of a
  following task and the end of this task.  This is calendar time, not
  working time. 7d means one week.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_depends">depends</link>, <link linkend="PROPERTY_precedes">precedes</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_duration">duration</link>, <link linkend="PROPERTY_gaplength">gaplength</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example Project" "1.0" 2005-05-29 - 2005-07-01

task t1 "Task 1" {
  start 2005-05-29
}

task t2 "Task 2" {
  # starts 5 calendar days after t1
  depends !t1 { gapduration 5d }
}

task t3 "Task 3" {
  # starts 5 working days after t1
  depends !t1 { gaplength 5d }
}
</screen></para></sect1><sect1 id="PROPERTY_gaplength"><title>gaplength
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">gaplength
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the minimum required gap between the end of a
  preceding task and the start of this task, or the start of a
  following task and the end of this task. This is working time, not
  calendar time. 7d means 7 working days, not one week.  Whether a day
  is considered a working day or not depends on the defined <link linkend="PROPERTY_workinghours">working hours</link> and global
  <link linkend="PROPERTY_vacation_global">vacations</link>.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_depends">depends</link>, <link linkend="PROPERTY_precedes">precedes</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_gapduration">gapduration</link>, <link linkend="PROPERTY_length">length</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example Project" "1.0" 2005-05-29 - 2005-07-01

task t1 "Task 1" {
  start 2005-05-29
}

task t2 "Task 2" {
  # starts 5 calendar days after t1
  depends !t1 { gapduration 5d }
}

task t3 "Task 3" {
  # starts 5 working days after t1
  depends !t1 { gaplength 5d }
}
</screen></para></sect1><sect1 id="PROPERTY_headline"><title>headline
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">headline
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the headline for a report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_copyright">copyright</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26
  
copyright "Bucks Beavis Inc."

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

htmltaskreport "ProjectBreakdown.html" {
  caption "This is the project breakdown"
  headline "Project Breakdown"
  columns name, start, end, daily
  # Don't hide any resource, meaning show them all.
  hideresource 0
}

</screen></para></sect1><sect1 id="PROPERTY_hideaccount"><title>hideaccount
   &lt;<parameter>logicalexpression</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">hideaccount
   &lt;<parameter>logicalexpression</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Do not show accounts that match the specified logical
expression. If the report is sorted in tree mode (default) then
enclosing accounts are listed even if the expression matches the
account.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>logicalexpression</parameter></entry><entry><link linkend="TYPE_LOGICALEXPRESSION">LOGICALEXPRESSION</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_hidecelltext"><title>hidecelltext
   &lt;<parameter>expression</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">hidecelltext
   &lt;<parameter>expression</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>If the expression is true, the cell will be empty.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>expression</parameter></entry><entry><link linkend="TYPE_LOGICALEXPRESSION">LOGICALEXPRESSION</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_hidecellurl">hidecellurl</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_hidecellurl"><title>hidecellurl
   &lt;<parameter>expression</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">hidecellurl
   &lt;<parameter>expression</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>If the expression is true, no URL will be attached to the cell
contents.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>expression</parameter></entry><entry><link linkend="TYPE_LOGICALEXPRESSION">LOGICALEXPRESSION</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_hidecelltext">hidecelltext</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_inherit"><title>inherit</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">inherit</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>If this flag is present a user defined attribute gets
  inherited by child properties when specified for a parent.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_extend">extend</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_hideresource"><title>hideresource
   &lt;<parameter>logicalexpression</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">hideresource
   &lt;<parameter>logicalexpression</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Do not show resources that match the specified logical
expression. If the report is sorted in tree mode (default) then
enclosing resources are listed even if the expression matches the
resource.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>logicalexpression</parameter></entry><entry><link linkend="TYPE_LOGICALEXPRESSION">LOGICALEXPRESSION</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_icalreport">icalreport</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26
  
copyright "Bucks Beavis Inc."

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

htmltaskreport "ProjectBreakdown.html" {
  caption "This is the project breakdown"
  headline "Project Breakdown"
  columns name, start, end, daily
  # Don't hide any resource, meaning show them all.
  hideresource 0
}

</screen></para></sect1><sect1 id="PROPERTY_hidetask"><title>hidetask
   &lt;<parameter>logicalexpression</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">hidetask
   &lt;<parameter>logicalexpression</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Do not show tasks that match the specified logical
expression. If the report is sorted in tree mode (default) then
enclosing tasks are listed even if the expression matches the
task.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>logicalexpression</parameter></entry><entry><link linkend="TYPE_LOGICALEXPRESSION">LOGICALEXPRESSION</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_icalreport">icalreport</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26
  
resource tux "Tux"
resource tuxia "Tuxia"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    task phase1 "Phase 1" {
      effort 5d
      allocate tuxia
    }
    task phase2 "Phase 2" {
      effort 2d
      allocate tux
    }
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

taskreport "Project Breakdown" {
  columns start, end, effort
  # Open only the first level of tasks
  rolluptask treelevel() &gt; 1
}

resourcereport "Resource Allocations" {
  columns id, effort
  # We only want to see the tasks with real work (without parents),
  # sorted by name
  sorttasks nameup
  hidetask ~isleaf()
}

</screen></para></sect1><sect1 id="PROPERTY_htmlaccountreport"><title>htmlaccountreport
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">htmlaccountreport
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The report lists all specified account values as a HTML
page.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_accumulate">accumulate</link>, <link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_hideaccount">hideaccount</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_rawhead">rawhead</link>, <link linkend="PROPERTY_rawstylesheet">rawstylesheet</link>, <link linkend="PROPERTY_rawtail">rawtail</link>, <link linkend="PROPERTY_rollupaccount">rollupaccount</link>, <link linkend="PROPERTY_scenarios">scenarios</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_sortaccounts">sortaccounts</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_timeformat">timeformat</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_htmlmonthlycalendar"><title>htmlmonthlycalendar
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">htmlmonthlycalendar
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Generates a calendar like HTML report with one column
  for each month.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_barlabels">barlabels</link>, <link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_rawhead">rawhead</link>, <link linkend="PROPERTY_rawstylesheet">rawstylesheet</link>, <link linkend="PROPERTY_rawtail">rawtail</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_scenarios">scenarios</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_showprojectids">showprojectids</link>, <link linkend="PROPERTY_sortresources">sortresources</link>, <link linkend="PROPERTY_sorttasks">sorttasks</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_taskroot">taskroot</link>, <link linkend="PROPERTY_timeformat">timeformat</link>, <link linkend="PROPERTY_weekdays">weekdays</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_htmlresourcereport"><title>htmlresourcereport
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">htmlresourcereport
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The report lists all resources and their respective
values as a HTML page. The tasks that the resources are allocated to
can be listed as well.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_barlabels">barlabels</link>, <link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_rawhead">rawhead</link>, <link linkend="PROPERTY_rawstylesheet">rawstylesheet</link>, <link linkend="PROPERTY_rawtail">rawtail</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_scenarios">scenarios</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_showprojectids">showprojectids</link>, <link linkend="PROPERTY_sortresources">sortresources</link>, <link linkend="PROPERTY_sorttasks">sorttasks</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_taskroot">taskroot</link>, <link linkend="PROPERTY_timeformat">timeformat</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_htmlstatusreport"><title>htmlstatusreport
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">htmlstatusreport
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Generates a HTML status report. The report consists of 4
tables: Overdue tasks, ongoing tasks, finished tasks and upcoming
tasks. The default reporting interval is 1 week.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_rawhead">rawhead</link>, <link linkend="PROPERTY_rawstylesheet">rawstylesheet</link>, <link linkend="PROPERTY_rawtail">rawtail</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_htmltaskreport"><title>htmltaskreport
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">htmltaskreport
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The report lists all tasks and their respective values
as a HTML page. The resources that are allocated to the tasks can be
listed as well.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_barlabels">barlabels</link>, <link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_rawhead">rawhead</link>, <link linkend="PROPERTY_rawstylesheet">rawstylesheet</link>, <link linkend="PROPERTY_rawtail">rawtail</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_scenarios">scenarios</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_showprojectids">showprojectids</link>, <link linkend="PROPERTY_sortresources">sortresources</link>, <link linkend="PROPERTY_sorttasks">sorttasks</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_taskroot">taskroot</link>, <link linkend="PROPERTY_timeformat">timeformat</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_htmlweeklycalendar"><title>htmlweeklycalendar
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">htmlweeklycalendar
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Generates a calendar like HTML report with one row for
  each week.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_barlabels">barlabels</link>, <link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_rawhead">rawhead</link>, <link linkend="PROPERTY_rawstylesheet">rawstylesheet</link>, <link linkend="PROPERTY_rawtail">rawtail</link>, <link linkend="PROPERTY_resourcereport_type">resourcereport</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_scenarios">scenarios</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_showprojectids">showprojectids</link>, <link linkend="PROPERTY_sortresources">sortresources</link>, <link linkend="PROPERTY_sorttasks">sorttasks</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_taskroot">taskroot</link>, <link linkend="PROPERTY_timeformat">timeformat</link>, <link linkend="PROPERTY_weekdays">weekdays</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_icalreport"><title>icalreport
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">icalreport
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Generates an ICal report according to RFC2445. This is
  standardized format used by many calendar applications such as
  KOrganizer. The filename should have a
  <varname>.ics</varname> extension.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_scenarios">scenarios</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"/></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "ICal Export Demo" "1.0" 2005-06-06 - 2005-06-26
  
resource tux "Tux"
resource tuxia "Tuxia"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    task phase1 "Phase 1" {
      effort 5d
      allocate tuxia
    }
    task phase2 "Phase 2" {
      effort 2d
      allocate tux
    }
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

icalreport "Tux-TODO-List.ics" {
  # Only export tasks that tux is assigned to
  hidetask ~isDutyOf(tux, plan)
}
</screen></para></sect1><sect1 id="PROPERTY_include"><title>include
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">include
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Includes the specified file name as if its contents
would be written instead of the include property. The only exception
is the <varname>include</varname> statement itself. When the included
files contains other include statements or report definitions, the
filenames are relative to file where they are defined in.
<varname>include</varname> commands can be used in the project header,
at global scope or between property declarations of tasks, resources,
and accounts.</para><para>For technical reasons you have to supply the optional pair of
curly brackets if the include is followed immediately by a macro call that
is defined within the included file.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_taskprefix">taskprefix</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_export">export</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project yourId "Your Project" "1.0" 2005-04-05 - 2005-05-01

task main "Main task" {
}

include "Include2.tji" { taskprefix main }

</screen></para></sect1><sect1 id="PROPERTY_journalentry"><title>journalentry
   &lt;<parameter>date</parameter>&gt;
  
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">journalentry
   &lt;<parameter>date</parameter>&gt;
  
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Journal entries are meant for documentation purposes.
  They consist of a date and a text entry. Each journal entry adds a
  new entry to the journal of the property.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, <link linkend="PROPERTY_resource">resource</link>, <link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_note">note</link>, <link linkend="PROPERTY_statusnote">statusnote</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project journal "Project" "$Id" 2000-01-01 - 2000-01-04 {
  journalentry 2000-01-02 "The project started."
  journalentry 2000-01-03 "We made some progress."
}

resource tux "Tux" {
  journalentry 2000-01-02 "This guy is a bummer."
}

task t1 "Task1" {
  journalentry 2000-01-01 "Probably will be done sooner."
  journalentry 2000-01-03 "Maybe not."
  start 2000-01-01
  milestone
}

taskreport "Tasks"
</screen></para></sect1><sect1 id="PROPERTY_label"><title>label
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">label
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the text for the URL in HTML reports. If no
  label is specified, the URL will be displayed. If a label has been
  specified, the URL will not be shown.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_reference">reference</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project ca "Custom Attributes" "1.0" 2003-05-28 - 2003-06-28 {
  extend task {
    reference MyLink "My Link"
    text MyText "My Text" { inherit }
  }
}

task t "Task" {
  start 2003-05-28
  milestone
  MyLink "http://www.taskjuggler.org" { label "TJ Web" }
  MyText "TaskJuggler is great!"
}

</screen></para></sect1><sect1 id="PROPERTY_length"><title>length
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">length
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the time the task occupies the resources.
This is working time, not calendar time. 7d means 7 working days, not
one week.  Whether a day is considered a working day or not depends on
the defined <link linkend="PROPERTY_workinghours">working hours</link>
and global <link linkend="PROPERTY_vacation_global">vacations</link>. A task
with a length specification may have resource allocations. Resources
are allocated when they are available. The availability has no impact
on the duration of the task. A day where none of the specified
resources is available is still considered a working day, if there is
no global vacation or global working time defined.</para><para>Tasks may not have subtasks if this attribute is used.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_duration">duration</link>, <link linkend="PROPERTY_effort">effort</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project duration "Duration Example" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task t "Enclosing" {
  start 2005-06-06
  task durationTask "Duration Task" {
    # This task is 10 calendar days long.
    duration 10d
  }

  task intervalTask "Interval Task" {
    # This task is similar to the durationTask. Instead of a start
    # date and a duration it has a fixed start and end date.
    end 2005-06-17
  }

  task lengthTask "Length Task" {
    # This task 10 working days long. So about 12 calendar days.
    length 10d
  }

  task effortTask "Effort Task" {
    effort 10d
    allocate tux
  }
}

</screen></para></sect1><sect1 id="PROPERTY_limits"><title>limits</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">limits</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies limits on the usage of a resource in general,
or of the allocation of a resource to a task. This property replaces
the less flexible properties <link linkend="PROPERTY_maxeffort">maxeffort</link> and <link linkend="PROPERTY_load">load</link>.</para><para>When applied to an allocation this limits the use of all
alternative resources or group members as a whole. There has been a
bug in version 2.0.x that resulted in faulty limit computation. This
has been fixed with version 2.1.</para></entry></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_dailymax">dailymax</link>, <link linkend="PROPERTY_weeklymax">weeklymax</link>, <link linkend="PROPERTY_monthlymax">monthlymax</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <link linkend="PROPERTY_allocate">allocate</link>, <link linkend="PROPERTY_resource">resource</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project limits "Limits" "1.0" 2004-03-01 - 2004-05-01

# Default limit that affects all subsequently defined resources
limits {
  weeklymax 4d
}

resource r1 "R1" { 
  # Limit the usage of this resource to a maximum of 2 hours per day,
  # 6 hours per week and 2.5 days per month.
  limits { dailymax 2h weeklymax 6h monthlymax 2.5d }
}

resource r2 "R2"

task t1 "Task 1" {
  start 2004-03-01
  duration 60d
  # allocation is subject to resource limits
  allocate r1
}

task t2 "Task 2" {
  start 2004-03-01
  duration 60d
  # limits can also be specified per allocation
  allocate r2 {
    limits { dailymax 4h weeklymax 3d monthlymax 2w }
  }
}
</screen></para></sect1><sect1 id="PROPERTY_load"><title>load
   &lt;<parameter>factor</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">load
   &lt;<parameter>factor</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This property has been replaced by <link linkend="PROPERTY_limits">limits</link>. The further usage of load is
strongly discouraged. It will be dropped from future versions of
TaskJuggler.</para><para>Specifies the daily load of a resource for an
allocation. A load of 1.0 (default) means the resource is allocated
for as many hours as specified by <link linkend="PROPERTY_dailyworkinghours">dailyworkinghours</link>. A load
of 0.5 means half that many hours. This only works if enough working
hours have been specified for the particular day.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>factor</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"/></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_workinghours">workinghours</link>, <link linkend="PROPERTY_vacation_global">vacation</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_loadunit"><title>loadunit
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">loadunit
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the unit in which loads are reported in a
report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>See table below for possible values.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_dailyworkinghours">dailyworkinghours</link>, <link linkend="PROPERTY_yearlyworkingdays">yearlyworkingdays</link></entry></row></tbody></tgroup></informaltable></para><para><simplelist type="horiz" columns="2">

   <member><varname>days</varname></member>
   <member>Show load in man or resource-days.</member>
   
   <member><varname>hours</varname></member>
   <member>Show load in man resource-hours.</member>
   
   <member><varname>longauto</varname></member>
   <member>Show load in the most appropriate unit and show long
   unit name.</member>
   
   <member><varname>minutes</varname></member>
   <member>Show load in man or resource-minutes.</member>
   
   <member><varname>months</varname></member>
   <member>Show load in man or resource-months.</member>
   
   <member><varname>shortauto</varname></member>
   <member>Show load in the most appropriate unit and show short
   unit name.</member>
   
   <member><varname>weeks</varname></member>
   <member>Show load in man or resource-weeks.</member>
   
   <member><varname>years</varname></member>
   <member>Show load in man or resource-years.</member>
   
   </simplelist></para></sect1><sect1 id="PROPERTY_macro"><title>macro
   &lt;<parameter>id</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">macro
   &lt;<parameter>id</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Defines a text fragment that can later be inserted by
using the specified ID.</para><para>See the description of the <varname>include</varname> statement
for details on how to use a macro immediately after including the file
where the macro has been defined in.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>id</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"/></row></tbody></tgroup></informaltable></para><para>The body is not optional. It must be enclosed in [ ].
Macros can be declared like this:</para><para><screen>
macro FOO [ This text ];
</screen></para><para>If later ${FOO} is found in the project file, it is expanded to ' This
text '. Macros may have arguments. Arguments are special macros with
numbers as names. The number specifies the index of the
argument.</para><para><screen>
macro FOO [ This ${1} text ]
</screen></para><para>will expand to ' This stupid text ' if called as ${FOO
"stupid"}. Macros may call other macros.</para><para>Macro IDs should have at least one uppercase
letter as all lowercase letter IDs may be used in a later version for
built-in macros like 'if', 'expr' or 'for'. Macro names can be
prefixed by a question mark. In this case the macro will expand to
nothing if the macro is not defined. Otherwise the undefined macro
would be flagged with an error message.</para><para><screen>
This macro call ${?foo} will expand to nothing if foo is undefined.
</screen></para></sect1><sect1 id="PROPERTY_mandatory"><title>mandatory</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">mandatory</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Makes a resource allocation mandatory. This means, that
  for each time slot only then resources are allocated when all
  mandatory resources are available. So either all mandatory resources
  can be allocated for the time slot, or no resource will be
  allocated.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_allocate">allocate</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Project" "1.0" 2000-01-01 - 2000-03-01

resource tuxus "Tuxus"
resource truck "Truck" {
  # Truck does not do any work!
  efficiency 0.0
}

task t "Ship stones to customers" {
  start 2000-01-01
  effort 5d
  # We need the truck to deliver the stones, so only allocate
  # tuxus when the truck is available.
  allocate tuxus
  allocate truck { mandatory }
}

</screen></para></sect1><sect1 id="PROPERTY_maxeffort"><title>maxeffort
   &lt;<parameter>workingdays</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">maxeffort
   &lt;<parameter>workingdays</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This property has been replaced by <link linkend="PROPERTY_limits">limits</link>. The further usage of maxeffort is
strongly discouraged. It will be dropped from future versions of
TaskJuggler.</para><para>The daily maximum effort for a resource. Resources will not be
scheduled to be used more than this value. A value of 1.0 means a full
working day. 0.5 means half a working day.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>workingdays</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <link linkend="PROPERTY_resource">resource</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_dailyworkinghours">dailyworkinghours</link>, <link linkend="PROPERTY_workinghours">workinghours</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_maxend"><title>maxend
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">maxend
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the maximum wanted end time of the task. The
value is not used during scheduling, but is checked after all tasks
have been scheduled. If the end of the task is later than
the specified value, then an error is reported.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_maxstart">maxstart</link>, <link linkend="PROPERTY_minend">minend</link>, <link linkend="PROPERTY_minstart">minstart</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project minmax "Min Max Example" "1.0" 2005-06-06 - 2005-06-26

task items "Project breakdown" {
  start 2005-06-07

  task plan "Plan work" {
		note "Some more information about this task."
    # Set acceptable interval for task start
    minstart 2005-06-06
    maxstart 2005-06-08
    length 3d
    # Set acceptable interval for task end
    minend 2005-06-09
    maxend 2005-06-11
  }
}

</screen></para></sect1><sect1 id="PROPERTY_maxpaths"><title>maxpaths
   &lt;<parameter>paths</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">maxpaths
   &lt;<parameter>paths</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The scheduler contains a critical path detector.
  Detecting a critical path requires the analysis of every possible
  path between 2 end tasks. The number of paths that have to be
  checked can grow exponentially with the number of tasks and their
  dependencies. By default, only 10 million paths will be checked.
  With this parameter the user can define how many paths should be
  checked. Using 0 as value will trigger an exhaustive search under
  all circumstances. Scheduling times of hours if not days are
  certainly possible for large projects.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>paths</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenario">scenario</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_minslackrate">minslackrate</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_maxstart"><title>maxstart
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">maxstart
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the maximum wanted start time of the task.
The value is not used during scheduling, but is checked after all
tasks have been scheduled. If the start of the task is later than
the specified value, then an error is reported.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_maxend">maxend</link>, <link linkend="PROPERTY_minend">minend</link>, <link linkend="PROPERTY_minstart">minstart</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project minmax "Min Max Example" "1.0" 2005-06-06 - 2005-06-26

task items "Project breakdown" {
  start 2005-06-07

  task plan "Plan work" {
		note "Some more information about this task."
    # Set acceptable interval for task start
    minstart 2005-06-06
    maxstart 2005-06-08
    length 3d
    # Set acceptable interval for task end
    minend 2005-06-09
    maxend 2005-06-11
  }
}

</screen></para></sect1><sect1 id="PROPERTY_minend"><title>minend
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">minend
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the minimum wanted end time of the task. The
value is not used during scheduling, but is checked after all tasks
have been scheduled. If the end of the task is earlier than
the specified value, then an error is reported.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_maxend">maxend</link>, <link linkend="PROPERTY_maxstart">maxstart</link>, <link linkend="PROPERTY_minstart">minstart</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project minmax "Min Max Example" "1.0" 2005-06-06 - 2005-06-26

task items "Project breakdown" {
  start 2005-06-07

  task plan "Plan work" {
		note "Some more information about this task."
    # Set acceptable interval for task start
    minstart 2005-06-06
    maxstart 2005-06-08
    length 3d
    # Set acceptable interval for task end
    minend 2005-06-09
    maxend 2005-06-11
  }
}

</screen></para></sect1><sect1 id="PROPERTY_minslackrate"><title>minslackrate
   &lt;<parameter>rate</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">minslackrate
   &lt;<parameter>rate</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the minimum percentage of slack a task path
  must have before it is marked as critical. A path is any list of
  explicitely or implicitely connected tasks measured from first task
  to last task. The slack is the time between start of the
  first task and end of the last task that is not covered by any task
  of the path. The default value is 5%.</para><para>Larger values in combination with a project that uses lots of
  inherited dependencies and long dependency pathes can result in very
  long scheduling times. The more slack you require, the more pathes
  have to be searched till the end. For larger projects an increase of
  5% can turn a 10 second scheduling run into a 1 hour or more
  scheduling run. If you need larger slack rate values, avoid the use
  of inherited dependencies.</para><para>A value of 0 turns off the critical path detector.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>rate</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenario">scenario</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_maxpaths">maxpaths</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Critical Path Example" "1.0" 2006-08-22 +1m {
  scenario plan "Planned Scenario" {
    # All pathes with less than 15% slack should be marked as
    # critical.
    minslackrate 15.0
  }
}

task t1 "Task 1" {
  start 2006-08-22
  duration 2d
}

task t2 "Task 2" {
  depends t1 { gaplength 2d }
  duration 3d
}

task t3 "Task 3" {
  depends t1 { gaplength 1d }
  duration 4d
}

taskreport "Tasks" {
  columns no, name, chart
}

htmltaskreport "CriticalTasks.html" {
  # Generate a list of all tasks that are on a critical path.
  hidetask ~isOnCriticalPath(plan)
}
</screen></para></sect1><sect1 id="PROPERTY_minstart"><title>minstart
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">minstart
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the minimum wanted start time of the task.
The value is not used during scheduling, but is checked after all
tasks have been scheduled. If the start of the task is earlier than
the specified value, then an error is reported.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_maxend">maxend</link>, <link linkend="PROPERTY_maxstart">maxstart</link>, <link linkend="PROPERTY_minend">minend</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project minmax "Min Max Example" "1.0" 2005-06-06 - 2005-06-26

task items "Project breakdown" {
  start 2005-06-07

  task plan "Plan work" {
		note "Some more information about this task."
    # Set acceptable interval for task start
    minstart 2005-06-06
    maxstart 2005-06-08
    length 3d
    # Set acceptable interval for task end
    minend 2005-06-09
    maxend 2005-06-11
  }
}

</screen></para></sect1><sect1 id="PROPERTY_milestone"><title>milestone</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">milestone</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Turns the task into a special task that has no
duration. You may not specify a <link linkend="PROPERTY_duration">duration</link>, <link linkend="PROPERTY_length">length</link>, <link linkend="PROPERTY_effort">effort</link> or subtasks for a milestone
task.</para><para>A task that only has a start or an end specification and no
duration specification or sub tasks, will be recognized as milestone
automatically.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Milestone demo" "1.0" 2005-07-15 - 2005-08-01

task project_start "Project Start" {
  start 2005-07-15
  milestone
}

task deadline "Important Deadline" {
  start 2005-07-20
  # A task with only a start or end date and no duration specification
  # is automatically assumed to be a milestone.
}
</screen></para></sect1><sect1 id="PROPERTY_note"><title>note
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">note
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Attach a note to the task. This is usually a more
detailed specification of what the task is about.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_journalentry">journalentry</link>, <link linkend="PROPERTY_statusnote">statusnote</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project minmax "Min Max Example" "1.0" 2005-06-06 - 2005-06-26

task items "Project breakdown" {
  start 2005-06-07

  task plan "Plan work" {
		note "Some more information about this task."
    # Set acceptable interval for task start
    minstart 2005-06-06
    maxstart 2005-06-08
    length 3d
    # Set acceptable interval for task end
    minend 2005-06-09
    maxend 2005-06-11
  }
}

</screen></para></sect1><sect1 id="PROPERTY_monthlymax"><title>monthlymax
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">monthlymax
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Sets the monthly limit of a resource usage or a resource
allocation to a task.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_limits">limits</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_dailymax">dailymax</link>, <link linkend="PROPERTY_weeklymax">weeklymax</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project limits "Limits" "1.0" 2004-03-01 - 2004-05-01

# Default limit that affects all subsequently defined resources
limits {
  weeklymax 4d
}

resource r1 "R1" { 
  # Limit the usage of this resource to a maximum of 2 hours per day,
  # 6 hours per week and 2.5 days per month.
  limits { dailymax 2h weeklymax 6h monthlymax 2.5d }
}

resource r2 "R2"

task t1 "Task 1" {
  start 2004-03-01
  duration 60d
  # allocation is subject to resource limits
  allocate r1
}

task t2 "Task 2" {
  start 2004-03-01
  duration 60d
  # limits can also be specified per allocation
  allocate r2 {
    limits { dailymax 4h weeklymax 3d monthlymax 2w }
  }
}
</screen></para></sect1><sect1 id="PROPERTY_now"><title>now
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">now
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specify the date that TaskJuggler uses for calculation
as current date. If no value is specified, the current value of the
system clock is used.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Some task" "1.0" 2005-06-06 - 2005-06-26 {
  now 2005-06-15
}

resource tux "Tux"

task t "Task" { 
  start 2005-06-06
  effort 10d
  allocate tux
  # This task should have be be completed much more on Jun 15, but
  # it's only 20% done.
  complete 20
}

</screen></para></sect1><sect1 id="PROPERTY_numberformat"><title>numberformat
   &lt;<parameter>negativeprefix</parameter>&gt;
  
   &lt;<parameter>negativesuffix</parameter>&gt;
  
   &lt;<parameter>thousandseparator</parameter>&gt;
  
   &lt;<parameter>fractionseparator</parameter>&gt;
  
   &lt;<parameter>fractiondigits</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">numberformat
   &lt;<parameter>negativeprefix</parameter>&gt;
  
   &lt;<parameter>negativesuffix</parameter>&gt;
  
   &lt;<parameter>thousandseparator</parameter>&gt;
  
   &lt;<parameter>fractionseparator</parameter>&gt;
  
   &lt;<parameter>fractiondigits</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>These values specify the default format used for all
numerical real values. The <varname>negativeprefix</varname> and
<varname>negativesuffix</varname> strings enclose negative currency
values. The <varname>thousandseparator</varname> can be used to make
large numbers more readable. The <varname>fractionseparator</varname>
separates the fractional part from the rest.
<varname>fractiondigits</varname> specifies how many fractional digits
should be shown at a maximum.</para></entry></row><row><entry morerows="5"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>negativeprefix</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>negativesuffix</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>thousandseparator</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>fractionseparator</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>fractiondigits</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Project" "1.0" 2000-01-01 - 2000-03-01 {
  # German number format: e. g.  -10000,20 5014,11
  numberformat "-" "" "" "," 2
  
  # US currency format: e. g. (10,000.20) 5,014.11
  currencyformat "(" ")" "," "." 2
}

task t "Task" {
  start 2000-01-01
  milestone
}
</screen></para></sect1><sect1 id="PROPERTY_overtime"><title>overtime
   &lt;<parameter>value</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">overtime
   &lt;<parameter>value</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This attribute enables bookings to override working
  hours and vacations.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry><para>Number between 0 and 2. See table below.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_booking">booking</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><simplelist type="horiz" columns="2">
   
   <member><varname>overtime 0:</varname></member>
   <member>You can only book available working hours. (Default)</member>

   <member><varname>overtime 1:</varname></member>
   <member>You can book off-hours as well.</member>
   
   <member><varname>overtime 2:</varname></member>
   <member>You can book normal working hours, off-hours and vacations.</member>

   </simplelist></para><para><screen>project prj "Project" "1.0" 2003-06-05 +1m {
  # The baseline date for the projection.
  now 2003-06-15
  scenario plan "Plan" {
    # Compute when the task will be ready based on the already done
    # work and the current date.
    projection { strict }
  }
}

resource r1 "Resource 1"

task t1 "Task 1" {
  start 2003-06-05
  effort 10d
  allocate r1
}

supplement resource r1 {
  # This is the work that has been done up until now by r1.
  booking t1 2003-06-06 +8h { sloppy 2 }
  booking t1 2003-06-08 +4h,
             2003-06-09 +4h { sloppy 2 }
  # Book interval that extends into off-hours.
  booking t1 2003-06-11-8:00 +10h { overtime 1 }
}
</screen></para></sect1><sect1 id="PROPERTY_period"><title>period</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">period</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This property is a shortcut for setting the start and
  end property at the same time. In contrast to using these, it does
  not change the scheduling direction.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_end">end</link>, <link linkend="PROPERTY_start">start</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Period Project" "1.0" 2006-09-24 +3m {
	now 2006-10-02
}

task items "Project breakdown" {
  start ${projectstart}

  task plan "Plan work" {
    period 2006-10-01 +2w
  }
}

taskreport "My Tasks" {
	period ${now} +1w
}

</screen></para></sect1><sect1 id="PROPERTY_period_report"><title>period</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">period</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This property is a shortcut for setting the start and end
  property at the same time.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>no</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_start_report">start</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Period Project" "1.0" 2006-09-24 +3m {
	now 2006-10-02
}

task items "Project breakdown" {
  start ${projectstart}

  task plan "Plan work" {
    period 2006-10-01 +2w
  }
}

taskreport "My Tasks" {
	period ${now} +1w
}

</screen></para></sect1><sect1 id="PROPERTY_persistent"><title>persistent</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">persistent</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies that once a resource is picked from the list
  of alternatives this resource is used for the whole task.
  This is useful when several alternative resources have been
  specified. Normally the selected resource can change after each
  break. A break is an interval of at least one timeslot where no
  resources were available.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_allocate">allocate</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_alternative">alternative</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Project" "1.0" 2003-06-05 - 2003-07-05

resource r1 "Resource 1"
resource r2 "Resource 2"

task t1 "Task 1" {
  start 2003-06-05
  effort 5d
  # Pick one of them and use it for the entire task
  allocate r1 { alternative r2 persistent }
}
</screen></para></sect1><sect1 id="PROPERTY_priority"><title>priority
   &lt;<parameter>value</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">priority
   &lt;<parameter>value</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies a priority between 1 and 1000. A task with
higher priority is more likely to get the requested resources. Don't
confuse the priority of a tasks with the importance or urgency of a
task. It only increases the chances that the tasks gets the requested
resources. It does not mean that the task happens earlier, though that
is usually the effect you will see. It also does not have any effect
on tasks that don't have any resources assigned (e.g. milestones).</para><para>This attribute is inherited by subtasks if specified prior to
the definition of the subtask.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Priority Demo" "1.0" 2005-07-15 - 2005-10-01

resource tux "Tux"

task items "Project breakdown" {
  start 2005-07-15

  task coolStuff "Do some cool stuff" {
    start 2005-08-01
    effort 10d
    priority 800
    allocate tux
  }

  task otherStuff "Other not so important stuff" {
    start 2005-08-01
    effort 20d
    priority 500
    allocate tux
  }
  
  task maintenance "Maintenance work" {
    # This is a fallback task. Whenever tux is not doing something
    # else he is allocated to this task.
    duration 2m
    priority 300
    allocate tux
  }
}

</screen></para></sect1><sect1 id="PROPERTY_precedes"><title>precedes
   &lt;<parameter>task</parameter>&gt;
  
   [, &lt;<parameter>task</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">precedes
   &lt;<parameter>task</parameter>&gt;
  
   [, &lt;<parameter>task</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies that the tasks with the specified IDs cannot
start before the task has been finished. If multiple IDs are
specified, they must be separated by commas. IDs must be either global
or relative. A relative ID starts with a number of '!'. Each '!' moves
the scope to the parent task. Global IDs do
not contain '!', but have IDs separated by dots.</para><para>By using the 'precedes' attribute, the scheduling policy is
automatically set to <varname>alap</varname>. If both
<varname>depends</varname> and <varname>precedes</varname> are used
within a task, the last policy counts.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>task</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_gapduration">gapduration</link>, <link linkend="PROPERTY_gaplength">gaplength</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_depends">depends</link>, <link linkend="PROPERTY_scheduling">scheduling</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project p "P" "1.0" 2003-11-09 - 2003-12-24

task foo1 "foo1" {
  task foo2 "foo2" {
    start 2003-12-04
    milestone 
  }
  task foo3 "foo3" { 
    precedes !foo2
    length 1d 
  }
}
task bar "bar" {
  precedes foo1.foo2
  length 2d
}

</screen></para></sect1><sect1 id="PROPERTY_project"><title>project
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  
   &lt;<parameter>version</parameter>&gt;
  
   &lt;<parameter>period</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">project
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  
   &lt;<parameter>version</parameter>&gt;
  
   &lt;<parameter>period</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The project property is mandatory and should be the
first property in a project file. &lt;id&gt; is the default project
ID used to register resource allocations in a global database.
&lt;name&gt; is the name of the project.  &lt;version&gt; is the
version of the project file. Typically this is the CVS ID.
&lt;start&gt; and &lt;end&gt; define the time frame of the project.
The end may be well after the end of the last task, but must be
specified to terminate the scheduling process.</para></entry></row><row><entry morerows="4"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>id</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>The default project ID.</para></entry></row><row><entry><parameter>name</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry><para>The name of the project.</para></entry></row><row><entry><parameter>version</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry><para>The version of the project file. This could be a revision
number from a revision control system.</para></entry></row><row><entry><parameter>period</parameter></entry><entry><link linkend="TYPE_DATEINTERVAL">DATEINTERVAL</link></entry><entry><para>The expected interval of the project. It may be larger than
    necessary, but it needs to be large enough to fit all tasks.</para></entry></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_allowredefinition">allowredefinition</link>, <link linkend="PROPERTY_currencyformat">currencyformat</link>, <link linkend="PROPERTY_currency">currency</link>, <link linkend="PROPERTY_dailyworkinghours">dailyworkinghours</link>, <link linkend="PROPERTY_drawemptycontainersastasks">drawemptycontainersastasks</link>, <link linkend="PROPERTY_extend">extend</link>, <link linkend="PROPERTY_include">include</link>, <link linkend="PROPERTY_journalentry">journalentry</link>, <link linkend="PROPERTY_now">now</link>, <link linkend="PROPERTY_numberformat">numberformat</link>, <link linkend="PROPERTY_scenario">scenario</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_timeformat">timeformat</link>, <link linkend="PROPERTY_timezone">timezone</link>, <link linkend="PROPERTY_timingresolution">timingresolution</link>, <link linkend="PROPERTY_weekstartsmonday">weekstartsmonday</link>, <link linkend="PROPERTY_weekstartssunday">weekstartssunday</link>, <link linkend="PROPERTY_workinghours">workinghours</link>, <link linkend="PROPERTY_yearlyworkingdays">yearlyworkingdays</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

taskreport "My Tasks"

</screen></para></sect1><sect1 id="PROPERTY_projectid"><title>projectid
   &lt;<parameter>id</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">projectid
   &lt;<parameter>id</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>At global scope it declares a new project id and
activates it. All subsequent task definitions will inherit this
ID. If used within a task it simply assigns this project ID to the
task. The tasks of a project can have different IDs. This is
particularly helpful if the project is merged from several sub
projects that each have their own ID.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>id</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, <link linkend="PROPERTY_projectids">projectids</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project mainID "ProjectIDs example" "1.0" 2006-08-22 +1m


task t1 "Task 1" {
  start 2006-08-22
	# This task has project ID "mainID"
}

projectid prj1
projectids prj2

task t2 "Task 2" {
  start 2006-08-22
	# This task has now project ID "prj1"
}


task t3 "Task 3" {
  start 2006-08-22
  projectid prj2
	# This task has now project ID "prj2"
}

</screen></para></sect1><sect1 id="PROPERTY_projectids"><title>projectids
   &lt;<parameter>projectid</parameter>&gt;
  
   [, &lt;<parameter>projectid</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">projectids
   &lt;<parameter>projectid</parameter>&gt;
  
   [, &lt;<parameter>projectid</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Declares a list of project IDs.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>projectid</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, <link linkend="PROPERTY_projectid">projectid</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project mainID "ProjectIDs example" "1.0" 2006-08-22 +1m


task t1 "Task 1" {
  start 2006-08-22
	# This task has project ID "mainID"
}

projectid prj1
projectids prj2

task t2 "Task 2" {
  start 2006-08-22
	# This task has now project ID "prj1"
}


task t3 "Task 3" {
  start 2006-08-22
  projectid prj2
	# This task has now project ID "prj2"
}

</screen></para></sect1><sect1 id="PROPERTY_projection"><title>projection</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">projection</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Enables the projection mode for the scenario. All tasks
will be scheduled taking the manual bookings into account. The
tasks will be extended by scheduling new bookings starting with the
current date until the specified effort, length or duration has been
reached. In sloppy mode tasks with no bookings will be filled from the
original start. In strict mode all tasks will be filled starting with
the current date. No bookings will be added prior to the current
date.</para></entry></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_sloppy_projection">sloppy</link>, <link linkend="PROPERTY_strict">strict</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenario">scenario</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_baseline">baseline</link>, <link linkend="PROPERTY_booking">booking</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Project" "1.0" 2003-06-05 +1m {
  # The baseline date for the projection.
  now 2003-06-15
  scenario plan "Plan" {
    # Compute when the task will be ready based on the already done
    # work and the current date.
    projection { strict }
  }
}

resource r1 "Resource 1"

task t1 "Task 1" {
  start 2003-06-05
  effort 10d
  allocate r1
}

supplement resource r1 {
  # This is the work that has been done up until now by r1.
  booking t1 2003-06-06 +8h { sloppy 2 }
  booking t1 2003-06-08 +4h,
             2003-06-09 +4h { sloppy 2 }
  # Book interval that extends into off-hours.
  booking t1 2003-06-11-8:00 +10h { overtime 1 }
}
</screen></para></sect1><sect1 id="PROPERTY_properties"><title>properties
   &lt;<parameter>property</parameter>&gt;
  
   [, &lt;<parameter>property</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">properties
   &lt;<parameter>property</parameter>&gt;
  
   [, &lt;<parameter>property</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This attribute determines which properties will be
  included in the report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>property</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>See table below for possible values.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_export">export</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><simplelist type="horiz" columns="2">
   
   <member><varname>all</varname></member>
   <member>Include all properties.</member>
   
   <member><varname>bookings</varname></member>
   <member>Include all bookings for the report interval. Only bookings
   for non-filtered resources will be included.</member>
   
   <member><varname>shifts</varname></member>
   <member>Include all shift definitions.</member>
   
   <member><varname>tasks</varname></member>
   <member>Include all task definitions for non-filtered tasks.</member>
   
   <member><varname>resources</varname></member>
   <member>Include all resource definitions for non-filtered
   resources.</member>
   
   </simplelist></para><para><screen>project prj  "Project" "1.0" 2000-01-01 - 2000-03-01

resource r "Resource"

task t "Task" {
  start 2000-01-01
  effort 10d
  allocate r
}

# Export the project as fully scheduled project.
export "FullProject.tjp" {
  taskattributes all
  hideresource 0
}

# Export only bookings for 1st week as resource supplements
export "Week1Bookings.tji" {
  start 2000-01-01
  end 2000-01-08
  properties bookings
  hideresource 0
}
</screen></para></sect1><sect1 id="PROPERTY_purge"><title>purge
   &lt;<parameter>attributeName</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">purge
   &lt;<parameter>attributeName</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This attribute can be used to purge inherited flags or
  allocations. Possible values for
  <computeroutput>attributeName</computeroutput> are
  <computeroutput>allocations</computeroutput> or
  <computeroutput>flags</computeroutput>.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>attributeName</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_allocate">allocate</link>, <link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_rate"><title>rate
   &lt;<parameter>value</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">rate
   &lt;<parameter>value</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the daily costs of the resource. The amount
are credited to the account specified with the task that makes use of
the resource.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <link linkend="PROPERTY_resource">resource</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_account">account</link>, <link linkend="PROPERTY_task">task</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_rawhead"><title>rawhead
   &lt;<parameter>html</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">rawhead
   &lt;<parameter>html</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies a section of raw HTML code that will be
inserted at the top of the report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>html</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_rawstylesheet">rawstylesheet</link>, <link linkend="PROPERTY_rawtail">rawtail</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_rawstylesheet"><title>rawstylesheet
   &lt;<parameter>stylesheet</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">rawstylesheet
   &lt;<parameter>stylesheet</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies a stylesheet for HTML reports.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>stylesheet</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_rawtail"><title>rawtail
   &lt;<parameter>html</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">rawtail
   &lt;<parameter>html</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies a section of raw HTML code that will be
inserted at the bottom of the report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>html</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmlstatusreport">htmlstatusreport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_rawhead">rawhead</link>, <link linkend="PROPERTY_rawstylesheet">rawstylesheet</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_reference"><title>reference
   &lt;<parameter>url</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">reference
   &lt;<parameter>url</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>A reference to an external document. If you need more
than one reference, you can create your own URL placeholders.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>url</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry><para>Should be a well formed URL.</para></entry></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_label">label</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_extend">extend</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project ca "Custom Attributes" "1.0" 2003-05-28 - 2003-06-28 {
  extend task {
    reference MyLink "My Link"
    text MyText "My Text" { inherit }
  }
}

task t "Task" {
  start 2003-05-28
  milestone
  MyLink "http://www.taskjuggler.org" { label "TJ Web" }
  MyText "TaskJuggler is great!"
}

</screen></para></sect1><sect1 id="PROPERTY_resource"><title>resource
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">resource
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Task use resources to fulfil the specified
efforts.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>id</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><parameter>name</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_booking">booking</link>, <link linkend="PROPERTY_efficiency">efficiency</link>, <link linkend="PROPERTY_flags">flags</link>, <link linkend="PROPERTY_journalentry">journalentry</link>, <link linkend="PROPERTY_maxeffort">maxeffort</link>, <link linkend="PROPERTY_limits">limits</link>, <link linkend="PROPERTY_rate">rate</link>, <varname>resource</varname>, <link linkend="PROPERTY_shift_selection">shift</link>, <link linkend="PROPERTY_vacation_resource">vacation</link>, <link linkend="PROPERTY_workinghours">workinghours</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <varname>resource</varname>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project resources "Resource Examples" "1.0" 2005-06-06 - 2005-06-26

# A simple resource
resource tux1 "Tux1"

# A team
resource team "A team" {
  # A 2 days of team vacation
  vacation 2005-06-07 - 2006-05-09
  resource tux2 "Tux2" 
  resource tux3 "Tux3" {
    # And one extra day
    vacation 2005-06-10
  }
}

task t "An important date" {
  start 2005-06-10
}

</screen></para></sect1><sect1 id="PROPERTY_resourcereport"><title>resourcereport
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">resourcereport
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This report is intended for the TaskJuggler graphical
  user interface. The report lists all tasks and their respective values
as a HTML page. The resources that are allocated to the tasks can be
listed as well.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_scenario_report">scenario</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_showprojectids">showprojectids</link>, <link linkend="PROPERTY_sortresources">sortresources</link>, <link linkend="PROPERTY_sorttasks">sorttasks</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_timeformat">timeformat</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"/></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26
  
resource tux "Tux"
resource tuxia "Tuxia"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    task phase1 "Phase 1" {
      effort 5d
      allocate tuxia
    }
    task phase2 "Phase 2" {
      effort 2d
      allocate tux
    }
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

taskreport "Project Breakdown" {
  columns start, end, effort
  # Open only the first level of tasks
  rolluptask treelevel() &gt; 1
}

resourcereport "Resource Allocations" {
  columns id, effort
  # We only want to see the tasks with real work (without parents),
  # sorted by name
  sorttasks nameup
  hidetask ~isleaf()
}

</screen></para></sect1><sect1 id="PROPERTY_resourcereport_type"><title>resourcereport</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">resourcereport</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This attribute switches a calendar report from task
  report mode to resource report mode.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_responsible"><title>responsible
   &lt;<parameter>resource</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">responsible
   &lt;<parameter>resource</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The ID of the resource that is responsible for this
   task. This value is for documentation purposes only. It's not used
   by the scheduler.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>resource</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_resource">resource</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Responsible Demo" "1.0" 2005-07-15 - 2005-08-01

resource tux "Tux"
resource ubertux "Uber Tux"

task someJob "Some Job" {
  start 2005-07-15
  effort 1w
  allocate tux
  responsible ubertux
}

taskreport "Job List" {
  columns effort, resources, responsible
}

</screen></para></sect1><sect1 id="PROPERTY_rollupaccount"><title>rollupaccount
   &lt;<parameter>logicalexpression</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">rollupaccount
   &lt;<parameter>logicalexpression</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Do not show sub-accounts of accounts that match the
specified logical expression.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>logicalexpression</parameter></entry><entry><link linkend="TYPE_LOGICALEXPRESSION">LOGICALEXPRESSION</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_rollupresource"><title>rollupresource
   &lt;<parameter>logicalexpression</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">rollupresource
   &lt;<parameter>logicalexpression</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Do not show sub-resources of resources that match the
specified logical expression.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>logicalexpression</parameter></entry><entry><link linkend="TYPE_LOGICALEXPRESSION">LOGICALEXPRESSION</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_icalreport">icalreport</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_rollupaccount">rollupaccount</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_rolluptask"><title>rolluptask
   &lt;<parameter>logicalexpression</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">rolluptask
   &lt;<parameter>logicalexpression</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Do not show sub-tasks of tasks that match the
specified logical expression.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>logicalexpression</parameter></entry><entry><link linkend="TYPE_LOGICALEXPRESSION">LOGICALEXPRESSION</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_icalreport">icalreport</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_rollupaccount">rollupaccount</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_scenario"><title>scenario
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">scenario
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the different project scenarios. A scenario
  that is nested into another one inherits all inheritable values from
  the enclosing scenario. There can only be one top-level scenario. It
  is usually called <computeroutput>plan</computeroutput> scenario. By
  default this scenario is pre-defined but can be overwritten with any
  other scenario. In this documenation each attribute is listed as
  scenario specific or not. A scenario specific attribute can be
  overwritten in a child scenario thereby creating a new, slightly
  different variant of the parent scenario. This can be helpful to do
  plan/actual comparisons if what-if-anlysises.</para><para>By using bookings and enabling the projection mode you can
  capture the progress of your project and constantly get updated
  project plans for the future work.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>id</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><parameter>name</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_baseline">baseline</link>, <link linkend="PROPERTY_disabled">disabled</link>, <link linkend="PROPERTY_enabled">enabled</link>, <link linkend="PROPERTY_maxpaths">maxpaths</link>, <link linkend="PROPERTY_minslackrate">minslackrate</link>, <link linkend="PROPERTY_projection">projection</link>, <varname>scenario</varname></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, <varname>scenario</varname>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenarios">scenarios</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example" "1.0" 2005-05-29 - 2005-07-01 {
  scenario plan "Planned Scenario" {
    scenario actual "Actual Scenario"
    scenario test "Test Scenario" {
      disabled
    }
  }
}

task t "Task" {
  start 2005-05-29
  actual:start 2005-06-03
  test:start 2005-06-07
}

</screen></para></sect1><sect1 id="PROPERTY_scenario_report"><title>scenario
   &lt;<parameter>scenarioid</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">scenario
   &lt;<parameter>scenarioid</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>ID of the scenario that should be included in the
report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>scenarioid</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>The ID of the scenario.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenario">scenario</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_scenarios"><title>scenarios
   &lt;<parameter>scenarioid</parameter>&gt;
  
   [, &lt;<parameter>scenarioid</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">scenarios
   &lt;<parameter>scenarioid</parameter>&gt;
  
   [, &lt;<parameter>scenarioid</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>List of scenarios that should be included in the
report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>scenarioid</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>The ID of the scenario.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_icalreport">icalreport</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_scenario">scenario</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_scheduled"><title>scheduled</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">scheduled</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This is mostly for internal use. It specifies that the
task can be ignored for scheduling in the scenario.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_scheduling"><title>scheduling
   &lt;<parameter>type</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">scheduling
   &lt;<parameter>type</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the scheduling policy for the task. A task
can be scheduled from start to end (As Soon As Possible,
<varname>asap</varname>) or from
end to start (As Late As Possible, <varname>alap</varname>).</para><para>A task can be scheduled from start to end (ASAP mode) when it
  has a hard (start) or soft (depends) criteria for the start time. A
  task can be scheduled from end to start (ALAP mode) when it has a
  hard (end) or soft (precedes) criteria for the end time.</para><para>Some task attributes set the scheduling policy implicitly.
  This attribute can be used to explicitly set the scheduling policy
  of the task to a certain direction. To avoid it being overwritten
  again by an implicit attribute this attribute should always be the
  last attribute of the task.</para><para>A random mixture of ASAP and ALAP tasks can have unexpected
  side effects on the scheduling of the project. It increases
  significantly the scheduling complexity and results in much longer
  scheduling times. Especially in projects with many hundreds of tasks
  the scheduling time of a project with a mixture of ASAP and ALAP
  times can be 2 to 10 times longer. When the projects contains chains
  of ALAP and ASAP tasks the tasks further down the dependency chain
  will be served much later than other non-chained task even when they
  have a much higher priority. This can result in situations where
  high priority tasks do not get their resources even though the
  parallel competing tasks have a much lower priority.</para><para>As a general rule, try to avoid ALAP tasks whenever possible.
  Have a close eye on tasks that have been switched implicitly to
  ALAP mode because the <varname>end</varname> attribute comes after
  the <varname>start</varname> attribute.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>type</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>Possible values are <varname>alap</varname> or
<varname>asap</varname>.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_depends">depends</link>, <link linkend="PROPERTY_end">end</link>, <link linkend="PROPERTY_precedes">precedes</link>, <link linkend="PROPERTY_start">start</link>, <link linkend="PROPERTY_period">period</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Scheduling Example" "1.0" 2005-07-23 - 2005-09-01

task items "Project breakdown" {
  task t1 "Task 1" {
    start 2005-07-25
    end 2005-08-01
    # Implicite ALAP task
  }
  task t2 "Task 2" {
    end 2005-08-01
    start 2005-07-25
    # Implicite ASAP task
  }
  task t3 "Task 3" {
    start 2005-07-25
    end 2005-08-01
    scheduling asap
    # Explicite ASAP task
  }
  task t4 "Task 4" {
    end 2005-08-01
    start 2005-07-25
    scheduling alap
    # Explicite ALAP task
  }
}
</screen></para></sect1><sect1 id="PROPERTY_separator"><title>separator
   &lt;<parameter>sep</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">separator
   &lt;<parameter>sep</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the separator used in CSV reports between the
  values. The default value is a semicolon.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>sep</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_select"><title>select
   &lt;<parameter>mode</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">select
   &lt;<parameter>mode</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The select functions controls which resource is picked
from an allocation and it's alternatives. The selection is
re-evaluated each time the resource used in the previous time slot
becomes unavailable.</para><para>Even for non-persistent allocations a change in the resource
selection only happens if the resource used in the previous (or next
for ASAP tasks) time slot has become unavailable.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>mode</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>See table below for possible values.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_allocate">allocate</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_persistent">persistent</link></entry></row></tbody></tgroup></informaltable></para><para><simplelist type="horiz" columns="2">
   
   <member><varname>maxloaded</varname></member>
   <member>Pick the available resource that has been used the most so
   far.</member>
   
   <member><varname>minloaded</varname></member>
   <member>Pick the available resource that has been used the least so
   far.</member>
   
   <member><varname>minallocated</varname></member>
   <member>Pick the resource that has the smallest allocation factor.
   The allocation factor is calculated from the various allocations of
   the resource across the tasks. This is the default setting.</member>
   
   <member><varname>order</varname></member>
   <member>Pick the first available resource from the list.</member>
   
   <member><varname>random</varname></member>
   <member>Pick a random resource from the list.</member>
   
   </simplelist></para><para><screen>project prj "Project" "1.0" 2000-01-01 - 2000-03-01

resource tuxus "Tuxus"
resource tuxia "Tuxia"

task t1 "Task 1" {
  start 2000-01-01
  effort 5d
  # First try to allocate Tuxus. When he is not available try Tuxia.
  allocate tuxus { alternative tuxia select order }
}

task t2 "Task 2" {
  start 2000-01-01
  effort 5d
  # Use tuxux or tuxia, whoever is available and try to balance
  # the allocated load.
  allocate tuxus { alternative tuxia select minloaded}
}

task t3 "Task 3" {
  start 2000-01-01
  effort 5d
  # For slave drivers: Always pick the resource that has been loaded
  # the most already.
  allocate tuxus { alternative tuxia select maxloaded}
}
</screen></para></sect1><sect1 id="PROPERTY_shift"><title>shift
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">shift
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>When several resource have the same working hours,
these working hours should be defined as shifts. Each shift must have
a unique ID. Resources can be assigned to shifts for certain
intervals. Shifts can also be used to limit work on certain tasks to
the hours of the shift or to switch part time schedules of a
resource.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>id</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><parameter>name</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><varname>shift</varname>, <link linkend="PROPERTY_workinghours">workinghours</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <varname>shift</varname>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_shift_selection">shift</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example" "1.0" 2000-01-01 - 2000-03-31

shift s1 "Shift1" {
  # Special working hours Monday to Wednesday. Use program defaults
  # for other days.
  workinghours mon 10:00 - 12:00, 13:00-15:00
  workinghours tue 9:00-14:00
  workinghours wed off

  shift s2 "Shift2" {
    # Like s1 but with different times on Monday
    workinghours mon 10:00 - 17:00
  }
}

resource r1 "Resource1" {
  shift s1 2000-01-01 - 2000-01-10
  shift s2 2000-01-11 - 2000-01-20
}

shift s3 "Part-time schedule 1" {
  # The resource works on mondays, wednesdays and fridays.
  # The days that the resource doesn't work must be mentioned
  # explicitely otherwise the defaults values are used (usually
  # full-time employment).
  workinghours mon,fri 9:00 - 12:00, 13:00-18:00
  workinghours wed 9:00 - 12:00
  workinghours tue, thu off
}

shift s4 "Part-time schedule 2" {
  # The resource changes his schedule to work on tuesday and
  # thursdays. The days that the resource doesn't work must be
  # mentioned explicitely, otherwise the default values are used
  # (usually full-time employment).
  workinghours tue, thu 9:00 - 12:00, 13:00-18:00
  workinghours mon, wed, fri off
}

# Now determine when these schedules are applicable
resource r2 "Resource2" {
  # r2 works three days a week from January to June
  shift s3 2005-01-01 - 2005-01-15
  # r2 switches to two days a week 
  shift s4 2005-01-15 - 2006-01-01
}

task t1 "Task1" {
  start 2000-01-01
  length 200h
  # During the specified interval only work at the shift s2 working
  # hours.
  shift s2 2000-01-09 - 2000-01-17
}

</screen></para></sect1><sect1 id="PROPERTY_shift_selection"><title>shift
   &lt;<parameter>shiftid</parameter>&gt;
  [ 
   &lt;<parameter>dateinterval</parameter>&gt;
   ]</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">shift
   &lt;<parameter>shiftid</parameter>&gt;
  [ 
   &lt;<parameter>dateinterval</parameter>&gt;
   ]</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Limits the resource working time or work on a task to
a defined shift during the specified interval. Multiple shifts can be
defined, but shift intervals may not overlap.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>shiftid</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>The ID of the selected shift.</para></entry></row><row><entry><parameter>dateinterval</parameter></entry><entry><link linkend="TYPE_DATEINTERVAL">DATEINTERVAL</link></entry><entry><para>If an interval is specified, no allocations will be made
outside the shift intervals unless other shifts have been selected for
other time intervals. If the interval is omitted, the shift is
assigned for the whole project time frame.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_allocate">allocate</link>, <link linkend="PROPERTY_resource">resource</link>, <link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_shift">shift</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example" "1.0" 2000-01-01 - 2000-03-31

shift s1 "Shift1" {
  # Special working hours Monday to Wednesday. Use program defaults
  # for other days.
  workinghours mon 10:00 - 12:00, 13:00-15:00
  workinghours tue 9:00-14:00
  workinghours wed off

  shift s2 "Shift2" {
    # Like s1 but with different times on Monday
    workinghours mon 10:00 - 17:00
  }
}

resource r1 "Resource1" {
  shift s1 2000-01-01 - 2000-01-10
  shift s2 2000-01-11 - 2000-01-20
}

shift s3 "Part-time schedule 1" {
  # The resource works on mondays, wednesdays and fridays.
  # The days that the resource doesn't work must be mentioned
  # explicitely otherwise the defaults values are used (usually
  # full-time employment).
  workinghours mon,fri 9:00 - 12:00, 13:00-18:00
  workinghours wed 9:00 - 12:00
  workinghours tue, thu off
}

shift s4 "Part-time schedule 2" {
  # The resource changes his schedule to work on tuesday and
  # thursdays. The days that the resource doesn't work must be
  # mentioned explicitely, otherwise the default values are used
  # (usually full-time employment).
  workinghours tue, thu 9:00 - 12:00, 13:00-18:00
  workinghours mon, wed, fri off
}

# Now determine when these schedules are applicable
resource r2 "Resource2" {
  # r2 works three days a week from January to June
  shift s3 2005-01-01 - 2005-01-15
  # r2 switches to two days a week 
  shift s4 2005-01-15 - 2006-01-01
}

task t1 "Task1" {
  start 2000-01-01
  length 200h
  # During the specified interval only work at the shift s2 working
  # hours.
  shift s2 2000-01-09 - 2000-01-17
}

</screen></para></sect1><sect1 id="PROPERTY_shorttimeformat"><title>shorttimeformat
   &lt;<parameter>format</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">shorttimeformat
   &lt;<parameter>format</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies time format for time short specifications. This is
normal just the hour and minutes.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>format</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_project">project</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_timeformat">timeformat</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_showprojectids"><title>showprojectids</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">showprojectids</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies that calendar columns in reports should
contain the project ID after the load value.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_barlabels">barlabels</link>, <link linkend="PROPERTY_columns">columns</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_sloppy"><title>sloppy
   &lt;<parameter>value</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">sloppy
   &lt;<parameter>value</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Controls how strict TaskJuggler checks booking
  intervals for conflicts with vacation and other bookings. In case
  the error is suppressed the booking will not overwrite the existing
  bookings. It will avoid the already assigned intervals during
  booking.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry><para>Number between 0 and 3. See table below.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_booking">booking</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><simplelist type="horiz" columns="2">
   
   <member><varname>sloppy 0:</varname></member>
   <member>Period may not contain any off-duty hours, vacation or
   other task assignments. (Default)</member>

   <member><varname>sloppy 1:</varname></member>
   <member>Period may contain off-duty hours, but not vacation or
   other task assignments.</member>
   
   <member><varname>sloppy 2:</varname></member>
   <member>Period may contain off-duty hours and vacation, but no
   other task assignments.</member>

   </simplelist></para><para><screen>project prj "Project" "1.0" 2003-06-05 +1m {
  # The baseline date for the projection.
  now 2003-06-15
  scenario plan "Plan" {
    # Compute when the task will be ready based on the already done
    # work and the current date.
    projection { strict }
  }
}

resource r1 "Resource 1"

task t1 "Task 1" {
  start 2003-06-05
  effort 10d
  allocate r1
}

supplement resource r1 {
  # This is the work that has been done up until now by r1.
  booking t1 2003-06-06 +8h { sloppy 2 }
  booking t1 2003-06-08 +4h,
             2003-06-09 +4h { sloppy 2 }
  # Book interval that extends into off-hours.
  booking t1 2003-06-11-8:00 +10h { overtime 1 }
}
</screen></para></sect1><sect1 id="PROPERTY_sloppy_projection"><title>sloppy</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">sloppy</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Puts the scenario in sloppy bookings mode. This is the
  default. This mode makes only sense when you also use projection
  mode for this scenario. In sloppy mode all task that don't have any
  bookings provided will be filled with bookings according to the
  original schedule. In strict mode, no bookings will be filled in for
  any task prior to the current (or now) date.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_projection">projection</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_booking">booking</link>, <link linkend="PROPERTY_projection">projection</link>, <link linkend="PROPERTY_strict">strict</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_sortaccounts"><title>sortaccounts
   &lt;<parameter>criteria</parameter>&gt;
  
   [, &lt;<parameter>criteria</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">sortaccounts
   &lt;<parameter>criteria</parameter>&gt;
  
   [, &lt;<parameter>criteria</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Determines how the accounts are sorted in the report. Up to 3
criteria can be specified. If one criteria is not sufficient to sort a
group of accounts, the next criteria will be used to sort the accounts
within this group.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>criteria</parameter></entry><entry><link linkend="TYPE_SORTINGCRITERIA">SORTINGCRITERIA</link></entry><entry><para>Possible values are 
fullnamedown,
fullnameup,
iddown,
idup,
indexdown,
indexup,
namedown,
nameup,
sequencedown,
sequenceup,
tree
   </para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_sortresources"><title>sortresources
   &lt;<parameter>criteria</parameter>&gt;
  
   [, &lt;<parameter>criteria</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">sortresources
   &lt;<parameter>criteria</parameter>&gt;
  
   [, &lt;<parameter>criteria</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Determines how the resources are sorted in the report. Up to 3
criteria can be specified. If one criteria is not sufficient to sort a
group of resources, the next criteria will be used to sort the
resources within this group.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>criteria</parameter></entry><entry><link linkend="TYPE_SORTINGCRITERIA">SORTINGCRITERIA</link></entry><entry><para>Possible values are 
fullnamedown,
fullnameup,
iddown,
idup,
indexdown,
indexup,
maxeffortdown,
maxeffortup,
mineffortdown,
mineffortup,
namedown,
nameup,
ratedown,
rateup,
sequencedown,
sequenceup,
tree
   </para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_sorttasks"><title>sorttasks
   &lt;<parameter>criteria</parameter>&gt;
  
   [, &lt;<parameter>criteria</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">sorttasks
   &lt;<parameter>criteria</parameter>&gt;
  
   [, &lt;<parameter>criteria</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Determines how the tasks are sorted in the report. Up to 3
criteria can be specified. If one criteria is not sufficient to sort a
group of tasks, the next criteria will be used to sort the tasks 
within this group.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>criteria</parameter></entry><entry><link linkend="TYPE_SORTINGCRITERIA">SORTINGCRITERIA</link></entry><entry><para>Possible values are 
fullnamedown,
fullnameup,
iddown,
idup,
indexdown,
indexup,
namedown,
nameup,
prioritydown,
priorityup,
responsibledown,
responsibleup,
sequencedown,
sequenceup,
tree
   </para><para>In addition the following values are supported as well. They
   specify scenario specific values so they can be prefixed with the
   ID of the scenario and a colon (e.g.
   <computeroutput>plan:startup</computeroutput>). If no scenario is
   specified, the default scenario is used. Possible values are
completeddown,
completedup,
criticalnessdown,
criticalnessup,
enddown,
endup,
pathcriticalnessdown,
pathcriticalnessup,
startdown, 
startup,
statusdown,
statusup
   </para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project test "Test Project" "$Id" 2000-01-01 - 2000-03-01

flags flag1, flag2, flag3, flag4

rate 100.0

resource r1 "FooResource 1" 
resource r2 "FooResource 2" 
resource r3 "FooResource 3" 
resource r4 "FooResource 4" 

account a1 "FooAccount 1" cost {
  account a3 "FooAccount 3"
}

account a2 "FooAccount 2" revenue {
  account a4 "FooAccount 4"
}

task t1 "FooTask1" {
  account a4
  task t1_1 "FooTask1_1" {
    flags flag2
    start 2000-01-01
    effort 20d
    allocate r1
    allocate r2
  }
  flags flag3
}

task t2 "FooTask2" {
  flags flag1
  start 2000-01-01
  duration 1d
  startcredit 10000.0
  account a4
}

task t3 "FooTask3" {
  flags flag4
  milestone
  start 2000-01-01
}

htmltaskreport "Report_task.html" {
  columns hierarchindex, name { title "Task Name" }, daily, effort
  sorttasks tree, startup, nameup
}

htmlresourcereport "Report_resource.html" {
}

htmlaccountreport "Report_account.html" {
  columns name, weekly
  hideaccount 0
}

</screen></para></sect1><sect1 id="PROPERTY_start_report"><title>start
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">start
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the start date of the report. In task reports only
tasks that end after this end date are listed.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvaccountreport">csvaccountreport</link>, <link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_period_report">period</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2000-01-01 - 2000-03-01

resource r "Resource"

task t "Task" {
  start 2000-01-01
  effort 10d
  allocate r
}

# Export the project as fully scheduled project.
export "FullProject.tjp" {
  taskattributes all
  hideresource 0
}

# Export only bookings for 1st week as resource supplements
export "Week1Bookings.tji" {
  start 2000-01-01
  end 2000-01-08
  properties bookings
  hideresource 0
}
</screen></para></sect1><sect1 id="PROPERTY_start"><title>start
   &lt;<parameter>date</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">start
   &lt;<parameter>date</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The start date of the task. When specified for the
  top-level (default) scenario this attribute also
  implicitly sets the scheduling policy of the task to
  <varname>asap</varname>.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>date</parameter></entry><entry><link linkend="TYPE_DATE">DATE</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_end">end</link>, <link linkend="PROPERTY_period">period</link>, <link linkend="PROPERTY_maxstart">maxstart</link>, <link linkend="PROPERTY_minstart">minstart</link>, <link linkend="PROPERTY_scheduling">scheduling</link>, <link linkend="PROPERTY_startbuffer">startbuffer</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project duration "Duration Example" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task t "Enclosing" {
  start 2005-06-06
  task durationTask "Duration Task" {
    # This task is 10 calendar days long.
    duration 10d
  }

  task intervalTask "Interval Task" {
    # This task is similar to the durationTask. Instead of a start
    # date and a duration it has a fixed start and end date.
    end 2005-06-17
  }

  task lengthTask "Length Task" {
    # This task 10 working days long. So about 12 calendar days.
    length 10d
  }

  task effortTask "Effort Task" {
    effort 10d
    allocate tux
  }
}

</screen></para></sect1><sect1 id="PROPERTY_startbuffer"><title>startbuffer
   &lt;<parameter>percent</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">startbuffer
   &lt;<parameter>percent</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies how much slack time you expect to have at the
beginning of the task. This information has no impact on the scheduling
of the project. It is for documentation purposes only.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>percent</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry><para>Percent slack of the overall effort, duration or length of
the task.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_duration">duration</link>, <link linkend="PROPERTY_endbuffer">endbuffer</link>, <link linkend="PROPERTY_effort">effort</link>, <link linkend="PROPERTY_length">length</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "$Id" 2000-01-01 - 2000-01-20

resource tux1 "Tux1"

task t1 "Task1" {
  start 2000-01-01
  length 10d
  # 20% of the working time of this task are marked as buffer at the
  # beginning.
  startbuffer 20
  # An additional 10% of the working time of this task are marked as
  # buffer at the end.
  endbuffer 10.0
  allocate tux1
}

# Generate a report that lists the start end end dates for the
# buffers.
htmltaskreport "Buffer.html" {
  columns no, name, start, startbufferend, endbufferstart, end,
  startbuffer, endbuffer, duration, effort, daily
  hideresource 0
}
</screen></para></sect1><sect1 id="PROPERTY_startcredit"><title>startcredit
   &lt;<parameter>amount</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">startcredit
   &lt;<parameter>amount</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies an amount that is credited to the account
specified by the <link linkend="PROPERTY_account_task">account</link>
property at the moment the tasks starts.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>amount</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_endcredit">endcredit</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26 {
  currency "USD"
}

account project_cost "Project Costs" cost
account payments "Customer Payments" revenue {
  credit 2005-06-08 "Customer down payment" 500.0
}

resource tux "Tux" {
  rate 300
}

task items "Project breakdown" {
  start 2005-06-06
  # The default account for all tasks
  account project_cost

  task plan "Plan work" {
    # Some upfront material cost
    startcredit 500.0
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
    account payments
    # Customer pays at end of acceptance  
    endcredit 2000.0  
  }
}

htmlaccountreport "PAndL.html" {
  timeformat "%d-%M-%y"
  accumulate
  columns index, name, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_statusnote"><title>statusnote
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">statusnote
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>A note that describes the current status of the
task.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>Yes</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_journalentry">journalentry</link>, <link linkend="PROPERTY_note">note</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_strict"><title>strict</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">strict</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Puts the scenario in strict bookings mode. This mode
  makes only sense when you also use projection mode for this
  scenario. In strict mode, no bookings will be filled in for
  any task prior to the current (or now) date. In sloppy mode all task
  that don't have any bookings provided will be filled with bookings
  according to the original schedule. TaskJuggler will generate a
  warning for each task where the booked effort excedes the specified
  effort.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_projection">projection</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_booking">booking</link>, <link linkend="PROPERTY_sloppy">sloppy</link>, <link linkend="PROPERTY_projection">projection</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_subtitle"><title>subtitle
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">subtitle
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies an alternative subtitle for a report
column.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_subtitleurl">subtitleurl</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_subtitleurl"><title>subtitleurl
   &lt;<parameter>url</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">subtitleurl
   &lt;<parameter>url</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies an URL that is attached to the column subtitle
of HTML reports.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>url</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_subtitle">subtitle</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_supplement"><title>supplement
   &lt;<parameter>type</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">supplement
   &lt;<parameter>type</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The supplement keyword provides a mechanism to add more
attributes to already defined tasks or resources. The additional
attributes must obey the same rules as in regular task or resource
definitions and must be enclosed by curly braces.</para><para>This construct is primarily meant for situations where the
information about a task or resource is split over several files. E.
g. the vacation dates for the resources may be in a separate file that
was generated by some other tool.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>type</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>Possible values are <varname>resource</varname> or
<varname>task</varname>.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <link linkend="PROPERTY_task">task</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_resource">resource</link>, <link linkend="PROPERTY_task">task</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project test "Test Project" "$Id" 2000-01-01 - 2000-01-04

flags important

resource joe "Joe"

task top "Top Task" {
  start 2000-01-01

  task sub "Sub Task" {
  }
  supplement task sub {
    length 1d
  }
}

supplement resource joe {
  vacation 2000-02-10 - 2000-02-20
}

supplement task top {
  flags important
}

</screen></para></sect1><sect1 id="PROPERTY_task"><title>task
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">task
   &lt;<parameter>id</parameter>&gt;
  
   &lt;<parameter>name</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Tasks are the central elements of a project plan. Use
a task to specify which resource should be allocated for how long to
what task.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>id</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><parameter>name</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_account_task">account</link>, <link linkend="PROPERTY_allocate">allocate</link>, <link linkend="PROPERTY_complete">complete</link>, <link linkend="PROPERTY_depends">depends</link>, <link linkend="PROPERTY_duration">duration</link>, <link linkend="PROPERTY_effort">effort</link>, <link linkend="PROPERTY_endbuffer">endbuffer</link>, <link linkend="PROPERTY_endcredit">endcredit</link>, <link linkend="PROPERTY_end">end</link>, <link linkend="PROPERTY_flags">flags</link>, <link linkend="PROPERTY_journalentry">journalentry</link>, <link linkend="PROPERTY_length">length</link>, <link linkend="PROPERTY_maxend">maxend</link>, <link linkend="PROPERTY_maxstart">maxstart</link>, <link linkend="PROPERTY_milestone">milestone</link>, <link linkend="PROPERTY_minend">minend</link>, <link linkend="PROPERTY_minstart">minstart</link>, <link linkend="PROPERTY_note">note</link>, <link linkend="PROPERTY_period">period</link>, <link linkend="PROPERTY_precedes">precedes</link>, <link linkend="PROPERTY_priority">priority</link>, <link linkend="PROPERTY_projectid">projectid</link>, <link linkend="PROPERTY_purge">purge</link>, <link linkend="PROPERTY_reference">reference</link>, <link linkend="PROPERTY_responsible">responsible</link>, <link linkend="PROPERTY_scheduled">scheduled</link>, <link linkend="PROPERTY_scheduling">scheduling</link>, <link linkend="PROPERTY_shift_selection">shift</link>, <link linkend="PROPERTY_startbuffer">startbuffer</link>, <link linkend="PROPERTY_startcredit">startcredit</link>, <link linkend="PROPERTY_start">start</link>, <link linkend="PROPERTY_statusnote">statusnote</link>, <link linkend="PROPERTY_supplement">supplement</link>, <varname>task</varname></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, <varname>task</varname>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_resource">resource</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

taskreport "My Tasks"

</screen></para></sect1><sect1 id="PROPERTY_taskattributes"><title>taskattributes
   &lt;<parameter>attribute</parameter>&gt;
  
   [, &lt;<parameter>attribute</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">taskattributes
   &lt;<parameter>attribute</parameter>&gt;
  
   [, &lt;<parameter>attribute</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The list of attribute names specifies which task
attributes should be listed in the report in addition to the ones
exported by default. The following values are supported. They
correspond to the respective attributes of a <link linkend="PROPERTY_task">
task</link>.</para><para><varname>complete</varname>, <varname>depends</varname>,
<varname>flags</varname>, <varname>maxend</varname>,
<varname>maxstart</varname>, <varname>minend</varname>,
<varname>minstart</varname>, <varname>note</varname>,
<varname>priority</varname>, <varname>responsible</varname></para><para>By specifying the ID of a <link linkend="PROPERTY_extend">user-defined</link> attribute, these can be
included as well.</para><para>A special case the is <varname>all</varname> keyword. If this is
part of the list, all supported task attributes will be included in
the report.	This includes all user-defined task
attributes.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>attribute</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_export">export</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2000-01-01 - 2000-03-01

resource r "Resource"

task t "Task" {
  start 2000-01-01
  effort 10d
  allocate r
}

# Export the project as fully scheduled project.
export "FullProject.tjp" {
  taskattributes all
  hideresource 0
}

# Export only bookings for 1st week as resource supplements
export "Week1Bookings.tji" {
  start 2000-01-01
  end 2000-01-08
  properties bookings
  hideresource 0
}
</screen></para></sect1><sect1 id="PROPERTY_taskprefix"><title>taskprefix
   &lt;<parameter>prefix</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">taskprefix
   &lt;<parameter>prefix</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>All tasks in the included file are added as sub-tasks of the
task specified by <varname>taskprefix</varname>. The
<varname>taskprefix</varname> must be a valid absolute ID of an
already defined task.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>prefix</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_include">include</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_task">task</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project yourId "Your Project" "1.0" 2005-04-05 - 2005-05-01

task main "Main task" {
}

include "Include2.tji" { taskprefix main }

</screen></para></sect1><sect1 id="PROPERTY_taskreport"><title>taskreport
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">taskreport
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This report is intended for the TaskJuggler graphical
  user interface. The report lists all tasks and their respective values
as a HTML page. The resources that are allocated to the tasks can be
listed as well.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_caption">caption</link>, <link linkend="PROPERTY_columns">columns</link>, <link linkend="PROPERTY_end_report">end</link>, <link linkend="PROPERTY_headline">headline</link>, <link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_period_report">period</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_scenario_report">scenario</link>, <link linkend="PROPERTY_shorttimeformat">shorttimeformat</link>, <link linkend="PROPERTY_showprojectids">showprojectids</link>, <link linkend="PROPERTY_sortresources">sortresources</link>, <link linkend="PROPERTY_sorttasks">sorttasks</link>, <link linkend="PROPERTY_start_report">start</link>, <link linkend="PROPERTY_taskroot">taskroot</link>, <link linkend="PROPERTY_timeformat">timeformat</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"/></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "Simple Project" "1.0" 2005-06-06 - 2005-06-26
  
resource tux "Tux"
resource tuxia "Tuxia"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    task phase1 "Phase 1" {
      effort 5d
      allocate tuxia
    }
    task phase2 "Phase 2" {
      effort 2d
      allocate tux
    }
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

taskreport "Project Breakdown" {
  columns start, end, effort
  # Open only the first level of tasks
  rolluptask treelevel() &gt; 1
}

resourcereport "Resource Allocations" {
  columns id, effort
  # We only want to see the tasks with real work (without parents),
  # sorted by name
  sorttasks nameup
  hidetask ~isleaf()
}

</screen></para></sect1><sect1 id="PROPERTY_taskroot"><title>taskroot
   &lt;<parameter>root</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">taskroot
   &lt;<parameter>root</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Only tasks below the specified root-level tasks are
exported.  The exported tasks will have the id of the root-level task
stripped from their ID, so that the sub-tasks of the root-level task
become top-level tasks in the exported file.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>root</parameter></entry><entry><link linkend="TYPE_ID">ID</link></entry><entry><para>ID of a task that specifies the new root level</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_export">export</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, <link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Taskroot Example" "1.0" 2005-07-22 - 2005-08-26

task items "Project breakdown" {
  start 2005-07-22

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    task phase1 "Phase 1" {
      length 5d
      depends !!plan
    }
    task phase2 "Phase 2" {
      length 3d
      depends !phase1
    }
    task phase3 "Phase 3" {
      length 4d
      depends !phase2
    }
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

taskreport "My Tasks" {
  taskroot items.implementation
}

</screen></para></sect1><sect1 id="PROPERTY_timezone"><title>timezone
   &lt;<parameter>zone</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">timezone
   &lt;<parameter>zone</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Sets the default timezone of the project. All times
that have no time zones specified will be assumed to be in this
timezone. The value must be a string just like those used for the TZ
environment variable. Most Linux systems have a command line utility
called <varname>tzselect</varname> to lookup possible values.</para><para>The project start and end time are not affected by this setting. You
have to explicitly state the timezone for those dates or the system
defaults are assumed.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>zone</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project tz "Timezone" "1.0" 2005-06-06-0:00-UTC - 2005-06-07-0:00-UTC {
  timezone "Europe/Athens"
}

task item "Project" {
  start 2005-06-06-12:00
}

</screen></para></sect1><sect1 id="PROPERTY_timeformat"><title>timeformat
   &lt;<parameter>format</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">timeformat
   &lt;<parameter>format</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Determines how time specifications in reports look like.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>format</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry><para>See table below for possible values.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_csvresourcereport">csvresourcereport</link>, <link linkend="PROPERTY_csvtaskreport">csvtaskreport</link>, <link linkend="PROPERTY_htmlaccountreport">htmlaccountreport</link>, <link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlresourcereport">htmlresourcereport</link>, <link linkend="PROPERTY_htmltaskreport">htmltaskreport</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, <link linkend="PROPERTY_project">project</link>, <link linkend="PROPERTY_resourcereport">resourcereport</link>, <link linkend="PROPERTY_taskreport">taskreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_shorttimeformat">shorttimeformat</link></entry></row></tbody></tgroup></informaltable></para><para>
Ordinary characters placed in the format string are copied without
conversion. Conversion specifiers are introduced by  a `%' character,
and are replaced in s as follows:</para><para><simplelist type="horiz" columns="2">

<member>%a</member><member>The abbreviated weekday name according to
the  current locale.</member>

<member>%A</member><member>The full weekday name according  to the
current locale.</member>

<member>%b</member><member>The abbreviated month name according to the
current locale.</member>

<member>%B</member><member> The full month name according to
the current locale.</member>  

<member>%c</member><member> The preferred date and time
representation for the current locale.</member>

<member>%C</member><member> The century number (year/100) as a 2-digit
integer. (SU)</member>
	
<member>%d</member><member>The day of the month as a decimal number
(range  01 to 31).</member>

<member>%D</member><member>Equivalent  to  %m/%d/%y.  (Yecch  -  for
Americans only.  Americans should note that in other countries %d/%m/%y 
is rather common.  This means that in international context this format is
ambiguous  and should not be used.) (SU)</member>

<member>%e</member><member>Like  %d, the day of the month as a decimal number,
but a leading zero is replaced by a space. (SU)</member>
	
<member>%E</member><member>Modifier: use alternative format, see
below. (SU)</member>
	
<member>%F</member><member>Equivalent to %Y-%m-%d (the ISO 8601 date
format). (C99)</member>

<member>%G</member><member>The ISO 8601 year with century as a decimal
number.  The 4-digit year corresponding to the ISO week number  (see
%V). This has the same format and value as %y, except that if the ISO week
number belongs to  the previous or next year, that year is used
instead. (TZ)</member>
	
<member>%g</member><member>Like %G, but without century, i.e., with a  2-digit
year (00-99). (TZ)</member>
	
<member>%h</member><member>Equivalent to %b. (SU)</member>
	
<member>%H</member><member>The  hour as a decimal number using a
24-hour clock (range 00 to 23).</member>

<member>%I</member><member>The hour as a decimal number using a
12-hour  clock (range 01 to 12).</member>

<member>%j</member><member>The  day of the year as a decimal number
(range 001 to 366).</member>

<member>%k</member><member>The hour (24-hour clock) as a decimal
number (range 0 to 23); single digits are preceded by a blank.  (See
also %H.) (TZ)</member>

<member>%l</member><member>The hour (12-hour clock) as a decimal
number (range 1 to 12); single digits are preceded by a blank. (See
also %I.) (TZ)</member>

<member>%m</member><member>The month as a decimal number (range 01 to
12).</member>

<member>%M</member><member>The minute as a decimal number (range 00 to
59).</member>

<member>%n</member><member>A newline character. (SU)</member>

<member>%O</member><member>Modifier: use alternative format, see
below. (SU)</member>

<member>%p</member><member>Either 'AM' or 'PM' according  to  the
given  time value, or the corresponding strings for the
current locale.  Noon is treated as `pm'  and  midnight as
'am'.</member>

<member>%P</member><member>Like  %p but in lowercase: 'am' or 'pm' or
%a corresponding string for the current locale. (GNU)</member>

<member>%r</member><member>The time in a.m. or p.m. notation.   In
the  POSIX locale this is equivalent to '%I:%M:%S %p'. (SU)</member>

<member>%R</member><member>The  time  in  24-hour notation (%H:%M).
(SU) For a version including the seconds, see %T below.</member>

<member>%s</member><member>The number of seconds since the Epoch,
i.e.,  since 1970-01-01 00:00:00 UTC. (TZ)</member>

<member>%S</member><member>The second as a decimal number (range 00 to
61).</member>
	 
<member>%t</member><member>A tab character. (SU)</member>

<member>%T</member><member>The time in 24-hour notation (%H:%M:%S).
(SU)</member>

<member>%u</member><member>The  day  of  the  week as a decimal, range
1 to 7, Monday being 1.  See also %w. (SU)</member>

<member>%U</member><member>The week number of the current year  as  a
decimal number,  range  00  to  53, starting with the first Sunday as
the first day of week 01. See also %V and %W.</member>

<member>%V</member><member>The ISO 8601:1988 week number of the
current year as a decimal number, range 01 to 53, where week 1 is the
first week that has at least 4 days in the current year, and with
Monday as the first day of the week.  See also %U %and %W.
%(SU)</member>

<member>%w</member><member>The  day  of  the  week as a decimal, range
0 to 6, Sunday being 0.  See also %u.</member>

<member>%W</member><member>The week number of the current %year  as  a
decimal number,  range  00  to  53, starting with the first Monday as
the first day of week 01.</member>

<member>%x</member><member>The preferred date representation for  the
current locale without the time.</member>

<member>%X</member><member>The  preferred  time representation for
the current locale without the date.</member>

<member>%y</member><member>The year as a decimal number without
a century (range 00 to 99).</member>

<member>%Y</member><member> The year as a decimal number
including the century.</member>

<member>%z</member><member> The time zone as hour offset from
GMT. Required to emit RFC822-conformant dates (using "%a, %d %%b
%Y %H:%M:%S %%z"). (GNU)</member>

<member>%Z</member><member>The time zone or name or
abbreviation.</member>

<member>%+</member><member>The date and time in date(1) format.
(TZ)</member>

<member>%%</member><member>A literal '%' character.</member>

</simplelist></para><para>Some conversion specifiers can be  modified  by preceding them
by  the E or O modifier to indicate that an alternative format
should be used.  If the alternative format  or specification  does
not exist for the current locale, the behavior will be as if the
unmodified conversion specification  were used.  (SU) The Single
Unix Specification mentions %Ec, %EC, %Ex, %%EX, %Ry, %EY, %Od,
%Oe,  %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW,
%Oy, where the effect of the O modifier is to use alternative
numeric symbols (say, Roman numerals), and that of the E modifier is
to use a locale-dependent alternative representation.</para><para>The documentation of the
<varname>timeformat</varname> attribute has been taken
from the man page of the GNU <varname>strftime</varname>
function.</para></sect1><sect1 id="PROPERTY_timingresolution"><title>timingresolution
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">timingresolution
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Sets the minimum timing resolution. The smaller the
value, the longer the scheduling process lasts and the more memory the
application needs. The default and maximum value is 1 hour. The
smallest value is 5 min.</para><para>This value is a pretty fundamental setting of TaskJuggler. It
has a severe impact on memory usage and scheduling performance. You
should set this value to the minimum required resolution. Make sure
that all values that you specify are aligned with the
resolution.</para><para>The timing resolution should be set prior to any value that
represents a time value like now or workinghours.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_title"><title>title
   &lt;<parameter>text</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">title
   &lt;<parameter>text</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies an alternative title for a report
column.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>text</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_titleurl">titleurl</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_titleurl"><title>titleurl
   &lt;<parameter>url</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">titleurl
   &lt;<parameter>url</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies an URL that is attached to the column title
of HTML reports.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>url</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_columns">columns</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_title">title</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj  "Project" "1.0" 2005-01-01 - 2005-03-01

resource r "Resource"

task t "Task" {
  task s "SubTask" {
    start 2005-01-01
    effort 5d
    allocate r
  }
}

# Just a very basic report with some standard columns
htmltaskreport "SimpleReport.html" {
  columns hierarchindex, name, start, end, weekly
}

# Report with custom colum title
htmltaskreport "CustomTitle.html" {
  columns hierarchindex, name { title "Work Item" }, effort
}

# Report with custom colum title and subtitle
htmltaskreport "CustomSubTitle.html" {
  columns hierarchindex, name,
          monthly { title " " subtitle "$${month} $${year}" }
  loadunit days
}

# Report with efforts only for leaf tasks 
htmltaskreport "LeafEfforts.html" {
  columns hierarchindex, name,
          effort { hidecelltext ~isLeaf() }
}

# Report with link in title of calendar
htmltaskreport "LinkURL.html" {
  columns hierarchindex, name,
          monthly { subtitleurl "Monthly-Detail-$${month}.html" }
}

# Report with link to page with furter task details
htmltaskreport "LinkToTaskDetails.html" {
  columns hierarchindex,
          name { cellurl "TaskDetails-$${taskid}.html"
                 hidecellurl ~isLeaf() }, start, end
}

# Report with index and task name combined in one single column
htmltaskreport "CombinedColumn.html" {
  columns name { celltext "$${hierarchno} $${0}"}, start, end, weekly
}

</screen></para></sect1><sect1 id="PROPERTY_vacation_global"><title>vacation
   &lt;<parameter>name</parameter>&gt;
  
   &lt;<parameter>interval</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">vacation
   &lt;<parameter>name</parameter>&gt;
  
   &lt;<parameter>interval</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specify a global vacation day. This vacation is
respected by all resources that are defined hereafter.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>name</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><parameter>interval</parameter></entry><entry><link linkend="TYPE_DATEINTERVAL">DATEINTERVAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_vacation_resource">vacation</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Vacation Examples" "1.0" 2005-07-22 - 2006-01-01

# Labor Day
vacation "Labor Day" 2005-09-05
# 2 days Christmas break (27th not included!)
vacation "Christmas" 2005-12-25 - 2005-12-27

resource team "A team" {
  # 2 days of team vacation
  vacation 2005-10-07 +2d
  resource tux2 "Tux2" 
  resource tux3 "Tux3" {
    # And one extra day
    vacation 2005-08-10
  }
}

# The vacation property is also usefull when new employees start
# working in the course of a project or if someone quits.
resource tuxia "Tuxia" {
  # Tuxia is a new employee as of August 1st 2005
  vacation 1971-01-01 - 2005-08-01
}
 
resource tuxus "Tuxus" {
  # Tuxus quits his job on September 1st 2005
  vacation 2005-09-01 - 2030-01-01
}

task t "An important date" {
  start 2005-07-22
}

</screen></para></sect1><sect1 id="PROPERTY_vacation_resource"><title>vacation
   &lt;<parameter>interval</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">vacation
   &lt;<parameter>interval</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specify a vacation period for the resource. It can also
  be used to block out the time before a resource joint or after it
  left. For employees changing their work schedule from full-time to
  part-time, or vice versa, please refer to the 'Shift' property.
  </para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>interval</parameter></entry><entry><link linkend="TYPE_DATEINTERVAL">DATEINTERVAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_resource">resource</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_vacation_global">vacation</link>, <link linkend="PROPERTY_shift_selection">shift</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Vacation Examples" "1.0" 2005-07-22 - 2006-01-01

# Labor Day
vacation "Labor Day" 2005-09-05
# 2 days Christmas break (27th not included!)
vacation "Christmas" 2005-12-25 - 2005-12-27

resource team "A team" {
  # 2 days of team vacation
  vacation 2005-10-07 +2d
  resource tux2 "Tux2" 
  resource tux3 "Tux3" {
    # And one extra day
    vacation 2005-08-10
  }
}

# The vacation property is also usefull when new employees start
# working in the course of a project or if someone quits.
resource tuxia "Tuxia" {
  # Tuxia is a new employee as of August 1st 2005
  vacation 1971-01-01 - 2005-08-01
}
 
resource tuxus "Tuxus" {
  # Tuxus quits his job on September 1st 2005
  vacation 2005-09-01 - 2030-01-01
}

task t "An important date" {
  start 2005-07-22
}

</screen></para></sect1><sect1 id="PROPERTY_version"><title>version
   &lt;<parameter>number</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">version
   &lt;<parameter>number</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies which XML format should be generated.
Currently version 2 is highly recommended.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>number</parameter></entry><entry><link linkend="TYPE_INTEGER">INTEGER</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_xmlreport">xmlreport</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "XML Report Example" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

# This is the format that e. g. tjx2gantt can read
xmlreport "Version1.tjx" {
  version 1
}

# This is the format that taskjuggler can read and write
xmlreport "Version2.tjx" {
  version 2
}

</screen></para></sect1><sect1 id="PROPERTY_weekdays"><title>weekdays
   &lt;<parameter>weekday</parameter>&gt;
  
   [, &lt;<parameter>weekday</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">weekdays
   &lt;<parameter>weekday</parameter>&gt;
  
   [, &lt;<parameter>weekday</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>This attribute specifies a list of weekdays that are
  shown in the report.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>weekday</parameter></entry><entry><link linkend="TYPE_WEEKDAY">WEEKDAY</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_htmlmonthlycalendar">htmlmonthlycalendar</link>, <link linkend="PROPERTY_htmlweeklycalendar">htmlweeklycalendar</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_workinghours">workinghours</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_weeklymax"><title>weeklymax
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">weeklymax
   &lt;<parameter>value</parameter>&gt;
  
   &lt;<parameter>unit</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Sets the weekly limit of a resource usage or a resource
allocation to a task.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>value</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><parameter>unit</parameter></entry><entry><link linkend="TYPE_UNIT">UNIT</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_limits">limits</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_dailymax">dailymax</link>, <link linkend="PROPERTY_monthlymax">monthlymax</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project limits "Limits" "1.0" 2004-03-01 - 2004-05-01

# Default limit that affects all subsequently defined resources
limits {
  weeklymax 4d
}

resource r1 "R1" { 
  # Limit the usage of this resource to a maximum of 2 hours per day,
  # 6 hours per week and 2.5 days per month.
  limits { dailymax 2h weeklymax 6h monthlymax 2.5d }
}

resource r2 "R2"

task t1 "Task 1" {
  start 2004-03-01
  duration 60d
  # allocation is subject to resource limits
  allocate r1
}

task t2 "Task 2" {
  start 2004-03-01
  duration 60d
  # limits can also be specified per allocation
  allocate r2 {
    limits { dailymax 4h weeklymax 3d monthlymax 2w }
  }
}
</screen></para></sect1><sect1 id="PROPERTY_weekstartsmonday"><title>weekstartsmonday</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">weekstartsmonday</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specify that you want to base all week calculation on
weeks starting on Monday. This is common in many European countries.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_weekstartssunday">weekstartssunday</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_weekstartssunday"><title>weekstartssunday</title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">weekstartssunday</entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specify that you want to base all week calculation on
weeks starting on Sunday. This is common in the United States of
America.</para></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_weekstartsmonday">weekstartsmonday</link></entry></row></tbody></tgroup></informaltable></para></sect1><sect1 id="PROPERTY_workinghours"><title>workinghours
   &lt;<parameter>weekday</parameter>&gt;
  
   [, &lt;<parameter>weekday</parameter>&gt; ... ]
  
   &lt;<parameter>interval</parameter>&gt;
  
   [, &lt;<parameter>interval</parameter>&gt; ... ]
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">workinghours
   &lt;<parameter>weekday</parameter>&gt;
  
   [, &lt;<parameter>weekday</parameter>&gt; ... ]
  
   &lt;<parameter>interval</parameter>&gt;
  
   [, &lt;<parameter>interval</parameter>&gt; ... ]
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>The working hours specification limits the availability
of resources to certain time slots of week days.</para></entry></row><row><entry morerows="2"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>weekday</parameter></entry><entry><link linkend="TYPE_WEEKDAY">WEEKDAY</link></entry><entry/></row><row><entry><parameter>interval</parameter></entry><entry><link linkend="TYPE_TIMEINTERVAL">TIMEINTERVAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, <link linkend="PROPERTY_resource">resource</link>, <link linkend="PROPERTY_shift">shift</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>Yes</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_dailyworkinghours">dailyworkinghours</link>, <link linkend="PROPERTY_yearlyworkingdays">yearlyworkingdays</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example Project" "1.0" 2000-01-01 - 2000-03-09 {
  # The following attributes are all optional. They illustrate the
  # default values. These attributes are only needed if you want to
  # specify different values than those listed below. 
  dailyworkinghours 8
  yearlyworkingdays 260.714
  timingresolution 60min
  timeformat "%Y-%m-%d %H:%M"
  shorttimeformat "%H:%M"
  currencyformat "(" ")" "," "." 0
  weekstartsmonday
    workinghours mon - fri 9:00 - 12:00, 13:00 - 18:00
    workinghours sat, sun off
  scenario plan "Plan" {
  }
}

task t "Task" {
  start 2000-01-01
}

</screen></para></sect1><sect1 id="PROPERTY_xmlreport"><title>xmlreport
   &lt;<parameter>file</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">xmlreport
   &lt;<parameter>file</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Generates a XML report. TaskJuggler 2.x has a much
improved XML format. This is not yet the default, but will be in later
versions. So you should always specify which version of the XML format
should be generated. The file name should have a
<varname>.tjx</varname> extension. Version 2 files are gzip compressed
XML Files. The DTD for the version 2 file format can be found on the <ulink url="http://www.taskjuggler.org/show_dtd.php">TaskJuggler Web
Site</ulink>.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>file</parameter></entry><entry><link linkend="TYPE_STRING">STRING</link></entry><entry/></row><row><entry><command>Optional Attributes</command></entry><entry spanname="sp1"><link linkend="PROPERTY_hideresource">hideresource</link>, <link linkend="PROPERTY_hidetask">hidetask</link>, <link linkend="PROPERTY_hideaccount">hideaccount</link>, <link linkend="PROPERTY_rollupresource">rollupresource</link>, <link linkend="PROPERTY_rolluptask">rolluptask</link>, <link linkend="PROPERTY_rollupaccount">rollupaccount</link>, <link linkend="PROPERTY_scenarios">scenarios</link>, <link linkend="PROPERTY_taskroot">taskroot</link>, <link linkend="PROPERTY_version">version</link></entry></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_global_scope">The TJP File</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row></tbody></tgroup></informaltable></para><para><screen>project simple "XML Report Example" "1.0" 2005-06-06 - 2005-06-26

resource tux "Tux"

task items "Project breakdown" {
  start 2005-06-06

  task plan "Plan work" {
    length 3d
  }

  task implementation "Implement work" {
    effort 5d
    allocate tux
    depends !plan
  }

  task acceptance "Customer acceptance" {
    duration 5d
    depends !implementation
  }
}

# This is the format that e. g. tjx2gantt can read
xmlreport "Version1.tjx" {
  version 1
}

# This is the format that taskjuggler can read and write
xmlreport "Version2.tjx" {
  version 2
}

</screen></para></sect1><sect1 id="PROPERTY_yearlyworkingdays"><title>yearlyworkingdays
   &lt;<parameter>days</parameter>&gt;
  </title><para><informaltable><tgroup cols="4" align="left"><colspec colname="c1"/><colspec colname="c2"/><colspec colname="c3"/><colspec colname="c4"/><spanspec spanname="sp1" namest="c2" nameend="c4"/><thead><row><entry namest="c1" nameend="c4" align="left">yearlyworkingdays
   &lt;<parameter>days</parameter>&gt;
  </entry></row></thead><tbody><row><entry><command>Description</command></entry><entry spanname="sp1"><para>Specifies the number of average working days per year.
This should correlate to the specified workinghours and vacation. It
affects the conversion of working hours, working days, working weeks,
working months and working years into each other.</para><para>When public holidays and vacations are disregarded, this value
should be equal to the number of working days per week times 52.1428
(the average number of weeks per year). E. g. for a culture with 5
working days it is 260.714 (the default), for 6 working days it is
312.8568 and for 7 working days it is 365.</para></entry></row><row><entry morerows="1"><command>Attributes</command></entry><entry align="center"><command>Name</command></entry><entry align="center"><command>Type</command></entry><entry align="center"><command>Description</command></entry></row><row><entry><parameter>days</parameter></entry><entry><link linkend="TYPE_REAL">REAL</link></entry><entry/></row><row><entry><command>Context</command></entry><entry spanname="sp1"><link linkend="PROPERTY_project">project</link>, </entry></row><row><entry><command>Inheritable</command></entry><entry>No</entry><entry><command>Scenario Spec.</command></entry><entry>No</entry></row><row><entry><command>See also</command></entry><entry spanname="sp1"><link linkend="PROPERTY_dailyworkinghours">dailyworkinghours</link>, <link linkend="PROPERTY_loadunit">loadunit</link>, <link linkend="PROPERTY_vacation_global">vacation</link>, <link linkend="PROPERTY_workinghours">workinghours</link></entry></row></tbody></tgroup></informaltable></para><para><screen>project prj "Example Project" "1.0" 2000-01-01 - 2000-03-09 {
  # The following attributes are all optional. They illustrate the
  # default values. These attributes are only needed if you want to
  # specify different values than those listed below. 
  dailyworkinghours 8
  yearlyworkingdays 260.714
  timingresolution 60min
  timeformat "%Y-%m-%d %H:%M"
  shorttimeformat "%H:%M"
  currencyformat "(" ")" "," "." 0
  weekstartsmonday
    workinghours mon - fri 9:00 - 12:00, 13:00 - 18:00
    workinghours sat, sun off
  scenario plan "Plan" {
  }
}

task t "Task" {
  start 2000-01-01
}

</screen></para></sect1></chapter>
