If all items are included then Product down to Sprint will be considered to be Parent nodes in the Timeline and the bars for these items have small arrows at the end of the bar to indicate that these items may have children. Parent nodes in the Timeline can be collapsed to hide all it's child nodes. Parent nodes can't be moved using drag & drop but it is possible to change the start/enddates by modifying the value in the columns "Start" and "End".
The item at the lowest level in the Timeline (if all items are show these are the Issues) are considered to be Leaf objects. A Leaf object can be resized or moved using drag & drop and it's also possible to change the dates by modifying the value in the columns "Start" and "End".
If the user chooses to hide some items by unchecking the checkboxes in the toolbar then the Leaf object in the Timeline may change. For example say that the following items are selected:
In this case Product and Project are still Parent nodes but the Sprint has now become a Leaf node which means it can now be moved around and resized using drag & drop.
The way changes affect other items in the Timeline is controlled by three options:
1) Cascade changes
If the cascade changes option is checked then a change to one task will cascade via it's dependencies to other tasks in the Timeline. For example if Task1 have an End-Start dependency to Task2 and Task1 is moved 5 days into the future then Task2 will automatically move as well.
2) Recalculate parents
If recalculate parents is checked then a change to any child task will check if the parent needs to change as well. The parent will automatically start at the start date of the earliest of all it's children and end at the end date of the latest child task. This change will then also propagate up through the chain of parent tasks.
3) Recalculate children
When you change the StartDate (forward) of a parent task (currently only possible by changing the date in the Start column) and you have the option "Recalculate children" checked then all children of this task will be moved forward by the same time difference. If you move the StartDate back in time all the children will be moved back by the same time difference.
This option is mutually exclusive with Recalculate parents.
Common for all these options are that if a modification of a task will modify one or more other tasks the user is presented with the warning message:
"The change you are about to make is affecting other resources. Do you wish to continue?"
If "yes" then all changes will be made both locally and commited to the server.
It's possible to create dependencies between items in the Timeline. To create a new dependency you hover with the mouse above the task from which you want to start the dependency. This will display two circles on either side of the task. By moving the mouse over the circle at the end of the task and pressing the mouse button you start the creation of the dependency.
Once a dependency has been created it's possible to change the type or delete it by double-clicking on the blue link.
Dependency creation have the following limitations:
- Dependencies can only be created between Issues-Issues and Sprints-sprints. If the same Sprint is shown in multiple places in the Timeline it's not possible to create a link between these Sprint objects since they are actually the same object in VisionProject.
- Only one dependency is allowed between the same two items
- Only Finish-Start and Finish-Finish dependencies can be created
If a dependency is added or modified so that it affects another item and the option "Cascade changes" is selected then a confirmation message is displayed to the user asking for confirmation before the dependency is added or modified.
In order to change items in the Timeline the following permission rules apply:
- Issue modification (Start/DueDate) requires Read/Write access to StartDate and/or DueDate field in IssueFields.
- Sprint modification (Start/ReleaseDate) requires the role to have access to "Edit sprints".
- Project modification (Start/EndDate) requires the role to have access to "Edit project info".
- Release modification (Start/EndDate) requires the role to have access to "Edit configuration items".
- Product modification (Start/EndDate) requires the role to have access to "Edit configuration items".
- Issue link creation/modification requires the role to have access to "Edit issue links"
- Sprint link creation/modification requires the role to have access to "Edit sprints"