Content
View differences
Updated by Parimal Satyal over 1 year ago
**As a** project manager
**I want to** enter lag to follow/precedes relations
**so that** this is included in the scheduling of work packages.
#### **Note**
Since we are changing the relations tab to include lag, we are also Primerising it without adding any additional functionality apart from the ability to add and edit lag.
#### **Acceptance criteria (high-level)**
* The lag is shown in the relations tab for follow-precedess relations.
* The default is 0 days (unset).
* Users with the permissions "Manage work package relations" can edit the lag.
* ~~The lag can also be negative.~~
* The lag only considers working days (for the current scope).
##### Blank state
If a work package has no relations, a Blankslate is displayed:
* Title: No relations
* Caption: Add relations to other work packages to create a link between them.
* Action (primary): Add relation (dropdown)
##### Viewing relations
When relations exist,
* The top of the tab has a caption with a "+ Add relation" button (secondary)
* This is only visible to users with the permission to create work packages.
* Each type of existing relation is contained in a box section
* The title is the relation type followed by a badge of the number of relations (eg. "Related to (2)"
* Each relation includes:
* Type
* #ID
* Status
* This will use the same Label component as in ##58512
* Work package name
* Description (optional, if it exists)
* More icon (...) with two options: Edit and Delete (danger)
* Predecessor/Successor relations include:
* The words "(before)" and "(after)" after the section titles for additional clarity
* Start and end date of the related work package (if it exists)
* Indication of manual scheduling (if that's the case)
* Lag (if it exists), expressed simply as "(Lag: 3 days)" after the date
* If a relation contains multiple relation types, each type is contained in its own box
* Apart from the relation types, children the following relations are also displayed in an as individual box section, at the end.
sections:
* Parent
* Children
**Adding relations**
* The "+ Add relation" allows the user to add a new relation
* Click on the button will trigger a flat Action menu to select relation types. Each relation has a title and a short caption that describes the relation type:
* **Related to**
Creates a visible link between the two work packages with no additional effect
* **Predecessor (before)**
The related work package necessarily needs to finish before this one can start
* **Successor (after)**
The related work package necessarily needs to start after this one finishes
* **Child**
Makes the related a work package a sub-item of the current (parent) work package
* **Blocks**
The related work package cannot be closed until this one is closed first
* **Blocked by**
This work package cannot be closed until the related one is closed first
* **Includes**
Marks the related work package as including this one with no additional effect
* **Part of**
Marks the related work package as being part of this one with no additional effect
* **Requires**
Marks the related work package as a requirement to this one
* **Required by**
Marks this work package as being a requirement to the related one
* Selecting a relation type will display a dialog:
* Title: "Add {relation type}"
* Body:
* Work package search input
* Action (secondary): "+ Add description"
* This adds a new text input line titled "Description"
* Action (secondary): "+ Add lag"
* This adds a new text input line titled "Lag"
* Defaut: "0 days"
* Caption: "The gap in number of working days in between the two work packages"
* Validation: The field has to be an integer (whole numbers: negative, 0 or positive)
**Empty state**
* If a work package has no relations:
* The top of the tab will still have a caption with a "+ Add relation" button (secondary)
* This will be followed with a Blankslate informing the user that the work package does not yet have relations.
#### **Visuals and Figma mockups**
The UX/UI is a work in progress. For the most up-to-date mockups, please refer to the Figma document:
workPackageValue:"Figma wireframes"
**Blank state:**
<img class="image_resized op-uc-image op-uc-image_inline" style="width:498px;" src="/api/v3/attachments/210175/content">
**Add relations drop-down:**
<img class="image_resized op-uc-image op-uc-image_inline" style="width:498px;" src="/api/v3/attachments/210177/content">
<br>
**Add successor dialog** ("+ Add lag" has already been clicked to show the Lag input):
<img class="image_resized op-uc-image op-uc-image_inline" style="width:666px;" src="/attachments/188273/Add_relation_-_Successor__with_lag_.png">
**Multiple relations visible:**
<img class="image_resized op-uc-image op-uc-image_inline" style="width:474px;" src="/api/v3/attachments/199167/content">
#### **Anticipated UX issues**
* A user, especially one who is not familiar with the concept of lag, might not understand the concept. We might have to explain this better.
* In a Gantt view, when a user moves a work package into the future, certain other work packages might be pushed. Based on the lag set for those relations, some might move by keeping a certain distance (3 days in between), some might move with no distance (the next day) and some might move with negative distance (-2 days). How should the user understand this inconsistent behaviour, especially if she cannot see that lag has been set inside the work packages?
* How can we make lag more visible in the Gantt view itself? It would have to be in the lines connected the work packages, but we know that there are technical limitations to how much we can do here.
#### Reference
**MS Project:**
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/95368/content"></div><figcaption class="op-uc-figure--description">Example (MS Project):</figcaption></figure>
#### Out of scope
* Making lag visible in the Gantt chart
* Displaying ghost relations, described separately: ##58427
* The option to include non-working days in lag (option to select/deselect "Working days" next to Lag in the relation edit modal)
* Scheduling modes, which will worked on after this feature:
* ###42388
**I want to** enter lag to follow/precedes relations
**so that** this is included in the scheduling of work packages.
#### **Note**
Since we are changing the relations tab to include lag, we are also Primerising it without adding any additional functionality apart from the ability to add and edit lag.
#### **Acceptance criteria (high-level)**
* The lag is shown in the relations tab for follow-precedess relations.
* The default is 0 days (unset).
* Users with the permissions "Manage work package relations" can edit the lag.
* ~~The lag can also be negative.~~
* The lag only considers working days (for the current scope).
##### Blank state
If a work package has no relations, a Blankslate is displayed:
* Title: No relations
* Caption: Add relations to other work packages to create a link between them.
* Action (primary): Add relation (dropdown)
##### Viewing relations
When relations exist,
* The top of the tab has a caption with a "+ Add relation" button (secondary)
* This is only visible to users with the permission to create work packages.
* Each type of existing relation is contained in a box section
* The title is the relation type followed by a badge of the number of relations (eg. "Related to (2)"
* Each relation includes:
* Type
* #ID
* Status
* Work package name
* Description (optional, if it exists)
* More icon (...) with two options: Edit and Delete (danger)
* Predecessor/Successor relations include:
* The words "(before)" and "(after)" after the section titles for additional clarity
* Start and end date of the related work package (if it exists)
* Indication of manual scheduling (if that's the case)
* Lag (if it exists), expressed simply as "(Lag: 3 days)" after the date
* If a relation contains multiple relation types, each type is contained in its own box
* Apart from the relation types, children
* Parent
* Children
* The "+ Add relation" allows the user to add a new relation
* Click on the button will trigger a flat Action menu to select relation types. Each relation has a title and a short caption that describes the relation type:
* **Related to**
Creates a visible link between the two work packages with no additional effect
* **Predecessor (before)**
The related work package necessarily needs to finish before this one can start
* **Successor (after)**
The related work package necessarily needs to start after this one finishes
* **Child**
Makes the related a work package a sub-item of the current (parent) work package
* **Blocks**
The related work package cannot be closed until this one is closed first
* **Blocked by**
This work package cannot be closed until the related one is closed first
* **Includes**
Marks the related work package as including this one with no additional effect
* **Part of**
Marks the related work package as being part of this one with no additional effect
* **Requires**
Marks the related work package as a requirement to this one
* **Required by**
Marks this work package as being a requirement to the related one
* Selecting a relation type will display a dialog:
* Title: "Add {relation type}"
* Body:
* Work package search input
* Action (secondary): "+ Add description"
* This adds a new text input line titled "Description"
* Action (secondary): "+ Add lag"
* This adds a new text input line titled "Lag"
* Defaut: "0 days"
* Caption: "The gap in number of working days in between the two work packages"
* Validation: The field has to be an integer (whole numbers: negative, 0 or positive)
**Empty state**
* If a work package has no relations:
* The top of the tab will still have a caption with a "+ Add relation" button (secondary)
* This will be followed with a Blankslate informing the user that the work package does not yet have relations.
#### **Visuals and Figma mockups**
The UX/UI is a work in progress. For the most up-to-date mockups, please refer to the Figma document:
workPackageValue:"Figma wireframes"
**Blank state:**
<img class="image_resized op-uc-image op-uc-image_inline" style="width:498px;" src="/api/v3/attachments/210175/content">
**Add relations drop-down:**
<img class="image_resized op-uc-image op-uc-image_inline" style="width:498px;" src="/api/v3/attachments/210177/content">
<br>
**Add successor dialog** ("+ Add lag" has already been clicked to show the Lag input):
<img class="image_resized op-uc-image op-uc-image_inline" style="width:666px;" src="/attachments/188273/Add_relation_-_Successor__with_lag_.png">
**Multiple relations visible:**
<img class="image_resized op-uc-image op-uc-image_inline" style="width:474px;" src="/api/v3/attachments/199167/content">
#### **Anticipated UX issues**
* A user, especially one who is not familiar with the concept of lag, might not understand the concept. We might have to explain this better.
* In a Gantt view, when a user moves a work package into the future, certain other work packages might be pushed. Based on the lag set for those relations, some might move by keeping a certain distance (3 days in between), some might move with no distance (the next day) and some might move with negative distance (-2 days). How should the user understand this inconsistent behaviour, especially if she cannot see that lag has been set inside the work packages?
* How can we make lag more visible in the Gantt view itself? It would have to be in the lines connected the work packages, but we know that there are technical limitations to how much we can do here.
#### Reference
**MS Project:**
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/95368/content"></div><figcaption class="op-uc-figure--description">Example (MS Project):</figcaption></figure>
#### Out of scope
* Making lag visible in the Gantt chart
* Displaying ghost relations, described separately: ##58427
* The option to include non-working days in lag (option to select/deselect "Working days" next to Lag in the relation edit modal)
* Scheduling modes, which will worked on after this feature:
* ###42388