[[http://www.agile-software-development.com/2008/04/writing-good-user-stories.html|Story cards]] for the Launchpad Bugs team. <> == HWDB == The Hardware Database is used to help triagers and developers to see which devices aren't working well, decide whether there are enough users with a device to warrant support, get more debug information, etc. <> === Get number of affected users by a bug tied to a device === {{{ As a kernel developer, I want to know how many users are using a certain PCI or USB device, so that I know how how well we need to support the device. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-hwdb-affected-users|story-hwdb-affected-users]] :: Notes * Needs to be able to filter on distro series, since a bug fix may be needed in a stable series, if there are many users being affected by that bug using an older series. <> === Get number of users using a driver === {{{ As a kernel developer, I'd like to know how many users use device driver X so that I know how important bug fix backports are. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-hwdb-users-using-driver|story-hwdb-users-using-driver]] :: Notes <> === Include DMI and lspci information in HWDB submissions === {{{ As a kernel developer, I want to know the DMI and lspci data, so that I can easier debug a problem reported by a user. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-hwdb-dmi-lspci|story-hwdb-dmi-lspci]] :: Notes * Needs DMI and lspci data * Access to raw submission via API OK <> === Find out which computers have a certain device === {{{ As a QA team member, I want to know which of the machines in our certification lab has device X installed, so that i can run tests with the most recent version of package Y. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-hwdb-filter-by-device-and-system|story-hwdb-filter-by-device-and-system]] :: Notes * How do you specify the set of computers you're interested in? <> === Correlate hardware configurations with bug reports === {{{ As a kernel developer, I want to see if a bug correlates with certain hardware configurations or drivers, so that I can get a better clue where to look for the cause of the bug. }}} :: '''Story Points:''' :: '''Bug Tag:''' :: Notes * Should the correlation be made by a human by looking from the HWDB submissions manually, or should it be done automatically somehow? == Upstreaming == Being able to forward and link bugs in Launchpad to upstream bug trackers is vital for Ubuntu. The stories here aim to improve that workflow, making it easier to connect bugs that have been reported in Launchpad to bugs in other bug trackers. <> === Link to file bugs upstream === {{{ As a bug triager, I want to follow a link from Launchpad to file a bug in the upstream bug tracker, so that I can forward a bug in LP upstream without having to copy and paste the description }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-link-to-upstream-filebug|story-link-to-upstream-filebug]] :: Notes * The links should point to the upstream's filebug page with the description and summary fields pre-filled. * The user will need to have an account in the upstream bug tracker * Having the link leave LP is OK * The link should appear when adding an upstream task <> === Link to search bugs upstream === {{{ As a bug triager, I want to follow a link from Launchpad to search bugs in the upstream bug tracker, so that I can find possible duplicates upstream without having to copy and paste the summary of the bug in LP }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-link-to-upstream-searchbugs|story-link-to-upstream-searchbugs]] :: Notes * The link should perform a search using the bug summary * Having the link leave LP is OK * The link should appear when adding an upstream task <> === Enable search and filebug links for a project manually === {{{ As a project maintainer or bug triager, I want to set the remote product in the upstream bug tracker, so that users can easily search and file upstream bugs from Launchpad }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-set-remote-product-manually|story-set-remote-product-manually]] :: Notes * The triager doesn't have to be able to set it himself. He can file a question to have it done. * This feature is useful for correcting links that are wrong. <> === Enable search and filebug links for a project automatically === {{{ As a bug triager, I want to get links for filing and searching bugs for projects where no one has set the remote product manually, so that I don't have to spend time updating all projects I'm interested in. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-set-remote-product-automatically|story-set-remote-product-automatically]] :: Notes * The script that does it should only set the remote product if it hasn't been set already. == AJAX == AJAX can be used in a number of locations to improve the workflows, and making pages quicker to load. <> === Inline editing of bug summary === {{{ As a bug triager, I want to edit the bug summary inline, so that I don't have to wait for the page to load before starting to write the new text. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-inline-edit-bug-summary-|story-inline-edit-bug-summary]] :: Notes * Most of the work will be done by the Foundations team. * Should be finished at the AJAX sprint. <> === Inline editing of bug description === {{{ As a bug triager, I want to edit bug description inline, so that I don't have to wait for the page to load before starting to write the new text. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-inline-edit-bug-description|story-inline-edit-bug-description]] :: Notes * Most of the work will be done by the Foundations team. * Should be finished at the AJAX sprint. == Activity log == Make sure that the bug activity log is complete. Sometimes we send only an e-mail when something changes about a bug, sometimes we only add it to the activity log, sometimes both, and sometimes we don't do anything. We've often chosen to do only one thing (like sending e-mail), and then simply forgot that we should add it to the activity log as well. We need to change the API so that we won't forget to add things to the activity log, as well as fix the places where we currently don't add it to the activity log, even though we should. Further more, we should improve the display of the activity log, so that it's interleaved with the bug comments. <> === Refactor activity log API === {{{ As a Launchpad developer, I want a single API for adding any kind of notification for a bug change, so that I won't forget to add something to the activity log }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-refactor-activity-log-api|story-refactor-activity-log-api]] :: Notes * Refactor the API for indicating that something has change about the bug, so that the same API method is used for adding both e-mail notifications and items to the activity log. The API should be constructed so that the developer has to actively choose whether he should add it to the activity log. <> === Make future bugs' activity logs complete === {{{ As a bug triager, I want to see all changes to a bug in the activity log, so that I know what happened to it. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-future-activity-log-complete|story-future-activity-log-complete]] :: Notes * We don't have to care much about filling in old activity events. We should talk to Ubuntu QA to see if there is any activity that they really want historical data for. <> === Activity log target identification === {{{ As a bug triager, I want to be able to identify which bug task each change in the activity log refers, so that the progress for each target is clear. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-activity-log-target-identification|story-activity-log-target-identification]] :: Notes * We currently have a lot of items when it's not clear which bug task's status changed. * We might have to correct old data. <> === Activity log interleaved with bug comments === {{{ As a bug triager, I want to see the most important changes to a bug interleaved with the comments, so that I don't have to reconcile information from two different pages in my head. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-activity-log-comment-interleaving|story-activity-log-comment-interleaving]] :: Notes * This is just interleaving the activity log items with the bug comments. It doesn't cover grouping together related changes and comments. <> === Group together bug activty happening at the same time === {{{ As a bug triager, I want to see changes that happened at the same time as one unit, so that it's easier to see what other things the user was doing with the bug in the same interaction. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-activity-log-group-changes|story-activity-log-group-changes]] <> === Optionally show all activity log items interleaved with comments === {{{ As a bug triager, I want to choose what information about the bug activity that is shown, so that I can concentrate on the changes that are most relevant to me right now. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-optionally-show-all-activity-log-interleaved|story-optionally-show-all-activity-log-interleaved]] :: Notes * By default we don't show all activity log items on the bug page itself, for example subscription events. By making it possible to optionally show them as well, we could get rid of the separate activity log page. == Official Bug Tags == <> === Access official bug tags through the web service === {{{ As a Launchpad developer, I want to be able to set and read the official tags through the web service, so that I write AJAX widgets for dealing with official bug tas. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-official-tags-api-export|story-official-tags-api-export]] :: Notes <> === Define official bug tags for a project === {{{ As a project maintainer, I want to be able to set the official tags for my project, so that I can document what each tag should be used for. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-define-official-tags|story-define-official-tags]] :: Notes * By "project", we mean either a Product, Project, or Distribution. <> === Highlight official bug tags === {{{ As a bug triager, I want to have the official bug tags being more prominent in the UI, so that I can concentrate on the most important tags. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-highlight-official-tags|story-highlight-official-tags]] :: Notes * On the bug page we'll probably display all tags, but in the tags portlet, we'll display only the official ones. <> === Nominate tags to be official === {{{ As a bug triager, I want to be able to nominate a tag to be official, so that I can contribute to the project by helping it identify important grouping of bugs. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-nominate-official-tags|story-nominate-official-tags]] :: Notes * We'll probably not do this for 2.2.3. <> === Inform about official tags when adding a tag === {{{ As a user of Launchpad, I want to be informed of the official bug tags when choosing tags for a bug, so that I know which tags I should use. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-inform-official-tags-on-edit|story-inform-official-tags-on-edit]] :: Notes * Maybe we should allow unofficial tags being added, but inform the user that the added tag isn't officially blessed by the project. <> === Inform about official tags when searching for bugs === {{{ As a user of Launchpad, I want to be informed of the official bug tags when choosing tags for searching bugs, so that I know which tags are in use. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-inform-official-tags-on-search|story-inform-official-tags-on-search]] :: Notes <> === Create official tags when adding tags to a bug === {{{ As a project maintainer, I want to be able to create new official bug tags when choosing tags for a bug, so that tagging bugs is still a lightweight operation. }}} :: '''Story Points:''' :: '''Bug Tag:''' [[https://edge.launchpad.net/malone/+bugs?field.tag=story-make-tag-official-when-adding|story-make-tag-official-when-adding]] :: Notes <> == AJAXify Bug Page == * Bugtasks table * Don't display tasks for dupes / Refresh inline (after changing metadata) * As a Launchpad user, I want the bug tasks table for duplicate bugs to be hidden, because I have no use for that information and can't change it. * Hook widgets to lines in the bugtask table * Status - Enum * Importance - Enum * Assignee - Picker * Milestone - Picker * Target - Picker or Form ? * Everything else (bug watches, etc) - Form * As a Launchpad user, I want to be able to edit bug task metadata inline and see the changes appear instantly, so that I don't have to wait for the page to load between changes. * Description Inline editing * As a Launchpad user, I want to be able to edit the bug description inline and see the changes appear instantly, so that I don't have to wait for the page to load before making another change. * Private / Security-related * not a common use case, so don't spend too much time on getting it to work without any complete page loads. having the page reload after the action is done is ok. * As a Launchpad user, I want to set the bug to private without going to a new page, so that I don't have to wait for the page to load before executing the action. * Subscribe * As a Launchpad user, I want to be able to subscribe to and unsubscribe from a bug with one click, so that I can continue interacting with the bug page immediately, without having to wait. * Subscribe a team you're a member of * As a Launchpad user, I want to be able to unsubscribe a team I'm a member of from a bug with one click, so that I can continue interacting with the bug page immediately, without having to wait. * Subscribe someone else * As a Launchpad user, I want to be able to subscribe any other person or team, without leaving the bug page, so that I can continue interacting with the bug page immediately, without having to wait. * Me too * As a Launchpad user, I want to be able to say whether a bug affects me or not without leaving the bug page and see the changes appear immediately, so that I can continue interacting with the bug page immediately, without having to wait. * Comments * As a Launchpad user, I want to see comments and actions posted by others appear immediately in the bug comment flow, so that I am aware of the current state of the bug's comment thread. * As a Launchpad user, I want to be able to add new comments and see them appear, in context, immediately, without having to reload the page, so that I can continue interacting with the bug page immediately, without having to wait. * Adding new activity items * As a Launchpad user, I want every action I take on the bug page to be immediately reflected as an inline activity item, so that I don't have to reload the page before I can see it. * Target to release - inline (using a form overlay) * As a Launchpad user, I want to be able to target a bug to a release without leaving the bug page, and see the changes appear immediately, so that I can continue interacting with the bug page immediately, without having to wait. <> == Improve the +filebug workflow == * convert existing to wizard. * As a launchpad user, I want to see an indication of where I am in the bug filing process, so that I know what will happen next. * Can users move forward and back in the process (currently)? No. ........ * make search for duplicate nicer * As a Launchpad user, I want to see more information about the bug in the duplicate list, so that I more confidently decide whether the bug is a duplicate of mine, without opening it up in a new page. * As a bug reporter, I want to be able to update the summary and search for duplicates again, so that I can search for a more specific duplicate bug without interupting the bug reporting process. * package picker, explicitly saying i don't know. * As a bug triager, I want to bug reporters to be forced to say "I don't know" when picking the package that the bug affects, so that ubuntu bug triagers will have an easier time. * extra options * for all:. * tags * attachment * remote bug url * As a bug reporter, I want to be able to enter all the information I have about the bug (tags, attachments, remote bug url) when filing it, so that I don't have to wait for the page to reload after the bug has been filed. * for bug contacts: * importance * status * milestone * assignee * As a bug contact, I want to be able to set meta-data about the bug task (importance, status, milestone, assigne) when filing the bug, so that I don't have to wait for the page to reload after the bug has been filed. * The options should be hidden in an expandable section. * record user agent (who to show it to?) * talk to leann or bdmurry about how they are going to use it * who got notified (not that important)