= Official Bug Tags = == Guided Tag Entry == As a bug reporter or triager, I want to be get help tagging bugs with tags that are recognised by the project team, so that the information I provide is meaningful in the context of the project === Inline Tags Editor === Implement an inline tag editor for bugs as a specialised version of the inline text editor which: * Displays official tags in a different style from unofficial ones. * Suggests, as you type, official tags matching the currently entered word. * Allows removing tags with one click (nice-to-have). Integrate this tag editor into the bug page. * See https://devpad.canonical.com/~beuno/ui_movies/AddTags.7.swf for a reference, though note that the final implementation doesn't have to look exactly like the movie - it can be simpler and do all the work within the inline textbox. == Official Tags Management == As a project driver, I want to decide which tags are used for categorising bugs in my project, so that I can effectively use tags to manage the workflow and record information. === Tags Management Interface === Create a new page for managing tags which: * Allows saying which bugs are official and which aren't by moving tags between two lists. * Adding new official tags. * Removing tags (nice-to-have). * Renaming tags (nice-to-have). === Official Bug Tags Model === Build a model and interface classes for official bug tags. Each official bug tag (reperesented in the database in the OfficialBugTag table) has a target (one of product, project or distribution) and the tag itself. For each target we should be able to get the collection of official tags and add or remove items. ==== Official Bug Tags webservice API ==== Once the model for official bug tags exists it should be made available via the webservice API. == Bug Tags Portlet == The bug tags portlet should only display official bug tags, and the three most popular unofficial tags. Change the tags portlet so that it has two sections - one for official tags and one for popular unofficial tags. If the user may manage the tags for a target the portlet should include a link to the tags management page.