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 17 Next »

User 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 to join her research team. Alice has used Synapse in the past and wants to use it for 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.

Use case

GoalAlice wants to invite Bob to join her Synapse team.
Primary actorAlice.
Secondary actorsBob.
PreconditionAlice has created a team and she is at her team's page.
Success endBob joins the team, or Alice cancels the invitation to Bob.

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.

Step 3. Bob clicks on the invitation link.

Step 4. Bob reaches a registration/sign in page and creates his new Synapse account.

Step 5. System adds Bob's account to Alice's team.

Error scenarios

At step 1. The email address entered by Alice doesn't exist.

    1. System sends an email to Alice to notify her of the problem.
    2. Alice tries again with a different email address.

Alternative scenarios

At step 2. System detects that the email address entered already has a Synapse account associated with it, presumably it's Bob's account.

    1. System sends Bob a membership invitation to Alice's team.
    2. Bob accepts the invitation and joins Alice's team.

At step 3. Alice decides not to collaborate with Bob anymore and wants to cancel her invitation.

    1. Alice navigates to her team's page and clicks on the remove button associated with the pending invitation to Bob.
    2. System invalidates the invitation link sent to Bob.
      1. The link Bob received is no longer valid and directs to an error page.

At step 4.

A. Bob already has a Synapse account associated with a different email address and is already signed in in his browser.

      1. System adds Bob's account to Alice's team.

B. Bob already has a Synapse account associated with a different email address but isn't signed in.

      1. Bob signs in with his existing account.
      2. System adds Bob's account to Alice's team.

Relevant questions

At step 4 in the main success scenario, should we skip the email validation process that precedes registering an account?
+ Easier to use for the user.
- Forces the user to register Synapse account with the email address the invitation was sent to.

Leaning towards yes, we should skip it.

Related to the above, should the invitation email have one link to a sign in/registration page; or two links, one to a sign in page and one to a registration page?

Tentatively a single link is preferred.

Should we allow batch inviting? Currently only one user can be invited at a time.

Not necessary.

Should we display pending invitations in Alice's team page and allow her to cancel them? This would remove the need for the alternative scenario on step 5.

Yes, it's a good idea as it enables alternative scenario step 3.

What happens if the invitee is already signed in to Synapse when they click the invitation link(s)?

Addressed by alternative scenario step 4a.

Should we allow existing users to be searched by their email address?

No, we shouldn't allow reverse searches because user email addresses aren't public.

Mockups


API

In progress

  • No labels