Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

team invitation for external members #329

Closed
mahesh-umarane opened this issue Feb 10, 2020 · 13 comments
Closed

team invitation for external members #329

mahesh-umarane opened this issue Feb 10, 2020 · 13 comments
Labels
enhancement New feature or request

Comments

@mahesh-umarane
Copy link

Hi All,

I am using Apigee Developer Portal Kickstart distribution in Drupal 8.

With this members can be added to a team. But it is not similar to Company Invite of Drupal 7.

Could you please suggest, any module for Team invitation for external members in Drupal 8?

With this module,

  1. External/Guests users can be invited to team using email address

  2. With the invitation emails, User will register to portal and assigned to the team

  3. Till user accepts invitation, the request will be in pending state

  4. It can be cancelled before acceptance

@mikesson
Copy link

Hi, adding a +1 to this request as this would enhance the teams capabilities. Currently, only existing members can be added to a team. The invitation should send out an email and allow for user registration which then automatically adds the user to the team with the defined role (or with the member role by default)

@cnovak cnovak added the enhancement New feature or request label Feb 11, 2020
@cnovak
Copy link
Collaborator

cnovak commented Feb 11, 2020

Thanks for the input @mikesson and @mahesh-umarane. The more feedback we get the better idea we have on how to plan out development for needed fixes or features. We don't have a timeline yet on this but we will keep the ticket updated.

@mikesson
Copy link

One more consideration:
When having developer invitations, the concept of a "company admin" roles should be considered, which allows creating teams and entering billing details, as well as sending invites to members who can then onboard as a "company user" to view team APIs.

Currently, there is only the "Create teams" and "View any Teams" permission to work with, but for the above to work, the modules also requires a "View my team apps" permission.

@mikesson
Copy link

Adding to the above, such roles can be built by editing permissions of team "Members" and "Admins" here: https:///admin/config/apigee-edge/team-settings/permissions

@mikesson
Copy link

mikesson commented Mar 3, 2020

Suggestion from customer: as only users with existing accounts can be invited to a team, a workflow/setting could be: when inviting a specific email address, "if user does not exist, send email to user to register on portal.

@cnovak cnovak added this to To do in Drupal-based Development Board via automation Mar 3, 2020
@cnovak cnovak added this to the 8.x-1.10 milestone Apr 7, 2020
@cnovak
Copy link
Collaborator

cnovak commented Apr 7, 2020

Added to upcoming release to assess requirements

@arunz6161 arunz6161 modified the milestones: 8.x-1.10, 8.x-1.11 May 12, 2020
@arlina-espinoza arlina-espinoza modified the milestones: 8.x-1.11, 8.x-1.12 May 28, 2020
@arlina-espinoza
Copy link
Contributor

arlina-espinoza commented Jun 2, 2020

Here is an overview of what this functionality would look like. Feedback is welcome :)

Breaking it down to stories:

Story 1: Add a member to a team

  • As a team admin, I should be able to invite users by email address (already happens) but if they are not yet a user on the Drupal site, it should email them to invite them to create an account.
  • Users (whether part of the site or not) should need to accept an invite to join the team.

Workflow:

  1. Team admin fills out form for email to join
  2. System looks up if user exists in Drupal
  3. If user does not exist, an email is sent to user inviting them to create account
  4. If user exists, email sent with link to accept/deny invite
  5. User accepts or denies invite
  6. If accepted, user is added to team (calling Apigee Company API)
  7. If denied, change invitation status to declined

Story 2: Pending invitations block for Team

  • As an admin, I can view a "pending invitations" list and see invite status (invitation sent or if they declined). Block should be in the "Members" tab of the team, under the "members" section.
  • As a team admin, I can click a "resend" link to resend the email invite.
  • As a team admin, I can cancel the invite.

Story 3: Pending invitations page for user

  • As a user, I have access to a "Pending Invitations" tab under my account menu.
  • From that page I can view any pending invitations to team, and accept/deny.

Story 4: Add events

  • Throw events for membership status changes: created, declined, accepted, cancelled, etc.

Other tasks:

Need email templates for both emails.

@cnovak cnovak modified the milestones: 8.x-1.12, 8.x-1.11 Jun 4, 2020
@arunz6161
Copy link
Collaborator

Next steps: is to break these is smaller chunks and prioritize them in upcoming sprints.

@mxr576
Copy link
Contributor

mxr576 commented Jun 10, 2020

"as an admin" I hope it means that there is going to be a team level permission which is going to control which team role(s) can access to a certain operation/UI.
These new UI-s should also respect the "administer team" site-wide permission.

@mxr576
Copy link
Contributor

mxr576 commented Jun 10, 2020

Plus it would be great if the implementation would trigger events when the state of a membership request is changes: created, declined, accepted, cancelled, etc and the default email notifications would subscribe to these events and downstream developers could add further event subscribers to customize the onboarding workflow. (Also, can disabel the default email notifications if they are not sufficient for the customer.)

@cnovak
Copy link
Collaborator

cnovak commented Jun 16, 2020

@mxr576: for permissions, we have "Administer Teams" and "Manage Team Members" in Drupal permissions. For the Team roles, we have "Manage Team Members". Is there any permissions you can think of that are not covered by these?

@arlina-espinoza
Copy link
Contributor

Plus it would be great if the implementation would trigger events when the state of a membership request is changes: created, declined, accepted, cancelled, etc and the default email notifications would subscribe to these events and downstream developers could add further event subscribers to customize the onboarding workflow. (Also, can disabel the default email notifications if they are not sufficient for the customer.)

Good idea! We've added a 4th story with that requirement.

@arunz6161 arunz6161 added this to the 8.x-1.13 milestone Jul 21, 2020
@arunz6161
Copy link
Collaborator

Being tracked via #438 , #439, #440, #441

@arunz6161 arunz6161 removed this from the 8.x-1.13 milestone Jul 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants