Rendering of reStructured text is not possible, please install Docutils.
Direct subscription mock-ups
============================
Developing top-part of the mock-ups that relate to describing subscriptions and allow doing something regarding your non-structural subscriptions.
https://dev.launchpad.net/LEP/BetterBugSubscriptionsAndNotifications/Testing/EditingRound2
"Control the email you receive about bug #XXXX"
"Control the email your team receives about bug #XXXX"
Subscription types
------------------
* Assignee ["You receive emails about this bug because you are assigned to work on it."] [Actions: mute, omit comments, or only see when bug closes.]
* Direct/indirect
* Directly subscribed ["You receive emails about this bug because you are directly subscribed to it." ...describe level...] [Actions: mute, change subscription level, or unsubscribe]
* Directly subscribed as the reporter [use previous "directly subscribed" copy plus "This subscription was created when you reported the bug."]
* Directly subscribed as the bug reporter on a private bug [use "directly subscribed" copy plus "This subscription may have been created because the bug was private and you are the bug supervisor."]
* Subscribed from duplicate (primary looking at secondary or vice versa)
* Directly subscribed ["You receive emails about this bug because you are a direct subscriber to all events on bug #23456, which is marked as a duplicate of this bug, #12345"] [Actions: mute duplicate, change subscription level of duplicate, unsubscribe from duplicate, mute this bug, omit comments from this bug, or only see when this bug closes]
* Indirectly through team subscribed to a duplicate as team member ["You receive emails about this bug because you are a member of the team _$TEAM_. That team is a direct subscriber to all events on bug #23456, which is marked as a duplicate of this bug, #12345"] [Actions: mute this bug, omit comments from this bug, or only see when this bug closes]
* Indirectly through team subscribed to a duplicate as team admin ["You receive emails about this bug because you are a member and administrator of the team _$TEAM_. That team is a direct subscriber to all events on bug #23456, which is marked as a duplicate of this bug, #12345"] [Actions: mute duplicate, change subscription level of duplicate, unsubscribe from duplicate, mute this bug, omit comments from this bug, or only see when this bug closes]
* Indirectly through team as team member ["You receive emails about this bug because you are a member of the team _$TEAM_. That team is directly subscribed to it."] [Actions: mute for yourself, omit comments for yourself, or only see when bug closes yourself.]
* Indirectly through team as team admin ["You receive emails about this bug because you are a member and administrator of the team _$TEAM_. That team is directly subscribed to it."] [Actions: mute for yourself, omit comments yourself, only see when bug closes yourself, mute for team, change subscription level for team, or unsubscribe for team.]
* If the team subscribed is the bug reporter on a private bug [use the appropriate copy above plus "This subscription may have been created because the bug was private and the team is the bug supervisor."]
* Structural/supervisor
* Structural ["You might receive emails about this bug because you subscribe to one or more groups of bugs like this one."] [Actions: Mute, omit comments, only show closing, "View your subscriptions that may send you email about this bug" and work there]
* Benji on it, though we need to handle the description
* Supervisor: NOTE THAT THE BUG SUPERVISOR GETS A STRUCTURAL SUBSCRIPTION, AND DIRECT SUBSCRIPTIONS TO PRIVATE BUGS, SO THEY CAN BE MANAGED SEPARATELY.
* No bug supervisor, you are the product owner ["You receive emails about this bug because you are the owner of ["the Mozilla Firefox project"], which has no bug supervisor."] [Actions: mute, omit comments, only show closing, "Set the bug supervisor of the Mozilla Firefox project."]
* No bug supervisor, your team is the product owner and you are team admin ["You receive emails about this bug because you are the owner of ["the Mozilla Firefox project"], which has no bug supervisor."] [Actions: mute, omit comments, only show closing, "Set the bug supervisor of the Mozilla Firefox project."]
* No bug supervisor, your team is the product owner and you are team member ["You receive emails about this bug because you are the owner of ["the Mozilla Firefox project"], which has no bug supervisor."] [Actions: mute, omit comments, only show closing]
Overlaps
~~~~~~~~
Note that any of the following can overlap. There can be multiple overlaps. ("[*]" indicates that you may have multiple within the given category).
* [*] (1 per task) assigned
* direct subscription [as reporter or not]
* [*] duplicate subscription
* [*] team subscription [as admin or not]
* [*] team duplicate subscription [as admin or not]
* [*] structural subscription
* [*] team structural subscription
* [*] (1 per task) product owner with no bug supervisor
We divide overlaps into two cases.
* Overlaps with a direct subscription. These override everything else, so concentrate on them. Show normal direct subscription stuff as above except omit normal display of unsubscribe action, then "You can also _unsubscribe from bug #XXXX_. However, if you do so, there are other reasons you might still get emails about this bug. _View the other reasons that Launchpad may send you email about this bug._"]
* Overlaps with no direct subscriptions. ["You receive emails about this bug for more than one reason."] [Actions: mute, omit comments, only show closing, "Click here to see all the reasons you get mail about this bug, and what your other options are."]
In both cases, when showing the other reasons, these are the available options:
* Assignee: no options
* Subscribed from duplicate: give options on duplicate
* Subscribed via team: give team options if team admin
* Subscribed from duplicate via team: give options on duplicate, if team admin
* Structural (self and team): (handled in that separate code)
* Supervisor: set the bug supervisor for self and team admin
Potential actions
-----------------
* Mute — always present
* ACTION: "Mute all email from bug #XXX"
* DESCRIPTION: "You will receive no further email about the bug, but it will still show in the _list of your subscribed bugs_."
* Change direct subscription level — directly, directly as reporter
* ACTION: Change your subscription to bug #XXXX
* DESCRIPTION: Change which events will trigger an email.
* Add a a direct subscription level to override the subscription level — not directly. NOTE THESE ARE THE SAME OPTIONS AS ABOVE RIGHT NOW, AND MREVELL HAS NOT REVIEWED.
* ACTION: Change your subscription to bug #XXXX
* DESCRIPTION: Change which events will trigger an email.
* Unsubscribe from the bug — directly subscribed, directly as reporter
* WARNING: IF THIS IS A PRIVATE BUG, YOU ARE TAKING AWAY THE PRIVILEGES TO SEE THE BUG.
* ACTION: Unsubscribe from bug #XXX
* DESCRIPTION: You will no longer receive email about this bug. It will still show in the list of bugs you've reported.
* Unsubscribe team from the bug — indirectly through team as team admin
* ACTION: Unsubscribe $TEAM from bug #XXX
* DESCRIPTION: This team will no longer receive email about this bug. This will not affect individual subscriptions made by team members.
* Unsubscribe from duplicate — subscribed from duplicate
* ACTION: Unsubscribe from bug #XXXX
* DESCRIPTION: You subscribed to a bug that was later marked as a duplicate of another bug. You will receive no further email about this bug but you'll still receive email about the other bug.
* Unsubscribe team from the duplicate — admin of a team subscribed to the duplicate
* ACTION: Unsubscribe $TEAM from bug #XXXX
* DESCRIPTION: You subscribed this team to a bug that was later marked as a duplicate of another bug. The team will receive no further email about this bug but will still receive email about the other bug.
* Change team subscription level — indirectly through team as team admin
* ACTION: Change $TEAM's subscription to bug #XXXX
* DESCRIPTION: Change which events will trigger an email to this team.
* Set the bug supervisor — no bug supervisor, you are the product owner
* ACTION: Set $PROJECT's bug supervisor
* DESCRIPTION: Choose an individual or team who will manage bug reports for this project.
Nice-to-have Actions
--------------------
* Disable all Launchpad bug notifications
* Opt out of team subscription
Rejected Actions
----------------
* Leave the team — indirectly through team as team member
* ACTION IS OF QUESTIONABLE VALUE
* ACTION: Leave $TEAM to unsubscribe from bug #XXXX
* DESCRIPTION: By leaving this team, you'll no longer receive any bug mail related to it or have any of the privileges associated with this team.
* Leave the team — member of a team subscribed to the duplicate
* ACTION IS OF QUESTIONABLE VALUE
* ACTION: Leave $TEAM to unsubscribe from bug #XXXX
* DESCRIPTION: By leaving this team, you'll no longer receive any bug mail related to it or have any of the privileges associated with this team.
* Change the bug supervisor — you are a bug supervisor, you are the product owner
* ACTION IS OF QUESTIONABLE VALUE: Limit this to when you are directly (instead of through the team) the bug supervisor? Do not have this action?
* ACTIONS: Chose another bug supervisor for $PROJECT
* DESCRIPTION: You are currently this project's bug supervisor. Choose another person or team to take over from you.
* Leave the supervisor team — you are member of a team that is the bug supervisor
* ACTION IS OF QUESTIONABLE VALUE
* ACTION: Leave $TEAM
* DESCRIPTION: By leaving this team, you'll no longer be one of the project's bug supervisors or have any of the privileges associated with this team.
* Stop being the supervisor — you are the bug supervisor, you are not the product owner
* ACTION: Resign your role as $PROJECT's bug supervisor
* DESCRIPTION: You'll no longer receive email related to the bug supervisor role and the project will not have a bug supervisor.
Plan of attack
--------------
1. Start providing all the properties on the view that allow one to determine what type of description/action will be needed
2. Implement description
3. Implement actions
LEP/BetterBugSubscriptionsAndNotifications/DirectSubscriptionsOnBug (last edited 2011-03-08 20:44:13 by gary)