Project groups need a way to aggregate project milestones
Bug #904335 reported by
Brad Crittenden
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Critical
|
Brad Crittenden |
Bug Description
Due to the constraint that milestone names are unique within a project it is not possible to get a complete view of work from a project group perspective.
In bug 480123 a solution was proposed to relax the constraint. Investigation of that approach yielded significant impact for distros and would make managing releases hard.
Adding the ability to tag milestones will provide a way to aggregate them in a flexible manner to support the needs of Linaro and other project groups without inflicting pain on other users.
Related branches
lp:~frankban/launchpad/db-milestonetags-480123
- Stuart Bishop (community): Approve (db)
- j.c.sackett (community): Approve
- Robert Collins: Pending requested
-
Diff: 183 lines (+54/-2)5 files modifieddatabase/sampledata/current-dev.sql (+8/-1)
database/sampledata/current.sql (+8/-1)
database/schema/comments.sql (+5/-0)
database/schema/patch-2209-00-3.sql (+22/-0)
database/schema/security.cfg (+11/-0)
lp:~bac/launchpad/904335-export-tags
- j.c.sackett (community): Approve
-
Diff: 166 lines (+63/-7)3 files modifiedlib/lp/registry/interfaces/milestone.py (+14/-0)
lib/lp/registry/model/milestone.py (+2/-2)
lib/lp/registry/tests/test_milestonetag.py (+47/-5)
lp:~bac/launchpad/904335-create-milestones-tags
- Gary Poster (community): Approve
-
Diff: 970 lines (+644/-54)20 files modifiedlib/lp/app/javascript/client.js (+1/-1)
lib/lp/bugs/interfaces/bugtask.py (+1/-2)
lib/lp/bugs/javascript/bug_tags_entry.js (+10/-6)
lib/lp/bugs/javascript/tests/test_bug_tags_entry.html (+25/-0)
lib/lp/bugs/javascript/tests/test_bug_tags_entry.js (+44/-0)
lib/lp/registry/browser/milestone.py (+25/-2)
lib/lp/registry/browser/tests/milestone-views.txt (+2/-2)
lib/lp/registry/browser/tests/test_milestone.py (+14/-1)
lib/lp/registry/interfaces/milestone.py (+0/-1)
lib/lp/registry/javascript/__init__.py (+1/-0)
lib/lp/registry/javascript/milestoneoverlay.js (+106/-33)
lib/lp/registry/javascript/tests/__init__.py (+1/-0)
lib/lp/registry/javascript/tests/test_milestone_creation.js (+171/-0)
lib/lp/registry/javascript/tests/test_milestone_creation.py (+39/-0)
lib/lp/registry/javascript/tests/test_milestone_creation_failures.html (+52/-0)
lib/lp/registry/javascript/tests/test_milestone_creation_failures.js (+139/-0)
lib/lp/registry/model/distroseries.py (+5/-2)
lib/lp/registry/model/milestone.py (+1/-1)
lib/lp/registry/model/product.py (+2/-1)
lib/lp/registry/model/productseries.py (+5/-2)
lp:~bac/launchpad/904335-milestone-edit
- Curtis Hovey (community): Approve (code)
-
Diff: 367 lines (+111/-22)7 files modifiedlib/lp/registry/browser/milestone.py (+30/-3)
lib/lp/registry/browser/tests/milestone-views.txt (+5/-2)
lib/lp/registry/browser/tests/test_milestone.py (+49/-5)
lib/lp/registry/javascript/milestoneoverlay.js (+11/-2)
lib/lp/registry/javascript/tests/test_milestone_creation.js (+11/-4)
lib/lp/registry/model/milestone.py (+3/-4)
lib/lp/registry/tests/test_milestonetag.py (+2/-2)
lp:~frankban/launchpad/view-904335
- Gary Poster (community): Approve
-
Diff: 806 lines (+376/-116)12 files modifiedlib/lp/registry/browser/configure.zcml (+19/-0)
lib/lp/registry/browser/milestone.py (+145/-72)
lib/lp/registry/browser/project.py (+14/-0)
lib/lp/registry/browser/tests/test_milestone.py (+71/-0)
lib/lp/registry/configure.zcml (+5/-0)
lib/lp/registry/help/milestone-tags.html (+20/-0)
lib/lp/registry/interfaces/milestonetag.py (+3/-2)
lib/lp/registry/model/milestonetag.py (+8/-1)
lib/lp/registry/stories/project/xx-project-index.txt (+0/-1)
lib/lp/registry/templates/milestone-index.pt (+44/-37)
lib/lp/registry/templates/milestone-tag-search.pt (+40/-0)
lib/lp/registry/templates/project-index.pt (+7/-3)
lp:~frankban/launchpad/bug-904335-get-tags
- Gary Poster (community): Approve
-
Diff: 5908 lines (+1000/-2618)85 files modifiedbuildout-templates/bin/retest.in (+0/-4)
database/schema/patch-2209-00-4.sql (+0/-57)
lib/canonical/database/postgresql.py (+0/-10)
lib/canonical/database/sqlbase.py (+0/-20)
lib/canonical/launchpad/scripts/__init__.py (+0/-16)
lib/lp/answers/browser/faq.py (+0/-12)
lib/lp/app/browser/tests/test_launchpadform_doc.py (+0/-4)
lib/lp/app/doc/launchpadform.txt (+0/-16)
lib/lp/app/javascript/listing_navigator.js (+0/-4)
lib/lp/app/javascript/tests/test_listing_navigator.js (+0/-7)
lib/lp/archivepublisher/scripts/generate_extra_overrides.py (+0/-4)
lib/lp/archiveuploader/dscfile.py (+0/-4)
lib/lp/archiveuploader/tests/test_uploadprocessor.py (+4/-2)
lib/lp/bugs/browser/bugattachment.py (+15/-34)
lib/lp/bugs/browser/bugsubscription.py (+0/-13)
lib/lp/bugs/browser/bugsupervisor.py (+0/-6)
lib/lp/bugs/browser/bugtask.py (+1/-1)
lib/lp/bugs/browser/tests/test_bugs.py (+0/-1)
lib/lp/bugs/interfaces/bugtask.py (+4/-3)
lib/lp/bugs/javascript/buglisting.js (+0/-231)
lib/lp/bugs/javascript/tests/test_buglisting.html (+0/-63)
lib/lp/bugs/javascript/tests/test_buglisting.js (+0/-245)
lib/lp/bugs/model/bugtask.py (+54/-9)
lib/lp/bugs/tests/test_structuralsubscription.py (+0/-7)
lib/lp/buildmaster/doc/buildqueue.txt (+0/-4)
lib/lp/buildmaster/interfaces/builder.py (+3/-1)
lib/lp/buildmaster/manager.py (+72/-52)
lib/lp/buildmaster/model/builder.py (+27/-24)
lib/lp/buildmaster/model/buildfarmjobbehavior.py (+63/-32)
lib/lp/buildmaster/model/buildqueue.py (+0/-26)
lib/lp/buildmaster/model/packagebuild.py (+87/-66)
lib/lp/buildmaster/tests/test_builder.py (+3/-17)
lib/lp/buildmaster/tests/test_manager.py (+13/-94)
lib/lp/buildmaster/tests/test_packagebuild.py (+8/-14)
lib/lp/code/browser/sourcepackagerecipebuild.py (+0/-13)
lib/lp/code/browser/tests/test_sourcepackagerecipe.py (+0/-8)
lib/lp/code/model/sourcepackagerecipebuild.py (+0/-15)
lib/lp/code/model/tests/test_sourcepackagerecipebuild.py (+6/-8)
lib/lp/code/scripts/tests/test_revisionkarma.py (+0/-4)
lib/lp/hardwaredb/doc/hwdb.txt (+1/-2)
lib/lp/registry/browser/__init__.py (+0/-11)
lib/lp/registry/browser/branding.py (+0/-8)
lib/lp/registry/browser/configure.zcml (+4/-4)
lib/lp/registry/browser/distributionsourcepackage.py (+0/-24)
lib/lp/registry/browser/distroseries.py (+22/-54)
lib/lp/registry/browser/distroseriesdifference.py (+0/-10)
lib/lp/registry/browser/driver.py (+0/-9)
lib/lp/registry/browser/karma.py (+0/-14)
lib/lp/registry/browser/milestone.py (+9/-10)
lib/lp/registry/browser/nameblacklist.py (+0/-16)
lib/lp/registry/browser/teammembership.py (+9/-22)
lib/lp/registry/configure.zcml (+13/-4)
lib/lp/registry/doc/mailinglist-subscriptions.txt (+0/-8)
lib/lp/registry/interfaces/milestone.py (+78/-34)
lib/lp/registry/interfaces/milestonetag.py (+20/-0)
lib/lp/registry/model/mailinglist.py (+0/-4)
lib/lp/registry/model/milestone.py (+90/-27)
lib/lp/registry/model/milestonetag.py (+90/-0)
lib/lp/registry/model/projectgroup.py (+3/-3)
lib/lp/registry/tests/test_milestone.py (+49/-2)
lib/lp/registry/tests/test_milestonetag.py (+202/-0)
lib/lp/registry/tests/test_person.py (+6/-806)
lib/lp/registry/tests/test_personset.py (+0/-19)
lib/lp/registry/tests/test_xmlrpc.py (+0/-4)
lib/lp/scripts/garbo.py (+0/-24)
lib/lp/security.py (+3/-2)
lib/lp/services/database/transaction_policy.py (+5/-2)
lib/lp/services/identity/model/emailaddress.py (+0/-4)
lib/lp/services/looptuner.py (+0/-35)
lib/lp/services/mail/tests/emails/x-unknown-encoding.txt (+1/-2)
lib/lp/services/verification/model/logintoken.py (+8/-20)
lib/lp/services/webapp/__init__.py (+1/-12)
lib/lp/services/webapp/tests/test_login.py (+0/-7)
lib/lp/soyuz/browser/builder.py (+0/-44)
lib/lp/soyuz/browser/distroarchseries.py (+3/-18)
lib/lp/soyuz/browser/tests/test_builder.py (+0/-71)
lib/lp/soyuz/browser/tests/test_builder_views.py (+3/-37)
lib/lp/soyuz/model/binarypackagebuild.py (+0/-5)
lib/lp/soyuz/tests/test_binarypackagebuild.py (+6/-15)
lib/lp/translations/browser/distribution.py (+0/-14)
lib/lp/translations/browser/distroseries.py (+0/-12)
lib/lp/translations/browser/potemplate.py (+0/-28)
lib/lp/translations/browser/project.py (+0/-11)
lib/lp/translations/model/translationtemplatesbuild.py (+1/-1)
lib/lp/translations/model/translationtemplatesbuildbehavior.py (+13/-8)
Changed in launchpad: | |
assignee: | nobody → Brad Crittenden (bac) |
tags: | added: nad-commit-11232 |
tags: |
added: bad-commit-11232 removed: nad-commit-11232 |
Changed in launchpad: | |
status: | Fix Committed → In Progress |
tags: |
added: qa-untestable removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Adding mockups