ProjectAffiliation

Not logged in - Log In / Register

Revision 7 as of 2009-02-03 23:07:40

Clear message

Project Affiliation

Blueprint: Project/Team Affiliations

Launchpad has projects (formerly known as products) that are the central organizing object for an open source application, bringing together bugs, code, translations, answers, etc.

Launchpad also has teams, which are ways to organize the people who want to be involved in a project. Teams are used in some cases to control access to project artifacts (e.g. private bugs, code branches) and as a forum for audiences that want to participate in the project (e.g. mailing lists).

The problem is that there is no association between teams and the projects they revolve around. It can therefore often be difficult for an interested user to find the team they want to join in order to participate in a project.

This spec addresses this problem by introducing project affiliations, a way for teams to be (optionally) associated with a specific project.

Rationale

How often have you gone to a project page and wondered what teams exist that relate to this project? When you're looking for a way to participate, you naturally want to find the related teams and mailing lists, but this is currently fairly difficult. If the teams share a name with the project, you might get a lucky guess. Or your search might turn up something useful. Or you might be able to follow the obscure trail from various project artifacts and permissions to the teams controlling them. Ultimately though, because these relationships are not explicit, this is all left to luck, chance, and The Googles.

Wouldn't it be nice if a project owner could link specific teams with the project? Then on the project page you would see an list of related teams. Similarly, from the team page, you would see a link to the related project. This makes these relationships (which already exist implicitly) explicit and easily discovered. As a new user looking to participate in the project, there's much less guesswork in finding the channels for this participation.

Data model

We will provide for optional links between teams and projects.

It is proposed that we create a new table called TeamPillarAffiliations which link a team (really a Person) to a pillar. For the first cut, we'll support only projects but in the future we should at least also support project groups and possibly distributions as well.

Notes:

Stories

Here then are some stories for breaking down the work and estimating their level of effort.

Project affiliation for teams

As a project owner
I would like to be able to affiliate a team with a project
So that it is easier for people to discover this relationship, and discover the ways they can participate in the project.

Note:

Story points: 2

View project affiliation

As a Launchpad user
I would like to be able to view the project affiliations for a team
So that I can more easily decide how I want to participate in the project.

Notes:

Story points: 2

Add affiliation

As a project owner
I would like to be able to propose a team affiliation
So that I can more clearly communicate to users what these relationships are.

Notes:

Story points: 5

Remove affiliation

As a project or team owner
I would like to be able to break a team affiliation
So that it is clear there is no longer a relationship between the team and the project.

Notes:

Open questions