← Back to team overview

launchpad-users team mailing list archive

Re: Changing the URL of milestones


On Fri, 2009-05-15 at 10:23 -0400, Curtis Hovey wrote:
> There is something else that would change...
> On Wed, 2009-05-13 at 23:16 -0400, Curtis Hovey wrote:
> > I am considering changing the URL of milestones to allow users to locate
> > an track releases *before* the are created. I am concern that doing this
> > will break some scripts that use the beta webservice.
> > 
> > I want to change the milestone to have the same URL as the release:
> >     <project/+milestone/<milestone>
> > becomes
> >     <project>/<series>/<milestone>
> > 
> > Example:
> >     https://edge.launchpad.net/bzr/+milestone/1.15rc1
> > could be
> >     https://edge.launchpad.net/bzr/1.15/1.15rc1
> > Which is the URL the release will be published at.
> ...
> The milestone would supplant the distroseries architecture:
>     <distro>/<series>/<architecture>
> would become
>     <distro>/<series>/+arch/<architecture>
> Example:
>     https://edge.launchpad.net/ubuntu/jaunty/i386
> would be
>     https://edge.launchpad.net/ubuntu/jaunty/+arch/i386

I've a few things that will break if the architecture moves, and lots of
people know to type URLs with the architecture where it is now. But
those are easily fixable.

> Again I think putting milestone under the series is best because it is
> consistent for all kinds of series.

Consistency is good, but only when the traversal scheme makes sense.

Putting milestones (and by extension releases) under a series makes some
sense; they are owned by a series, clearly. But their namespace is
product-global - I don't release bzr 2.0 in both the 1.0 and 2.0 series.
I think, ideally the traversal should not be under the
series. /bzr/2.0/2.0 is ugly. /bzr/2.0 is better, but conflicts with
series. There seems to be no good solution here.

(I actually stumbled last night upon some IRC logs from late 2005, where
there was discussion related to this. At that point, releases were
at /bzr/2.0, and series at /bzr/+series/2.0. The question was why
release names weren't unique across the product, but they seem to be
now. Does anybody know why the default traversal was changed?)

> [One beer later]
> The architecture problems is a little different from the release
> problem. There is only a finite number of architectures, and a small
> number of distro series. I can easily make architecture and milestone
> co-exist because the names are unlikely to ever collide. I can add a
> guard that will prevent any distro series milestone from having a name
> that is the same as an architecture.
> Still, I think this leads to a surprise in the API, because you may
> expect a milestone, but get an architecture. Though I cannot think hoe a
> script could get architecture name and think it has a milestone name.
> So maybe it is okay to not change the distro series architecture URL.

Given that there will probably never be more than a dozen archs, I think
unifying the namespace should be fine. But ProductRelease traversal
still somewhat sucks, and I'd like to know why.

William Grant