BuildBranchToArchiveUI

Not logged in - Log In / Register

Revision 40 as of 2010-02-03 08:42:05

Clear message

Refer to BuildBranchToArchive for the non-UI aspects.

The UI issue: unnecessary complexity

Although it is possible for Launchpad users to build a source package from a branch and publish it in their PPA using the bzr-builder plugin, we can radically reduce the complexity of this process and remove the need to transfer data in and out of Launchpad unnecessarily, as nearly all the data is already there on Launchpad (everything except the recipe specifying which branches/revisions to use for the source package).

We can create a simple UI, that in the best case, presents a selection of target PPA and source package recipe, but the details of the recipe still need to be available to the user for inspection and of course when creating a new recipe.

Please update this page with any ideas of your own, especially the questions section.

Goals of the UI

[draft] Users with upload rights to any PPA can, when viewing a branch page:

When viewing a source package recipe build within their PPA, users can:

Users can view a list of all their recipes (?).

Users can see source package recipe builds when viewing a specific builder's history.

Target user audiences

(draft)

Use-cases

Please feel free to expand, correct or add further use-cases. Grab the Balsamiq mockup files with:

bzr branch lp:~michael.nelson/+junk/buildfrombranch-mockups

(and propose any merges).

Manual build of the latest branch revision

Guilherme has his own branch of the Toggle project and would like to build and publish the resulting package in his PPA, using his own version of the official packaging branch.

While viewing his branch page, Guilherme: Build now overlay

  1. clicks on the "Build now" button,
  2. An overlay appears displaying a template recipe to be used as there are not yet any recipes associated with this branch (image on the right). If there were already recipes available for this branch, Guilherme would have the option of simply selecting one (image on the left) or clicking on 'Create new recipe' which would expand the Recipe details and make the relevant fields editable as shown (image on the right). After checking the packaging branch and selecting the appropriate PPA and clicking 'Start build',
  3. The branch page is updated with a "Recent builds" portlet listing the new build and its status, linking to (somewhere appropriate within) the PPA.

At this point, Launchpad will have created both a new recipe for Guilherme and the first build of that recipe.

Manual build of the latest branch revision (Non-JS version)

Without JavaScript, the "Build now" link would go to a "/+buildbranch" page for the branch:

Build now overlay

allowing Guilherme to select a recipe and indicate the ppa. If there weren't any recipes, or he wanted to create a new one, he can click on 'create a new recipe' which takes him to:

Build now overlay

Once Guilherme successfully creates a new recipe he is redirected back to the +build page above.

Actually, an alternative here (given that it is all for the non-JS version) would be to combine the two pages into one (nope, that ui is getting too complicated, and it's just for the non-js version, better to keep it as two simpler pages).

Manual build of a specific branch revision

Yong-sik works on the ereader project and has a number of PPAs including 'ereader_daily' and 'ereader_beta'. He would like to build a specific revision of ereader and publish the result in his personal PPA. If all goes well after installing the resulting package, he'll copy this source and resulting binaries into the ereader_beta PPA.

We could add a dropdown next to the base-branch on the above overlay mockup with 'Tip' selected by default.

Yong-sik opens the Launchpad page for his devel branch and then

  1. clicks on the "Build now" button,
  2. ...

Daily builds

Yong-sik works on the ereader project and has a number of PPAs including 'ereader_daily' and 'ereader_beta'. He now wants to automate his daily builds.

This could be achieved by adding scheduling options to the previous mockups: Build now overlay with scheduling

Note: we don't currently have db schema support for this - see bug 515923.

Yong-sik opens the Launchpad page for his devel branch and then

  1. clicks on the "Build now" button,
  2. ...

Design and interaction questions

New Questions

Still requiring thought

Answered (to some degree)

Notes