### The TaskJuggler User Manual

Project Management beyond Gantt Chart Drawing

<< timeoff (nikureport) << | Table Of Contents | >> timesheetreport >>

Keyword | timesheet

Purpose

A time sheet record can be used to capture the current status of the tasks assigned to a specific resource and the achieved progress for a given period of time. The status is assumed to be for the end of this time period. There must be a separate time sheet record for each resource per period. Different resources can use different reporting periods and reports for the same resource may have different reporting periods as long as they don't overlap. For the time after the last time sheet, TaskJuggler will project the result based on the plan data. For periods without a time sheet record prior to the last record for this resource, TaskJuggler assumes that no work has been done. The work is booked for the scenario specified by trackingscenario.

The intended use for time sheets is to have all resources report a time sheet every day, week or month. All time sheets can be added to the project plan. The status information is always used to determin the current status of the project. The work, remaining and end attributes are ignored if there are also bookings for the resource in the time sheet period. The non-ignored attributes of the time sheets will be converted into booking statements internally. These bookings can then be exported into a file which can then be added to the project again. This way, you can use time sheets to incrementally record progress of your project. There is a possibility that time sheets conflict with other data in the plan. In case TaskJuggler cannot automatically resolve them, these conflicts have to be manually resolved by either changing the plan or the time sheet.

The status messages are interpreted as journal entries. The alert level will be evaluated and the current state of the project can be put into a dashboard using the `alert` and `alertmessage` columns.

Currently, the provided effort values and dates are not yet used to automatically update the plan data. This feature will be added in future versions.

Syntax | `timesheet <resource> <interval4> { <attributes> }`
Arguments | resource [ID] | The ID of a defined resource
interval4 | See interval4 for details.
Context | properties

Attributes | newtask, shift (timesheet), status (timesheet), task (timesheet)

    project "test" 2009-11-30 +2m {
      timezone "America/Denver"
      trackingscenario plan
      now ${projectstart}
    }
    timesheet r1 2009-11-30 +1w {
      task t1 {
        work 3d
        remaining 0d
        status green "All work done" {
          summary "I had good fun!"
          details -8<-
            This task went smoothly and I got three things done:
            * Have fun
            * Be on time
            * Get things done
          ->8-
        }
      }
      newtask t4 "Another fun job" {
        work 2d
        remaining 4d
        status yellow "Had a cool idea" {
          summary "Will have a schedule impact though."
        }
      }
    }

    timesheet r2 2009-11-30 +1w {
      task t2.t3 {
        work 5d
        end 2009-12-10
        status red "I need more time" {
          summary "This takes longer than expected"
          details -8<-
            To finish on time, I need help. Get this r1 guy to help me out
            here.
            * I want to have fun too!
          ->8-
        }
      }
      status yellow "My wife got ill" {
        summary "I might have to work from home for a few days next week."
      }
    }

<< timeoff (nikureport) << | Table Of Contents | >> timesheetreport >>

Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012 by Chris Schlaeger <chris@linux.com>.TaskJuggler is a trademark of Chris Schlaeger.