Hi Purple squad, et al. This is a summary of our new understanding about team creation from the Purple Squad's discussion about how to create a team at the time of project registration. We know new projects need to be created with new teams to ensure sharing rules are setup correctly -- most unwanted disclosures are caused by improper setup. We want to fix the very old bug where users need to quickly create a team to complete another task.
1. The thoughts expresses in https://bugs.launchpad.net/launchpad/+bug/250955 are correct, but are somewhat irrelevant today. 2. Users rarely see the "Choose..." link that is semantically wrong for that case where the user knows that a new team is needed. This is an anachronism from the old popup code...maybe we want to switch to an icon? 3. In fact, since we replaced the project role edits links with pickers, they are never seen by interactive browsers. 4. Which means we have a regression...there is no link to create a team on the project front page. 5. Users see: Joe Snodsbury (/) which means change the value you see. 6. Hence Ian wants a picker that allows you to choose yourself, find and choose someone else, or switch to team creation. 7. Curtis cannot image the switch to workflow, but Ian will explore the issue. 8. The three membership expiration and renewal fields are difficult to understand because are governed by an invariant constraint. Users enter nonsense information to complete the form. 9. The third notification enum makes no sense: "renew their membership automatically, also notifying the admins" Only 25 teams use it, 5 of which have set period to ensure it never happens. We want to remove this option from the UI. We may want to remove it entirely and change the 25 teams to never expire. 10. William suggests that three membership expiration and renewal fields be guarded by a checkbox which enables the three fields. Maybe? [ ] Memberships expire Membership period: [___________] When someone's membership is about to expire, notify them and: (*) invite them to apply for renewal ( ) invite them to renew their own membership Renewal period: [___________] 11. William suggests that instead of showing 4 radio options for TeamSubscriptionPolicy, that the form show two, each with a checkbox for the more permissive option. Maybe? (*) Restricted Membership is closed, requires approval, and subteams must be closed. Subteams must be Moderated or Restricted. Restricted is a good choice for teams that manage things that need to be secure, like projects, branches, or PPAs. [ ] Users can request to join this team (Moderated) ( ) Open Membership is open, no approval required. Subteams can be Open, Delegated, Moderated, or Restricted. Open is a good choice for encouraging a community of contributors. Open teams cannot have PPAs [ ] Membership requires approval (Delegated) 12. When the context for creating a team requires an exclusive team, do not show the inclusive membership/subscription policies. 13. When the context for creating a team is a role, the field values can be set with sensible defaults: Setting the maintainer of the fnord project for example would be: Launchpad Id: ~fnord-maintainers Display Name: Fnord Maintainers Description: Maintainers of the Fnord project. 14. It is not possible to set the team contact address at the moment of creation because the address must be confirmed. Remove the field. 15. Cases where the is a context for creating a team will be an overlay that completes that action and returns to the context. 16. Cases without a context, the user just wants to create a team, could be an overlay, but what happens afterwards? The user probably expects to see the team page. This is odd, the user has no need to stay on the page with the link. 17. Ian and William want to create a new overlay that just supports team creation...let the old html form remain as is. This allows the form to load quickly because there is no ajax call. This assumes the JS works perfectly and we intend to maintain two separate forms as team creation rules change. The path requires a new kind of overlay. 19. Jon and Curtis thinks building and maintaining separate experiences reintroduce past mistakes where forgotten user cases rot. Separate pages create the same problem as <noscrip>. With progressive enhancement, when some JS breaks other JS continues to work, or everything falls back to HTML. This path uses the existing form overlay. ACTIONS 1. Change the default TeamSubscriptionPolicy to RESTRICTED. -- Claimed by Jon 3. Remove the contact address from the form/schema. -- Claimed by Jon 4. Rename TeamSubscriptionPolicy to TeamMembershipPolicy 5. Rename "Subscription Period" to "Membership Period" 6. Hide the "renew their membership automatically..." option Or clean up production data and delete the option 7. Progressively enhance the TeamMembershipPolicy radio button to display with checkboxes 8. Progressively enhance the membership expiration widgets so that it is clear they are optional. 9. Do not show inclusive team membership policies when the context requires an exclusive team. 10. Set default text values when we know the context for for a role. -- Curtis Hovey http://launchpad.net/~sinzui
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : launchpad-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp