← Back to team overview

yellow team mailing list archive

[Merge] lp:~frankban/launchpad/bug-904335-get-tags into lp:launchpad

 

The proposal to merge lp:~frankban/launchpad/bug-904335-get-tags into lp:launchpad has been updated.

Description changed to:

= Summary =

Project groups needs a way to aggregate milestones, and introducing milestone
tags seems a way to do that in a flexible manner.

== Proposed fix ==

A Project Group Milestone Tag object is needed to aggregate milestones
inside a project group. This patch introduces a convenient interface and
its implementation: the behaviour of the new model must be similar to what
is already present in Project Group Milestones. Above all we need the
ability to retrieve bugtasks and specifications associated with a milestone
tag.

== Pre-implementation notes ==

The concept of milestone tag was controversial but appears to be a good
tradeoff to meet Linaro needs. A db-devel change is needed to get milestone
tags work. That change is present in
lp:~frankban/launchpad/db-milestonetags-480123

== Implementation details ==

A milestone interfaces refactoring is present in this patch.

IMilestoneData is now a base interface for any other milestone-like
interface, and IAbstractMilestone is introduced as an intermediate interface
for milestone.
Both IMilestone and IProjectGroupMilestone are IAbstractMilestone subclasses.
Both IMilestone and IProjectGroupMilestoneTag (a marker interface) are
IMilestoneData subclasses.

The milestone model now has getter and setter methods for tags.

A MilestoneTag model is introduced as a storm interface to the new
milestonetag table.
A ProjectGroupMilestoneTag model is used to retrieve bugtasks
and specifications.

== Tests ==

bin/test -vv lp.registry.tests.test_milestone
bin/test -vv lp.registry.tests.test_milestonetag
bin/test -vv -t lp.registry.stories.webservice.xx-project-registry

== Demo and Q/A ==

The changes are not visible in the web ui.
However, due to milestone refactoring, checking the various milestone
pages may be a good idea.

For more details, see:
https://code.launchpad.net/~frankban/launchpad/bug-904335-get-tags/+merge/87489
-- 
https://code.launchpad.net/~frankban/launchpad/bug-904335-get-tags/+merge/87489
Your team Launchpad Yellow Squad is subscribed to branch lp:~yellow/launchpad/bug-904335-devel-base.


References