Blueprint/CrossProjectBlueprintReferences

Not logged in - Log In / Register

Summary

When referencing a blueprint from another one (for linking a dependency or superseding), it is often useful to reference a blueprint from a project other than the one the first blueprint is registered in. The data model for Launchpad allows this, but the user interface doesn't. In order to fix this a new huge vocabulary will be added, for use with the blueprint selection pop-ups in the relevant interfaces, which allows, apart from searching for the blueprint's name, title and summary, referencing a blueprint from any project in launchpad, by entering the blueprint's url, or any unambiguous part ot it.

Release Note

It is now possible to link a dependency and mark as superseded blueprints across different projects. In the Superseded By or Depends On fields, enter the blueprint's Launchpad URL to identify it.

Rationale

Projects with multiple products, as well as distributions, often need to track the interaction between features across an entire project group or distribution, since some of the products are complimentary, and it isn't necessary to implement a feature in more than one of them.

Use cases

Albert maintains a high-level library for drawing squares. His library, squarelib, relies on another library, rectlib, for drawing rectangles, adding useful higher-level functions to it. There is currently a blueprint registered for squarelib describing a 'rounded corners' feature. Albert finds a similar blueprint registered for rectlib - once the feature will be implemented in rectlib, it will be available 'for free' in squarelib as well. Albert chooses the 'rounded-corners' blueprint in his project and goes to the superseding form. In the 'Superseded By' field he enters the URL of the relevant blueprint in the rectlib project - http://launchpad.net/rectlib/+specs/rounded-corners.

Betty's project, 'GSlurp', is implementing a GUI for the command-line utility 'slurp'. Betty finds a new blueprint for her project, requesting a 'turbo-slurp' option to be added. The feature can only be made available in the graphical interface once it's fully implemented in the command-line program, so Betty registers a turbo-slurp blueprint for the slurp project, she the selects the Add dependency for the blueprint on her own project, and in the Depends on field enters the path part of the URL for the blueprint in 'slurp' - /slurp/+specs/turbo-slurp.

Design

Challenges

Implementation

UI Changes

Code Changes

Unresolved issues


CategoryProposal

Blueprint/CrossProjectBlueprintReferences (last edited 2010-08-19 22:15:54 by mwhudson)