Content
View differences
Updated by Robin Wagner over 5 years ago
# User Story
As an project manager
**I want** to assign work packages to placeholder users
**so** that I can create a work plan that include (placeholder) users that must not have access to the system (yet).
# Acceptance criteria:
## 1: New user type "placeholder user"
* We introduce the concept of "placeholder users" to user objects.
* For placeholder users only the username is mandatory. The email address can not be added.
## 2: Add create button in header navigation
* We have an add-button in the header navigation
* There is a menu item "Invite user" which opens a modal window.
<figure class="image op-uc-figure" style="width:32.05%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19674/content"></div></figure>
## 3: Invite user modal
* The form allows to switch between the two user types.
* Invite user to project (new or existing)
* Email address
* Role in selected project
* Project (the current project is preselected)
* Invite message (optional)
* Add placeholder to project (new or existing)
* Username
* Role in selected project (the current project is preselected) (Question: Why does a placeholder need a role? Is that every member needs a (any) role? )
* Project
* The placeholder user feature can be deactivated globally for the entire installation by removing the permission to create placeholder users.
* The user autocompletion shows the username of the user (important if two users have the same name). We show the username in case the email address is hidden.
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19676/content"></div></figure>
## 4: Invite new users from work packages module
* Only project members can be selected. Project members from other projects can not be selected. They have to be invited first.
* We extend the user selection form field in the work packages modal to open the user invite modal.
* After inviting new users the new user is selected in the respective work package attribute.
* The user-autocompletion shows the username of the user (important if two users have the same name).
<figure class="image op-uc-figure" style="width:55.58%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19675/content"></div></figure>
## 5: Display of placeholder users
* Placeholder users have a very specific user avatar. So it is possible to differentiate normal users from placeholder users. Thereby people understand what happens when assigning a work package to a placeholder user.
* Why doesn't this user receive an email?
* Why can't this user login?
<figure class="image op-uc-figure" style="width:17.89%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19677/content"></div></figure>
## 6: New permissions to create placeholder users
* Invite new placeholder user to a project.
* 1: Create new placeholder user: New global permission (independent of a project scope) "Create placeholder users".
* Will be granted to most users at AMG.
<figure class="image op-uc-figure" style="width:28.08%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19710/content"></div></figure>
* 2: Add an existing placeholder user to a project: New project permission "Manage placeholder users".
* Will be granted to most users at AMG.
<figure class="image op-uc-figure" style="width:57.88%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19709/content"></div></figure>
* Invite new users to a project
* 1: Create new user: New global permission (independent of a project scope) "Create new user ".
* 2: Add a user to a project: Existing project permission "Manage members".
## 7: Update seed data
* The new permissions need to be included in the seed data (data that is created in new installations) for the default roles.
## 8: Administration and user contingents in subscription plans
* Show placeholder users in user administration table with an extra column "Placeholder" with a checkbox icon for placeholder users.
* No filtering on that attribute.
* Placeholder users do not count for user limits. So if somebody has a 5 users plan and has 1 user and 10 placeholder users then in terms of the subscription they count as 1.
# Out of scope
The following features are not included in the effort estimated. They are to be specified in a separate work package:
* Guest users (they are only added to the Prototyp to ensure consistency).
* We will most likely not implement a switching between the user types (e.g. make a placeholder a normal user). Instead we believe that batch editing work packages and assigning them to a real user is the cleaner approach.
* Menu items for work packages in the header navigation (the mechanism to decided which work package type are displayed in the menu).
As an project manager
**I want** to assign work packages to placeholder users
**so** that I can create a work plan that include (placeholder) users that must not have access to the system (yet).
# Acceptance criteria:
## 1: New user type "placeholder user"
* We introduce the concept of "placeholder users" to user objects.
* For placeholder users only the username is mandatory. The email address can not be added.
## 2: Add create button in header navigation
* We have an add-button in the header navigation
* There is a menu item "Invite user" which opens a modal window.
<figure class="image op-uc-figure" style="width:32.05%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19674/content"></div></figure>
## 3: Invite user modal
* The form allows to switch between the two user types.
* Invite user to project (new or existing)
* Email address
* Role in selected project
* Project (the current project is preselected)
* Invite message (optional)
* Add placeholder to project (new or existing)
* Username
* Role in selected project (the current project is preselected) (Question: Why does a placeholder need a role? Is that every member needs a (any) role? )
* Project
* The placeholder user feature can be deactivated globally for the entire installation by removing the permission to create placeholder users.
* The user autocompletion shows the username of the user (important if two users have the same name). We show the username in case the email address is hidden.
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19676/content"></div></figure>
## 4: Invite new users from work packages module
* Only project members can be selected. Project members from other projects can not be selected. They have to be invited first.
* We extend the user selection form field in the work packages modal to open the user invite modal.
* After inviting new users the new user is selected in the respective work package attribute.
* The user-autocompletion shows the username of the user (important if two users have the same name).
<figure class="image op-uc-figure" style="width:55.58%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19675/content"></div></figure>
## 5: Display of placeholder users
* Placeholder users have a very specific user avatar. So it is possible to differentiate normal users from placeholder users. Thereby people understand what happens when assigning a work package to a placeholder user.
* Why doesn't this user receive an email?
* Why can't this user login?
<figure class="image op-uc-figure" style="width:17.89%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19677/content"></div></figure>
## 6: New permissions to create placeholder users
* Invite new placeholder user to a project.
* 1: Create new placeholder user: New global permission (independent of a project scope) "Create placeholder users".
* Will be granted to most users at AMG.
<figure class="image op-uc-figure" style="width:28.08%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19710/content"></div></figure>
* 2: Add an existing placeholder user to a project: New project permission "Manage placeholder users".
* Will be granted to most users at AMG.
<figure class="image op-uc-figure" style="width:57.88%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/19709/content"></div></figure>
* Invite new users to a project
* 1: Create new user: New global permission (independent of a project scope) "Create new user ".
* 2: Add a user to a project: Existing project permission "Manage members".
## 7: Update seed data
* The new permissions need to be included in the seed data (data that is created in new installations) for the default roles.
## 8: Administration and user contingents in subscription plans
* Show placeholder users in user administration table with an extra column "Placeholder" with a checkbox icon for placeholder users.
* No filtering on that attribute.
* Placeholder users do not count for user limits. So if somebody has a 5 users plan and has 1 user and 10 placeholder users then in terms of the subscription they count as 1.
# Out of scope
The following features are not included in the effort estimated. They are to be specified in a separate work package:
* Guest users (they are only added to the Prototyp to ensure consistency).
* We will most likely not implement a switching between the user types (e.g. make a placeholder a normal user). Instead we believe that batch editing work packages and assigning them to a real user is the cleaner approach.
* Menu items for work packages in the header navigation (the mechanism to decided which work package type are displayed in the menu).