Use
...
cases
Background
Alice is a researcher at a lab and she is in the process of starting a new project. She has already contacted Bob who works in a lab abroad and he has agreed is trying to recruit people to join her research team . Alice has used Synapse in the past and wants to use it for to work on her new project, but she doesn't know if Bob has used Synapse before. Alice does know Bob's email address. Alice wants to invite him to join her newly created team and have him create a new Synapse account if he doesn't have his own already.
Sub use case A - Bob doesn't have a Synapse account.
Sub use case B - Bob already has one or more Synapse accounts.
Sub use case C - Alice decides not to collaborate with Bob anymore and wants to cancel her invitation.
Workflow proposal
. Alice thinks that her friend Bob who is a researcher at a different lab might be interested in joining her team.
Use case A - Alice wants to invite Bob to join her Synapse team.
Goal | Alice wants to invite Bob to join her Synapse team. |
Primary actor | Alice |
Secondary |
actor | Bob |
Precondition | Alice has created a team and she is at her team's page. |
Postcondition | Bob |
receives an email invitation to join Alice's team. |
Main success scenario |
Step 1. Alice invites Bob to join her team by entering his email address and an optional invitation message. Step 2. System sends Bob an email containing an invitation link to join Alice's team. | |
Error scenarios | Replacing step 2.
|
Use case B - Alice wants to revoke an email invitation she sent previously.
Goal | Alice wants to revoke an invitation she sent previously. |
Primary actor | Alice |
Secondary actor | Bob |
Preconditions |
|
Postcondition | The invitation link Bob received is no longer valid. |
Main success scenario | Step 1. Alice navigates to her team's page and clicks on the remove button associated with the pending invitation to Bob. Step 2. System invalidates the invitation link sent to Bob. |
Use case C - Bob wants to create a Synapse account and accept Alice's invitation.
Goal | Bob wants to create a Synapse account and accept Alice's invitation. |
Primary actor | Bob |
Secondary actor | Alice |
Preconditions |
|
Postcondition | Bob is part of Alice's team. |
Main success scenario | Step |
1. Bob clicks on the invitation link in the email he received. Step |
2. Bob reaches a registration/sign in page. Step |
3. Bob creates his new Synapse account. |
Step 4. Bob is redirected to Alice's team's page. Step 5. Bob accepts Alice's team invitation. Step 6. System |
sends a notification email to Alice saying that Bob has joined her team. |
Use case D - Bob wants to sign in to his existing Synapse account and accept Alice's invitation.
Goal | Bob wants to sign in to his existing Synapse account and accept Alice's invitation. |
Primary actor | Bob |
Secondary actor | Alice |
Preconditions |
|
Postcondition | Bob is part of Alice's team. |
Main success scenario | Step 1. Bob clicks on the invitation link in the email he received. Step 2. Bob reaches a registration/sign in page. Step 3. Bob creates signs in with his existing Synapse account. Step 4. Bob is redirected to Alice's team's page |
. Step 5. Bob accepts Alice's team invitation. Step |
6. System sends a notification email to Alice saying that Bob has joined her team. |
Replacing steps 2 and on.
- The email address entered by Alice doesn't exist.
- System sends an email to Alice to notify her of the problem.
- Alice tries again with a different email address.
Alternative scenarios
Replacing step 5. (Sub use case B)
Use case E - Bob wants to create a new Synapse account but doesn't want to accept Alice's invitation yet.
Goal | Bob wants to create a new Synapse account but doesn't want to accept Alice's invitation |
Primary actor | Bob |
Secondary actor | Alice |
Precondition |
|
Postcondition | Bob has a Synapse account with a pending invitation to join Alice's team. |
Replacing steps 3 and on. (Sub use case C)
Main success scenario | Step 1. Bob clicks on the invitation link in the email he received. Step 2. Bob reaches a registration/sign in page. Step 3. Bob creates his new Synapse account. Step 4. Bob is redirected to Alice's team's page. |
Discussion about the rationale behind some design decisions
...
- In earlier versions of the proposed workflowdesign, if the email entered by Alice was already associated with an existing Synapse account, a membership invitation to that account would be created instead of sending an email invitation. The current design changes this behavior and instead, the system always sends an email invitation to Bob and the membership invitation to the Synapse account isn't created.
- Even if Bob is already signed in to Synapse in his browser, clicking on the invitation link should always ask Bob to sign in again. This avoids the case where Bob accidentally joins the team with the account with which he is currently signed in.
...