Size: 18374
Comment:
|
Size: 18692
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
------ |
|
Line 10: | Line 12: |
These stories are understood and have been estimated. ----- |
|
Line 13: | Line 18: |
Creating and maintaining is too hard. Unneed information can be removed from the models. Project creation should be easier and faster by adopting common patterns to organise a project. ---- |
|
Line 16: | Line 25: |
As a LP administrator, <<BR>> I want to make sure that newly created projects are not visible on the home page and searches until I approve them;<<BR>> so that I can prevent bogus projects from appearing on LP |
As a LP administrator, <<BR>> I want to make sure that newly created projects are not visible on the home page and searches until I approve them;<<BR>> so that I can prevent bogus projects from appearing on LP |
Line 32: | Line 41: |
---- | |
Line 36: | Line 45: |
As a Launchpad user<<BR>> I want to be able to quickly register a new project which I'm not the owner of and know little about;<<BR>> so that I can send bug reports upstream |
As a Launchpad user<<BR>> I want to be able to quickly register a new project which I'm not the owner of and know little about;<<BR>> so that I can send bug reports upstream |
Line 47: | Line 56: |
---- | |
Line 50: | Line 60: |
As a Launchpad user interested in a particular downloadable file,<<BR>> I can see how many times the file has been downloaded over its lifetime;<<BR>> so that I can judge the popularity of the file. |
As a Launchpad user interested in a particular downloadable file,<<BR>> I can see how many times the file has been downloaded over its lifetime;<<BR>> so that I can judge the popularity of the file. |
Line 64: | Line 74: |
---- | |
Line 67: | Line 78: |
As a Launchpad Administrator,<<BR>> I want to be able to give aliases to project,<<BR>> so that project can be renamed more easily and that multiple projects for the same project known under several names aren't registered. |
As a Launchpad Administrator,<<BR>> I want to be able to give aliases to project,<<BR>> so that project can be renamed more easily and that multiple projects for the same project known under several names aren't registered. |
Line 79: | Line 90: |
---- | |
Line 82: | Line 94: |
As a team administrator,<<BR>> I want to be able to delete a poll from my team;<<BR>> so that I can remove obsolete and inappropriate polls. |
As a team administrator,<<BR>> I want to be able to delete a poll from my team;<<BR>> so that I can remove obsolete and inappropriate polls. |
Line 97: | Line 109: |
---- | |
Line 100: | Line 113: |
As a user, <<BR>> I want know a project's goals and how it is organised, <<BR>> so that I can get involved. |
As a user, <<BR>> I want know a project's goals and how it is organised, <<BR>> so that I can get involved. |
Line 123: | Line 135: |
----- | |
Line 125: | Line 138: |
---- | |
Line 128: | Line 142: |
As a project maintainer,<<BR>> I want to branch the trunk series;,<<BR>> so that I can make a stable release and create further point releases in the future. |
As a project maintainer,<<BR>> I want to branch the trunk series;,<<BR>> so that I can make a stable release and create further point releases in the future. |
Line 163: | Line 177: |
---- | |
Line 166: | Line 181: |
As a project administrator, <<BR>> I can change which series a particular release belongs to; <<BR>> so I can move a release from trunk to one of my existing series, or fix misclassifications. |
As a project administrator, <<BR>> I can change which series a particular release belongs to; <<BR>> so I can move a release from trunk to one of my existing series, or fix misclassifications. |
Line 176: | Line 191: |
----- | |
Line 178: | Line 194: |
---- | |
Line 181: | Line 198: |
As a Launchpad user,<<BR>> I want to be able to send an email to any other Launchpad user, <<BR>> even if they have their email address hidden. |
As a Launchpad user,<<BR>> I want to be able to send an email to any other Launchpad user, <<BR>> even if they have their email address hidden. |
Line 193: | Line 210: |
---- | |
Line 196: | Line 214: |
As a LP user,<<BR>> I want to have a single page with all my email subscriptions (lists, bugs, answers, branches, etc.) with a link to the appropriate unsubscription page;<<BR>> so that I can individually manage (start and stop) each email source |
As a LP user,<<BR>> I want to have a single page with all my email subscriptions (lists, bugs, answers, branches, etc.) with a link to the appropriate unsubscription page;<<BR>> so that I can individually manage (start and stop) each email source |
Line 205: | Line 223: |
----- | |
Line 208: | Line 227: |
----- | |
Line 211: | Line 231: |
As a project owner,<<BR>> I want to run the mailing list on my own server, but get the membership info from Launchpad from the LP API;<<BR>> so that I can customize the list to my liking. |
As a project owner,<<BR>> I want to run the mailing list on my own server, but get the membership info from Launchpad from the LP API;<<BR>> so that I can customize the list to my liking. |
Line 226: | Line 246: |
----- | |
Line 229: | Line 250: |
As a LP user,<<BR>> I want to tell LP that I'm going on "vacation" until a specified date; <<BR>> so that LP will stop sending me non-urgent emails during that time.<<BR>> |
As a LP user,<<BR>> I want to tell LP that I'm going on "vacation" until a specified date; <<BR>> so that LP will stop sending me non-urgent emails during that time.<<BR>> |
Line 237: | Line 258: |
----- | |
Line 240: | Line 262: |
As a Launchpad user,<<BR>> I want to subscribe to a feed containing all the latest mailing list messages; <<BR>> so that I follow the list through my feed reader. |
As a Launchpad user,<<BR>> I want to subscribe to a feed containing all the latest mailing list messages; <<BR>> so that I follow the list through my feed reader. |
Line 252: | Line 274: |
----- | |
Line 255: | Line 278: |
As a non-subscriber to a list,<<BR>> I want to receive follow-ups messages to threads that I posted on;<<BR>> so that I can follow the discussion. |
As a non-subscriber to a list,<<BR>> I want to receive follow-ups messages to threads that I posted on;<<BR>> so that I can follow the discussion. |
Line 265: | Line 288: |
----- | |
Line 268: | Line 292: |
As a user, <<BR>> I want know how much traffic a list gets per month, <<BR>> so that I know how much mail I am committing to read. |
As a user, <<BR>> I want know how much traffic a list gets per month, <<BR>> so that I know how much mail I am committing to read. |
Line 287: | Line 311: |
---- | |
Line 290: | Line 315: |
As a Launchpad user,<<BR>> I want to access an IMAP folder containing a mailing list archive; <<BR>> so that I can read, search, and reply to mailing list messages. |
As a Launchpad user,<<BR>> I want to access an IMAP folder containing a mailing list archive; <<BR>> so that I can read, search, and reply to mailing list messages. |
Line 301: | Line 326: |
---- | |
Line 304: | Line 330: |
As a Launchpad user, <<BR>> I want to be able to subscribe to a list even if I'm not a member of the team,<<BR>> so that I passively follow discussion of projects I'm interested in. |
As a Launchpad user, <<BR>> I want to be able to subscribe to a list even if I'm not a member of the team,<<BR>> so that I passively follow discussion of projects I'm interested in. |
Line 315: | Line 341: |
---- | |
Line 318: | Line 345: |
As mailing list user,<<BR>> I want each mailing list message to contain a link to the archived message;<<BR>> so that I can view the thread on the web. |
As mailing list user,<<BR>> I want each mailing list message to contain a link to the archived message;<<BR>> so that I can view the thread on the web. |
Line 328: | Line 355: |
---- | |
Line 331: | Line 359: |
As a field engineer,<<BR>> I want a private project that is completely invisible to unauthorized people;<<BR>> so that our OEM project can operate without any data leakage.<<BR>> |
As a field engineer,<<BR>> I want a private project that is completely invisible to unauthorized people;<<BR>> so that our OEM project can operate without any data leakage.<<BR>> |
Line 342: | Line 370: |
---- | |
Line 344: | Line 373: |
As a project owner, <<BR>> I want my project pages to appear at lp.mydomain.org;<<BR>> so that my user can go to one domain and find everything they need to contribute to my project. |
As a project owner, <<BR>> I want my project pages to appear at lp.mydomain.org;<<BR>> so that my user can go to one domain and find everything they need to contribute to my project. |
Line 364: | Line 393: |
------ | |
Line 368: | Line 398: |
----- | |
Line 370: | Line 401: |
---- | |
Line 373: | Line 405: |
As a project owner, <<BR>> I want to know the total monthly visitors to any page of my project (i.e. the sum of all hits), <<BR>> so that I can make an informed decision on whether to continue this project, adjust the assigned resources, or discontinue it. |
As a project owner, <<BR>> I want to know the total monthly visitors to any page of my project (i.e. the sum of all hits), <<BR>> so that I can make an informed decision on whether to continue this project, adjust the assigned resources, or discontinue it. |
Line 383: | Line 415: |
---- | |
Line 386: | Line 419: |
As a project driver, <<BR>> I want upload large files reliably; <<BR>> so that I don't need to make repeated attempts because HTTP is unreliable. |
As a project driver, <<BR>> I want upload large files reliably; <<BR>> so that I don't need to make repeated attempts because HTTP is unreliable. |
Line 395: | Line 428: |
---- | |
Line 398: | Line 432: |
As a Registry Administrator,<<BR>> I want want to merge a duplicate project with the real project; <<BR>> so that there is a single definitive location for an upstream project. |
As a Registry Administrator,<<BR>> I want want to merge a duplicate project with the real project; <<BR>> so that there is a single definitive location for an upstream project. |
Line 415: | Line 449: |
---- | |
Line 418: | Line 453: |
As a project owner, <<BR>> I want to mark a PPA as the official repo; <<BR>> so that users can easily get the official packages. |
As a project owner, <<BR>> I want to mark a PPA as the official repo; <<BR>> so that users can easily get the official packages. |
Line 427: | Line 462: |
---- | |
Line 430: | Line 466: |
As a webservice client, <<BR>> I want to be able to manage my project announcements through the webservice API <<BR>> so that I can use my preferred tools. '''Story Points:''' ?? <<BR>> '''Notes:''' |
As a webservice client, <<BR>> I want to be able to manage my project announcements through the webservice API <<BR>> so that I can use my preferred tools. '''Story Points:''' ?? <<BR>> '''Notes:''' ---- |
Line 440: | Line 478: |
As a project owner, <<BR>> I want to register a project from starting from the front page, <<BR>> So that I can easily start using launchpad. '''Story Points:''' ?? <<BR>> '''Notes:''' |
As a project owner, <<BR>> I want to register a project from starting from the front page, <<BR>> So that I can easily start using launchpad. '''Story Points:''' ?? <<BR>> '''Notes:''' ----- |
Line 449: | Line 489: |
---- |
|
Line 452: | Line 494: |
As a upstream project tracker,<<BR>> I want product release packages automatically linked to distribution sourcepackges; <<BR>> so that I do not need search the tarball releases and do it myself. |
As a upstream project tracker,<<BR>> I want product release packages automatically linked to distribution sourcepackges; <<BR>> so that I do not need search the tarball releases and do it myself. |
Line 467: | Line 509: |
------ | |
Line 472: | Line 515: |
----- | |
Line 475: | Line 519: |
As a field engineer, <<BR>> I want to create a private team where no one can see anything except the team name and the team owner but no members can be known; it should be a restricted team by default; members of a private team can see the membership list, but no one else can; <<BR>> so that commercial projects can have teams without exposing their membership. |
As a field engineer, <<BR>> I want to create a private team where no one can see anything except the team name and the team owner but no members can be known; it should be a restricted team by default; members of a private team can see the membership list, but no one else can; <<BR>> so that commercial projects can have teams without exposing their membership. |
Line 488: | Line 532: |
----- | |
Line 490: | Line 535: |
---- |
|
Line 493: | Line 540: |
As a Launchpad project owner, <<BR>> I want to be able to easily register my new project which, <<BR>> so that I can quickly invite others to participate |
As a Launchpad project owner, <<BR>> I want to be able to easily register my new project which, <<BR>> so that I can quickly invite others to participate |
Line 503: | Line 550: |
----- | |
Line 505: | Line 553: |
---- | |
Line 508: | Line 557: |
As a Launchpad user, <<BR>> <<BR>> I want to subscribe to all messages in all mailing lists that match my search terms, <<BR>> So that I can be informed about conversations happening on a topic of interest. |
As a Launchpad user, <<BR>> <<BR>> I want to subscribe to all messages in all mailing lists that match my search terms, <<BR>> So that I can be informed about conversations happening on a topic of interest. |
This section contains the story cards for the Launchpad Registry. Completed stories are moved to the VersionThreeDotO/Registry/StoryCardsArchive
Contents
Registry epics and their stories
These stories are understood and have been estimated.
Epic: Project management
Creating and maintaining is too hard. Unneed information can be removed from the models. Project creation should be easier and faster by adopting common patterns to organise a project.
Project creation and disclosure
As a LP administrator,
I want to make sure that newly created projects are not visible on the home page and searches until I approve them;
so that I can prevent bogus projects from appearing on LP
Story Points: 8
Notes:- Change project active flag to a status flag
Will probably want to rename PillarName.active to PillarName.status as well
- UI notification when the project is in the NEW state
- Add 'no-index' meta tag for new project pages
- Every place that filters on ACTIVE must also filter on NEW
- Change projects/+review-licenses to support new project review. This will include a rename of the page.
- User can use the project right away.
- Change project active flag to a status flag
Placement product registration
As a Launchpad user
I want to be able to quickly register a new project which I'm not the owner of and know little about;
so that I can send bug reports upstream
Story Points: 8
Notes:- Collect the minimum information to create a project.
- Indicate that the project is a place holder that can be claimed.
File releases download counters
As a Launchpad user interested in a particular downloadable file,
I can see how many times the file has been downloaded over its lifetime;
so that I can judge the popularity of the file.
Story Points: 5
Notes:- Done using a script that processes the access log.
- Could be done by by updating the database on every GET. But supposedly the latter technique has been tried before and ran into performance problems.
- Should the database update be done within Launchpad or within the librarian? (The earlier attempt did it within the librarian.)
Project Aliases
As a Launchpad Administrator,
I want to be able to give aliases to project,
so that project can be renamed more easily and that multiple projects for the same project known under several names aren't registered.
Story Points: 5
Released: 2.1.12*
Notes:- Having more than one name redirect to the canonical url; pgsql and
postgres => postgresql
- Having more than one name redirect to the canonical url; pgsql and
Delete a poll
As a team administrator,
I want to be able to delete a poll from my team;
so that I can remove obsolete and inappropriate polls.
Story Points: 3
Notes:- We'll just hide it, so need a new flag on Poll.
- This is not as important as first thought. All known requests to delete a poll are because a poll is unusable if it is accidentally created in the past. It should not be possible to create a poll in the past.
- The poll creation problems are fixed. This may not be a needed story anymore.
Link teams and people to projects for informational purposes
As a user,
I want know a project's goals and how it is organised,
so that I can get involved.
Story Points: 3
bug: Not obvious how to get involved with a project
Notes:- This story depends upon the [Start the project registration process] story.
- Allow owners to create teams to play roles in the project hierarchy.
- Requires:
- A page that lists the teams associated with a project and the roles they play
- Each team is linked so that the user can join the page.
- Does each team need description or statement of purpose?
- There are two kinds of links to this page:
- [View the project organisation]
- [Join the project]
- If a graphic presentation is needed for the team org chart more story points are required.
- A page that lists the teams associated with a project and the roles they play
- This story depends upon the [Start the project registration process] story.
Epic: Project Planning
Branching series
As a project maintainer,
I want to branch the trunk series;,
so that I can make a stable release and create further point releases in the future.
Story Points: 3
Notes:- Create a series.
- Save the series from which it was created.
- Provide any visual indication that the series was branched from another.
- Text mockup:
- Trunk (* branch into a new series) - Trunk (* branch into a new series) - 1.3 (* branch into a new series) Wee Project - Trunk Kiwi - Trunk (currently at 3.X) - 1.X - 2.X The Linux Kernel - Trunk - 2.2 - 2.4 - 2.6 - 2.6.20 - 2.6.21
Moving releases from one series to another
As a project administrator,
I can change which series a particular release belongs to;
so I can move a release from trunk to one of my existing series, or fix misclassifications.
Story Points: 1
Notes:- This cannot be done until after milestones can be turned into releases; milestones will be the only provider of series information.
Epic: User focus
Contact any Launchpad user
As a Launchpad user,
I want to be able to send an email to any other Launchpad user,
even if they have their email address hidden.
Story Points: 2
Released: 2.1.11*
bug: Team admin can't contact prospective member who hides e-mail addresses
spec: https://blueprints.edge.launchpad.net/launchpad-registry/+spec/email-any-user
Notes:- Work around hidden email addresses.
Personal Subscription Page
As a LP user,
I want to have a single page with all my email subscriptions (lists, bugs, answers, branches, etc.) with a link to the appropriate unsubscription page;
so that I can individually manage (start and stop) each email source
Story Points: 20
Notes:- Displaying team subscription.
Epic: Mailing lists
Remotely hosted mailing lists
As a project owner,
I want to run the mailing list on my own server, but get the membership info from Launchpad from the LP API;
so that I can customize the list to my liking.
Story Points: 13
Notes:add a 'hosted' flag on IMailingList
- add an Mailing List API allowing to retrieve the members of the list.
- Open source queue runner that updates the list using API.
- All management done through LP.
- No first post-moderation.
- Two differences experience for Lists on Page.
- u/i for posting address and archive link
Vacation
As a LP user,
I want to tell LP that I'm going on "vacation" until a specified date;
so that LP will stop sending me non-urgent emails during that time.
Story Points: 8
Notes:
Mailing List Feeds
As a Launchpad user,
I want to subscribe to a feed containing all the latest mailing list messages;
so that I follow the list through my feed reader.
Story Points: 8
Notes:- Get the messages out of Mailman or capture metadata for each message
- Display messages using the Feeds API
- Figure out what text to display for each message
Nosy mailing list threads
As a non-subscriber to a list,
I want to receive follow-ups messages to threads that I posted on;
so that I can follow the discussion.
Story Points: 8
Notes:- Mailman 2.1 doesn't support really that model yet
- This may depend on lurking.
Visibility of mailing list traffic to Launchpad
As a user,
I want know how much traffic a list gets per month,
so that I know how much mail I am committing to read.
Story Points: 5
Notes:- Need a cronstript to generate stats daily, or weekly.
- Numbers are generated for each mailing list
- The numbers can be generated from via:
- Monarc's archive
- Mailman's logs
- A schema change is needed to store the weekly stats
- No more than 13 weeks of stats are needed
- The information can be presented as a portlet/viewlet on the team page.
- Since users can subscribe to all team mailinglists from their email page, the viewlet is needed there too.
- Need a cronstript to generate stats daily, or weekly.
IMAP Archive
As a Launchpad user,
I want to access an IMAP folder containing a mailing list archive;
so that I can read, search, and reply to mailing list messages.
Story Points: 5
Notes:- Anonymous access.
- Dovecot can serve the MHonarc mbox archive directly
- UI.
Let people lurk on mailing lists
As a Launchpad user,
I want to be able to subscribe to a list even if I'm not a member of the team,
so that I passively follow discussion of projects I'm interested in.
Story Points: 2
bug: Let people lurk on mailing lists
Notes:- Adjust the query and constraints
- Little bit of u/i change
Persistent mailing list archive urls
As mailing list user,
I want each mailing list message to contain a link to the archived message;
so that I can view the thread on the web.
Story Points: 0.5
Notes:- Requires Mhonarc supports for those URL.
Epic: Create private projects
As a field engineer,
I want a private project that is completely invisible to unauthorized people;
so that our OEM project can operate without any data leakage.
Story Points: 20
Notes:- Leaking of the project's name may be acceptable.
- The story points include private teams, which will be broken into separate stories.
- This needs re-estimation.
Epic: Branded Launchpad (bugs.foo.org)
As a project owner,
I want my project pages to appear at lp.mydomain.org;
so that my user can go to one domain and find everything they need to contribute to my project.
Story Points: 100
Notes:- Commercial offering?
- Moderation?
- Update the apache config?
- How do users request the redirect? New UI pages?
How do we serve JavaScript files with the two domains?
- icing will have to be served from any domain.
- Navigation from inside the project needs to point back to Launchpad itself where appropriate.
Branded project -> need for project in URL.
- Mailing lists: tie in to Exim and MHonArc's Apache
- User expections: brand also the skin and integrate with Launchpad.
Needs estimating
These stories will be estimated in the weekly planning meeting.
Epic: Project management
Project access stats
As a project owner,
I want to know the total monthly visitors to any page of my project (i.e. the sum of all hits),
so that I can make an informed decision on whether to continue this project, adjust the assigned resources, or discontinue it.
Story Points: ??
Notes:- HPLIP wants to know this.
See the Stu & Curtis: per project webstats discussion for some insight.
SFTP uploads for releases
As a project driver,
I want upload large files reliably;
so that I don't need to make repeated attempts because HTTP is unreliable.
Story Points: ??
Notes:- Work around problems with HTTP posts of large files.
Merging projects
As a Registry Administrator,
I want want to merge a duplicate project with the real project;
so that there is a single definitive location for an upstream project.
Story Points: ??
bug:https://bugs.launchpad.net/bugs/110237
Notes:- Being able to merge two separate projects, see bug 135026 and bug 131933.
- This may depend upon project-aliases. An alias may be wanted to preserve
- the duplicate project name.
- What information, if any should be preserved from the duplicate?
- The real project should not be changed
- By replacing the duplicate project with the real project, bugs,
- questions, blueprints, code, packages, etc will be assigned to the true project.
Link PPAs to projects
As a project owner,
I want to mark a PPA as the official repo;
so that users can easily get the official packages.
Story Points: ??
Notes:- Allow an upstream project to say "this is my official PPA"
Manage project announcements through the webservice API
As a webservice client,
I want to be able to manage my project announcements through the webservice API
so that I can use my preferred tools.
Story Points: ??
Notes:
Start the project registration process
As a project owner,
I want to register a project from starting from the front page,
So that I can easily start using launchpad.
Story Points: ??
Notes:
Epic: Project planning
Packaging link population
As a upstream project tracker,
I want product release packages automatically linked to distribution sourcepackges;
so that I do not need search the tarball releases and do it myself.
Story Points: ??
Notes:- Use our tarball imports to detect packaging links and modified orig.tar.gzs
- Soyuz receives source packages via the upload path
- Soyuz unpacks those source packages and for "normal" packages, inside them are .orig.tar.gzs
- Our productreleasefinder script -- when it works -- pulls in tarballs and creates series and releases based on their filenames.
- Some of those tarballs will be identical to a package's orig
- When they are, add a packaging link between that series and the sourcepackage's series.
- However, where does the "detect modified org.tar.gz" come in to the equation? If the orig.tar.gz changes, that means there's a new upstream release generally.
- Use our tarball imports to detect packaging links and modified orig.tar.gzs
Needs definition
These stories are incomplete, not understood, and cannot be estimated.
Epic: Private teams
As a field engineer,
I want to create a private team where no one can see anything except the team name and the team owner but no members can be known; it should be a restricted team by default; members of a private team can see the membership list, but no one else can;
so that commercial projects can have teams without exposing their membership.
Story Points: ??
Notes:- Being able to hide the existence of a team, while still allowing it to be used
Epic: Project management
Guided product registration
As a Launchpad project owner,
I want to be able to easily register my new project which,
so that I can quickly invite others to participate
Story Points: ??
Notes:- Meet with Martin to break this into smaller stories.
Epic Mailing lists
Subscribe to all messages in all mailing lists by topic
As a Launchpad user,
I want to subscribe to all messages in all mailing lists that match my search terms,
So that I can be informed about conversations happening on a topic of interest.
Story points: ??
Notes:- This relates to the concept of Launchpad echelons where a user can subscribe to all message generated in launchpad on a topic
- This is like the saved topic/search featre offered by news sties
- Google is an example of such a service.
- The notification happens via web page or RSS
- While the user is informed, he does not necessarily have rights to reply.
- Google is an example of such a service.