## page was renamed from VersionFourDotO/Themes <> These are the high-level UserStories that we'll be working on for the next major cycle of Launchpad development. The stories are grouped into major "themes", and have numbers that match these themes. Not all the stories that we came up with are here. There are also many stories that we aren't going to work on right now that we hope to [[/LaterStories|work on later]]. Other stories that we came up with were duplicates of the ones here. We've kept them for reference at [[/DuplicateStories]]. <> = Getting bugs "off" Ubuntu = <> == Story 1 == As an Ubuntu developer<
> I want to see only valid, well-written bugs that actually affect Ubuntu when I am doing Ubuntu development<
> so that I can make quick, informed decisions about what to work on. <> === Story 1.1 === ||<#ffa0a0>XXX - Not on RoadMap|| As an Ubuntu QA engineer<
> I want to report a bug already reported in Ubuntu to the upstream bug tracker using a single button<
> So that the bug can be fixed by upstream '''Notes:''' * Single button to forward bugs upstream. Anything more takes too much time & mental energy. * Credentials stored in Launchpad so the bug looks like it came from me. * Don't want to irritate the upstream, want to help them. * "Be a good citizen" <> === Story 1.2 === ||<#ffffa0>FIXME - not directly on RoadMap, but kind of "supporting technologies" track.|| * As an Ubuntu QA engineer<
> I want just-in-time easy registration of an upstream project and bug tracker, as part of my bug-forwarding workflow<
> So that I can start forwarding bugs right away without breaking my workflow. <> === Story 1.3 === ||<#ffa0a0>XXX - Not on RoadMap|| * As an non-LP hosted upstream developer<
> I want to be told when a bug in my software in Ubuntu is determined to be an upstream bug<
> So that I can investigate it. <> === Story 1.4 === ||<#ffa0a0>XXX - Not on RoadMap|| * As a Ubuntu user<
> I want when reporting a bug in Ubuntu to see if the problem is known upstream<
> So that I can follow the progress of the bug fix wherever that may happen, and maybe learn about a workaround. <> === Story 1.5 === ||<#ffa0a0>XXX - Not on RoadMap|| * As an Ubuntu QA engineer,<
> I want to have all the bug reports from an upstream project in Launchpad<
> so that I can easily relate bugs reported against Ubuntu packages to upstream bug reports. <> === Story 1.6 === ||<#a0ffa0>Bug Q&A on RoadMap|| * As an Ubuntu QA engineer<
> I want users viewing an untriaged bug page to be prompted for a question helping the bug report become complete<
> So that I can be more effective in my triaging effort. = Package of the day Network = <> == Story 2 == ||<#a0ffa0>Daily builds on RoadMap|| * As an Ubuntu user who has found their software is too old<
> I want to find newer versions of the package (in PPAs, backports, etc.)<
> So that I can get past the bug I'm encountering. <> == Story 2' == ||<#a0ffa0>Daily builds on RoadMap|| * As an upstream developer,<
> I want the tip of my project readily available to Ubuntu desktop users,<
> so that I know that it builds and testers can get to it easily, '''Notes:''' * Having a build of tip always available is unrealistic. Having a daily (or regular) build is much more achievable and gets similar results. * This gives the upstream a bigger testing ground. Ubuntu is a great means of getting their work to more people. <> === Story 2.1 === ||<#a0ffa0>Code import on RoadMap|| * As an Ubuntu developer,<
> I want an upstream branch available for all the packages in main<
> So that I can easily see the source code, for example to see if a bug has been fixed, or to see the delta between my package and recent upstream. Resources * [[https://lpstats.canonical.com/graphs/PackagesWithUpstreamBranchesMain/|Packages in main with upstream branches]] * [[https://lpstats.canonical.com/graphs/PackagesWithUpstreamBranchesTop100/|Top 100 packages with upstream branches]] * [[https://lpstats.canonical.com/graphs/FailingCodeImportsMetrics/|Failing code imports]] * [[https://lpstats.canonical.com/graphs/FailingCodeImportsMetricsPercentages/|Failing code import percentages]] <> === Story 2.2 === ||<#ffffa0>FIXME - not directly on RoadMap, but kind of "supporting technologies" track.|| * As a Ubuntu developer who found that the upstream branch not available in Launchpad<
> I want to quickly register a code import for it<
> So that I can work with the source code from Launchpad right away, and so I (or someone else) can rebase the corresponding source package branch to use Launchpad. '''Notes:''' Low latency is key here. <> === Story 2.3 === ||<#a0ffa0>Daily builds on RoadMap|| * As an Ubuntu developer,<
> I want to be able to build my source package branch into an Ubuntu package,<
> so that it takes less of my time and effort to get the software that interests me into Ubuntu. '''Notes:''' Doesn't take scheduling daily builds into account, but needs to in order to satisfy Story 2 and Story 2'. <> === Story 2.4 === ||<#ffffa0>FIXME - what does this mean?|| * As an Ubuntu developer<
> I want to upload a source package branch the way I upload a regular branch<
> so I don't have to upload the whole thing every time I make a change <> === Story 2.10 === ||<#ffa0a0>XXX - Not on RoadMap|| * As a tester of upstreams using Ubuntu<
> I want my system to be updated daily with the latest code<
> so I'm not wasting my efforts by testing old code <> === Story 2.11 === ||<#a0ffa0>Daily builds on RoadMap|| * As a maintainer of a daily build<
> I want my package to be rebuilt automatically when new versions are available<
> so I don't have to trigger builds myself. = Archive Snapshot = <> === Story 3.1 === ||<#ffa0a0>XXX - Not on RoadMap|| * As an Ubuntu developer<
> I want to take a snapshot of the current state of the archive<
> so I don't have to freeze development on that archive while I'm building an image. <> === Story 3.2 === ||<#ffa0a0>XXX - Not on RoadMap|| * As an Ubuntu developer<
> I want to tweak a single package in a snapshot<
> so I can quickly fix bugs found in an image. = Translations = <> === Story 4.1 === ||<#ffa0a0>XXX - Not on RoadMap|| * As an developer of an upstream project,<
> I want to have translations of my project in Ubuntu to get into my project automatically,<
> so I don't have to manually merge them over and over again and my project gets the benefit of the work done in Ubuntu. <> ==== Story 4.1.1 ==== ||<#ffa0a0>XXX - Not on RoadMap|| * As an upstream developer of an external project <
> I want to see translations made for the Ubuntu package of my project submitted to my contribution tracker<
> So that translation effort made on the distro benefits my project. <> ==== Story 4.1.2 ==== ||<#ffa0a0>XXX - Not on RoadMap|| * As an upstream developer of a project in Launchpad <
> I want to see translations made for the Ubuntu package of my software get to my project translations<
> So that translation effort made on the distro benefits my project. <> === Story 4.2 === ||<#a0ffa0>Translations on RoadMap|| * As an Ubuntu developer/translator,<
> I want to have upstream translations automatically integrated into Ubuntu,<
> so that people don't waste time translating strings for a package that have already been translated upstream. <> ==== Story 4.2.0 ==== ||<#a0ffa0>Translations on RoadMap|| '''Depends on the Registry team''' * As an Ubuntu developer/translator,<
> I want to be directed to set up an upstream project translations import,<
> so that I can use upstream translations in Ubuntu. Requirements: * get upstream project registered * package <-> upstream link * get code imported * indicate that translations should be imported, and direct people to the process from translations pages <> ==== Story 4.2.1 ==== ||<#a0ffa0>Translations on RoadMap|| * As an Ubuntu developer/translator,<
> I want to see up-to-date upstream translations in Launchpad,<
> so that it's easy to make use of them through global suggestions when translating Ubuntu. '''Main substory:''' * As an Ubuntu GNOME translator,<
> I want Launchpad to import up-to-date upstream GNOME translations,<
> so that it's easy for me to integrate latest GNOME translations in Ubuntu. '''For dummies:''' This means sucking information out of upstream branches, regenerating the POT files if the project is intltool-based. '''Technical steps:''' * Depends on generic build infrastructure * Regenerate POT files for GNOME * Figuring out that project is intltool-based (est. cost: 2) * Establish a secure environment to run the process in (UNKNOWN QUANTITY) * Full branch checkout (1) * Find all relevant translation templates (1) * Regenerate all POT files (2) * Insert POT into import queue together with PO files (UNKNOWN) * Side-optimization: extend super-fast-imports to deal with POT files as well so we don't repeatedly re-import them with every commit <> ==== Story 4.2.2 ==== ||<#a0ffa0>Translations on RoadMap|| * As an Ubuntu developer/translator,<
> I want to see upstream project translations in Launchpad automatically used in Ubuntu using the general upstream import rules,<
> so I don't have to manually activate them using global suggestions. <> ==== Story 4.2.3 ==== ||<#ffa0a0>XXX - Not on RoadMap|| * As an Ubuntu translator,<
> I want to translate only messages that are specific to Ubuntu package (not existing in upstream project templates),<
> so I can deliver Ubuntu-specific translations faster.