For scheduling and tracking projects, which are estimated with efforts for each task, you need to configure project resources. Resources can be human resources as well as tools, which need to be available to complete a task.
Each resource starts with - resource: <ID>
.
When you assign a task to a resource, you always refer to the ID.
Make sure to keep each identifier unique.
resources:
- resource: MM
name: Marc Müller
- resource: R1
name: Room 1
With dailymax
you can set a limit of working hours per day.
A dailymax
value of 4h
is equivalent to set workingtime
to 4h
for each day.
resources:
- resource: MM
name: Marc Müller
dailymax: 6h
Type: String
The ID is the main identifier of a resource or worker. It should be kept short and simple, since this is the identifier you will use in the task configuration to assign resources to tasks
resources:
- resource: MM # This worker will use the ID: MM
name: Marc Müller
- resource: R1 # This resource will use the ID: R1
name: Room 1
In a leave section you can tell the scheduler when employees are on leave.
resources:
- resource: Dev
name: Developer
leave:
- 2020-08-03 # One day leave
- 2020-08-05 - 2020-08-07 # Three full days leave
- 2020-08-10 - 2020-08-12 2h # Three days where Dev is available for 2 hours per day
This resembles the full name of a worker or a resource. It has no meaning to the scheduler, but will make it easier to identify a resource.
resources:
- resource: MM # This worker will use the ID: MM
name: Marc Müller
With workingtime
you can configure when resources/workers are available for working on tasks.
By default a worker is available from Monday to Friday, 8 hours per day.
In the workingtime
property you can configure
Which days a worker will be available
You can do this by setting a comma separated list of weekdays where the worker is available (e.g. MON, TUE, WED
or MO, TU, WE
)
How many hours the worker is available each individual day by providing a duration, separated by a colon after the weekday (e.g. MON:4h, TUE:6h
). The duration is optional, with a default value of 8h
.
Omitted days in this list indicate that the resource/worker is not available on this day at all.
resources:
- resource: dev
name: Software developer
workingtime: MON, TUE, WED, THU:4h # Working from Monday to Wednesday full time, Thursday half time and Friday off
- resource: test
name: Software tester
workingtime: MO:4h, TU, WE, TH, FR:4h # Working full time, except for Monday and Friday
A resource filter can be used to limit the time a resource can spend on tasks.
Like a resource itself, a filter can handle the dailymax
or workingtime
property to artificially restrict the availability of a resource for some tasks.
To apply a filter on a resource, you append the name of the filter to the name of the resource, separated by a .
.
Filters will never show up on a resource chart or a gantt chart. Eventually, the time booked will always be added to the underlying resource.
Once configured, a filter can be used for multiple resources, where it is treated independently for each resource.
However, if you use the same filter for the same resource multiple times on different tasks, the tasks have to share the availability of that resource. See examples.
A filter
. can only be used in combination with a resource.
resources:
- resource: dev
name: Software developer
dailymax: 6h
- filter: onlyMondays
workingtime: mo
tasks:
# This task will start on Monday, 1st of June 2020.
# It will finish on Monday, 8th of June after 4 working hours this day, since
# dev is only working 6 hours per day and since it is using the `onlyMondays` filter, dev
# will only be available on Mondays
- task: T1
start: 2020-06-01
efforts: 10h
assign: dev.onlyMondays
# The second task, despite the configured start date, will commence work on
# Monday, 8th of June for 2 remaining hours this day, after T1 has been completed and
# the resource `dev1.onlyMondays` is free again.
# It will finish on Monday, 15th of June after 4 hours this day
- task: T2
start: 2020-06-01
efforts: 6h
assign: dev.onlyMondays