Skip to end of banner
Go to start of banner

Invite a new user to join a team

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 30 Next »

Use cases

Background

Alice is a researcher at a lab and she is in the process of starting a new project. She is trying to recruit people to join her research team to work on her new project. 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.

GoalAlice wants to invite Bob to join her Synapse team.
Primary actorAlice
Secondary actorBob
PreconditionAlice has created a team and she is at her team's page.
PostconditionBob 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.

    1. The email address entered by Alice doesn't exist.
    2. System sends an email to Alice to notify her of the problem.
    3. Alice tries again with a different email address.

Use case B - Alice wants to revoke an email invitation she sent previously.

Goal

Alice wants to revoke an invitation she sent previously.

Primary actorAlice
Secondary actorBob
Preconditions
  1. Alice has sent an email invitation to Bob.
  2. Bob hasn't accepted the email invitation yet.
PostconditionThe 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 actorAlice
Preconditions
  1. Alice has sent an email invitation to Bob.
  2. Bob doesn't have a Synapse account.
PostconditionBob 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 the Teams tab in his profile 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 actorAlice
Preconditions
  1. Alice has sent an email invitation to Bob.
  2. Bob has one or more Synapse accounts.
PostconditionBob 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 the Teams tab in his profile 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 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 actorAlice
Precondition
  1. Alice has sent an email invitation to Bob.
  2. Bob doesn't have a Synapse account.
PostconditionBob has a Synapse account with a pending invitation to join 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.

Discussion about the rationale behind some design decisions

We always want to allow Bob to choose the account he joins Alice's team with. This led to the following design decisions:

  • In earlier versions of the design, 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.

Bob should not be automatically added to the team after registering a new account / signing in to his account, but instead he should need to manually accept the membership invitation. This separates the process of registering for a Synapse account and joining the team, giving Bob the chance to explore Synapse without committing to join Alice's team.

Mockups

Click on the thumbnail to see the all the mockups.

API

In progress

  • No labels