Comment 0 for bug 522144

Revision history for this message
Julian Edwards (julian-edwards) wrote :

The current URL schema for an archive subscription looks something like this:

https://edge.launchpad.net/~julian-edwards/+archivesubscriptions/2784

where the number at the end is an internal archive ID. However this is not "shareable" between users because we can't do this:

https://edge.launchpad.net/people/+me/+archivesubscriptions/2784

This is because the subscription that it refers to is actually a page for a token that may not exist yet, and it normally gets generated when a user first visits the page via a POST form. To make this URL shareable, we need to make a GET on that page non-idempotent (which is fine, because only one user can access the final URL that +me resolves to) and activate the token on first access.

Then, we can take the following actions when someone visits the URL:
 * if I have access to the PPA and I have a token, I get to manage my subscription to it
 * If I have access but I don't have a token, it will activate the token
 * if I don't have access, I'm politely told that
 * if the PPA doesn't exist, I get told that nicely too!

We should also make the URL a bit more readable and use something like this:

https://edge.launchpad.net/people/+me/+archivesubscriptions/~soyuz-team/ppa

instead of the ID string.