Milestone names/version are required to be unique to a project (but users think of them as unique to series)

Bug #480123 reported by Curtis Hovey on 2009-11-10
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Launchpad itself
High
Unassigned

Bug Description

It is common for projects to have simple milestone names/version like beta, or 0.1 because they belong to the series. So firefox 3.5 series will have a beta milestone.

Launchpad does not permit this. It requires that the milestone have a milestone name/version that is unique to the project, (3.5.beta) so that project-groups can have a heuristic method to guess milestones that are common to many projects regardless of series.

This causes organisational problems for most projects since most projects are not members of a project group. This causes data problems for tools that mirror projects like the project release finder, which knows how to find releases for a series, but must add the matching files to a milestone in another series. This is a bad experience for working with upstream projects.

Curtis Hovey (sinzui) on 2010-11-12
tags: added: planning
removed: story-series-milestones-releases

Escalated by James Westby for Linaro.

summary: - Milestone names/verision should be unique to series
+ Milestone names/version should be unique to series
Changed in launchpad:
importance: Low → Critical
tags: added: escalated
removed: planning
Joey Stanford (joey) on 2011-08-30
tags: added: linaro
Changed in launchpad:
assignee: nobody → Данило Шеган (danilo)
Changed in launchpad:
status: Triaged → In Progress
Changed in launchpad:
status: In Progress → Triaged
Changed in launchpad:
status: Triaged → In Progress
Changed in launchpad:
status: In Progress → Triaged
assignee: Данило Шеган (danilo) → nobody

Unfortunately, I lost some of my notes for this. This is what I could recreate from my memory.

(Legend: PG - Project Group, P - Product, PS - ProductSeries, M - Milestone, PR - ProductRelease)

Required layout for Linaro:

 Linaro (PG)
   2011.08 (M) page to contain targetted stuff for:
     GCC 4.4 2011.08
     GCC 4.5 2011.08
     Linux 3.0 2011.08
   2011.09 (M)
     GCC 4.4 2011.09
     GCC 4.5 2011.09
     Linux 3.2 2011.09

The core problem is inability to create an identically named milestone in two different product series (GCC 4.4 and GCC 4.5) so a single view o the project group would allow tracking all targeted bugs and blueprints, eg. the following page:

  https://launchpad.net/linaro-toolchain/+milestone/2011.09

Current state in Launchpad (according to my understanding):

 Nautilus (P)
   3.0 (PS)
     2.9.90 (M)
       2.9.90 (PR)
     3.0.1 (M)
       3.0.1 (PR)
     3.0.2 (M)
       3.0.2 (PR)
   3.2
     ...

Desired for projects:

 Nautilus (P)
   3.0 (PS)
     beta (M)
       2.9.0 (PR)
       2.9.90 (PR)
     stable (M)
       3.0.0 (PR)
       3.0.1 (PR)
   3.2 (PS)
     beta (M)
       3.1.0 (PR)
       3.1.1 (PR)
     stable (M)
       3.2.0 (PR)

Ways to solve this:

1. Support milestones on Project Groups (internally Project)
2. Make milestones linked to Projects (internally Product): UI already presents them mostly like this (which is why they are unique over entire product)
3. Just remove restrictions on ProductSeries milestone names

Curtis mentions how there was an attempt to solve this in lp:~edwin-grubbs/launchpad/bug-174468-milestone-release-overlap but was reverted. Anticipated areas of work are "product-release-finder, project groups and project milestone, sorting milestones (requires debversion)".

IMO, solution number 1 would be ideal, but going for 2 might be just enough. Any of the solutions would allow whatever organization people want, but the difference would be in whether new aggregate milestone pages are needed.

Internally, Milestone requires a link to either productseries or distroseries, but it also has a link to both product and distribution, and proper one is required.

A DB patch that replaces the unique constraint to make milestone names unique in a single productseries (thus allowing identically named ones in different productseries) is attached. Depending on the approach, it might be completely unneeded.

Brad Crittenden (bac) on 2011-11-21
Changed in launchpad:
assignee: nobody → Brad Crittenden (bac)
status: Triaged → In Progress
Brad Crittenden (bac) wrote :

In Danilos previous comment, the last representation shows multiple releases per milestone. As currently modeled a milestone can have zero or one releases. It is unclear whether the comments represents a request for a change to that model or if is simply a mistaken understanding of how things currently work.

Changed in launchpad:
assignee: Brad Crittenden (bac) → nobody
status: In Progress → Triaged

Regarding the layout, I titled that "Desired for projects" (compare to the previous "Current state in LP"), but do take into consideration that my comment was with the Launchpad hat on (and it's in line with why Curtis originally filed the bug). What Linaro does today is a little bit hacky and makes use of the way Launchpad works today (like display of the project group milestone page: btw, how do I get to that one other than hacking URLs?).

This bug was escalated for Linaro because we wanted to include in the milestone two different ProductSeries from the same Product (eg. gcc-linaro/4.5 and gcc-linaro/4.6), and the way we do it is to create a milestone '2011.11' in both.

That's why we have https://launchpad.net/gcc-linaro/+milestone/4.5-2011.11 and https://launchpad.net/gcc-linaro/+milestone/4.6-2011.11 yet that information is not included on the project group page on https://launchpad.net/linaro-toolchain/+milestone/2011.11

Our utmost desire is to be able to list all relevant work on a single Launchpad page, and this would be a start (the next step might be having a grouping of project groups, ha).

Brad Crittenden (bac) on 2011-12-01
Changed in launchpad:
assignee: nobody → Brad Crittenden (bac)
status: Triaged → In Progress
Brad Crittenden (bac) wrote :

Attached are six mockups for displaying the new milestone and series information.

#1 - The +milestones view from a project group like Linaro Toolchain that has common milestones across series but does not re-use the milestone names going forward.

#2 - The +milestones view for a project that has common milestones across series but they are more generic in nature (e.g. 'beta') and are re-used through the life of the project. The tooltips show typical URLs for each type of item. The lower tooltip is for a new page as described below as #6.

#3 - The view for a specific milestone showing the addition of the Series header in the table.

#4 - The current presentation of a milestone picker for a bug task. Note it only shows the project name and milestone.

#5 - The proposed fix to the milestone picker identifying each by the (series, milestone) tuple. As the note says, the tuple will be used even when there is no ambiguity for consistency.

#6 - The view for a +series/X/+milestone/Y page showing only those items targeted to the specific (series, milestone).

Brad Crittenden (bac) wrote :
Brad Crittenden (bac) on 2011-12-14
tags: removed: escalated
Changed in launchpad:
importance: Critical → High
status: In Progress → Triaged
Gary Poster (gary) wrote :

bug 904335 tracks the bug that replaces this one for Linaro's escalation.

Changed in launchpad:
assignee: Brad Crittenden (bac) → nobody
Robert Collins (lifeless) wrote :

This limitation reflects incomplete refactoring in LP's past; we still want to do this change, and consider it a driver of various headaches and user confusion.

summary: - Milestone names/version should be unique to series
+ Milestone names/version are required to be unique to a project (but
+ users think of them as unique to series)
tags: added: tech-debt
Curtis Hovey (sinzui) on 2012-11-20
tags: added: milestones releases
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers