1

Day six – code review

Published by Matthew Revell December 30, 2008 in 12 days of Launchpad

Something you’ll hear we Launchpadders talk about quite often is that the combination of Launchpad and Bazaar makes it really easy for newcomers to contribute code to your project. Anyone can create their own branch of your trunk, hack away and then upload their new branch to appear right alongside all the other branches associated with your project.

Launchpad provides a straightforward code review system to help you manage code contributions to your project, whether they’re from core developers or drive-by contributors.

Here’s how it works:

  1. Someone proposes that a branch should be merged into your trunk — or any other branch.
  2. Launchpad notifies subscribers to both branches and it also shows up on those branches’ overview pages.
  3. Anyone can then vote and comment on the proposed merge, either using Launchpad’s web interface or by email.
  4. Once the review is complete, the target branch owner marks the proposal as accepted or rejected.

Take a look at a code review for the Entertainer project and our guide in the help wiki.


0

Day five – the bug commenters header

Published by Matthew Revell December 29, 2008 in 12 days of Launchpad

There are a few ways that you might find yourself receiving email updates about a bug that’s tracked in Launchpad. Usually, it’s because you reported the bug, commented on it, subscribed directly to the bug report or you subscribed to all bugs associated with a particular project or distro.

Alongside the information in the body of the email, Launchpad adds headers that give you extra details. Those headers are particularly useful if you want to filter certain emails.

Recently, Gavin added a new header to Launchpad bug mails:

X-Launchpad-Bug-Commenters

It lists each person who has left a comment on the bug, including the original poster, with each name separated by spaces.


1

Day four – mentoring

Published by Matthew Revell December 28, 2008 in 12 days of Launchpad

Want to make it easy for newcomers to learn the ropes of your project?

Launchpad’s mentoring helps you connect experienced project contributors with people looking to get involved.

Visit any bug or blueprint that’s registered for your project and follow the Offer mentoring links towards the bottom of the page. You can then select the Launchpad team through which you want to tell people about your offer of mentoring; usually that’d be the development team for the project.

Once you’ve made your offer, your name — with a link to your Launchpad profile page — will show up in the mentors list. Take a look at bug 120050 as an example. Anyone wanting to learn more can then easily contact you through your profile page.


0

Day three – marking bugs as fixed from within Bazaar

Published by Matthew Revell December 27, 2008 in 12 days of Launchpad

Bug-branch links are a quick and easy way to show that a branch of code contains a fix for a certain bug.

Perhaps the coolest aspect of bug-branch links is that you can mark a bug as Fix Committed right at the moment you make the commit in Bazaar. It’s simple:

$ bzr commit -m "This fixes the problem" --fixes lp:1234

That part after the commit message — “--fixes lp:1234” — tells Bazaar that your commit fixes bug 1234 in Launchpad.

The next time you push the branch to Launchpad, it’ll update the bug report’s status to Fix Committed.


0

Day two – sprints and meetings

Published by Matthew Revell December 26, 2008 in 12 days of Launchpad

On the second day of Launchpad — and at this time of year when people tend to get together — we’re going to look at how Launchpad can help you organise sprints and meetings.

First off, let’s take a look at the list of all meetings tracked in Launchpad. You get an overview of what each meeting is about, along with its start time and date. Click on Entertainer May 2008 to take a look at the details of a specific event.

Now for the really interesting bit: on this event’s overview page is an excerpt from its agenda. Click on one of the agenda items and you’ll see that it’s a blueprint also registered in Launchpad. Anyone can propose a blueprint for the agenda by following the Propose for meeting agenda link on a blueprint’s page. Then it’s down to the meeting’s organiser — i.e. the person that registered it in Launchpad — to approve or decline agenda items.

There are a couple of other things to note too: it takes just a couple of clicks from the event’s overview page to register yourself as attending and, if you’re the meeting’s organiser, you can download a CSV of all the attendees.


0

Twelve days of Launchpad: announcements

Published by Matthew Revell December 25, 2008 in 12 days of Launchpad

Welcome to the Twelve Days of Launchpad!

From now through to January 6th we’ll look at a different Launchpad feature each day, concentrating on those that aren’t so well known.

Let’s start with announcements! Your project’s Launchpad overview page is a great place to give other Launchpad users — and thanks to some Google juice, the rest of the world — an introduction to what your project is all about.

Pyroom's announcementsIt also gives you an effortless way to keep your community up to date. Take a look at the Pyroom text editor’s project page.

Click on any of the announcement titles and you’ll see the full news item, with an optional link to more info. Even better, Launchpad gives your project an Atom feed of all your announcements. Visit your overview page and, if you’re running Firefox, click the feed icon in the browser address bar.

To make an announcement — either for immediate publication or to go live at your chosen time — follow the Make announcement link at the bottom of the announcements section of your project’s overview page.

Drinking from the firehose

There’s an even a page and Atom feed where you can see the announcements from every project in Launchpad. What a great way to find out what’s happening in Launchpad right at that moment!


1

Exaile media player

Published by Matthew Revell December 19, 2008 in Projects

Exaile logoThe Exaile media player has been attracting fans over the past couple of years. I asked the project’s founder, Adam Olsen, about the project and their use of Launchpad.

Matthew: It seems as though music players are a bit like mail clients: they’re a problem that you might think are easy to solve but, in practice, no one ever seems entirely happy with what’s available. How are the Exaile team tackling that problem?

Adam: Before I started Exaile, I was somewhat happy with Amarok. I liked most of it, however, I was using Gnome and Amarok was quite buggy at the time. I thought, “well, I’ll write a Gnome clone for it”, and that’s how it got started. Once I had all the features in that I wanted, it moved to the users to give ideas by requesting features.

Now it’s a cat and mouse game, to keep up with what users request. Can’t really give everyone what they want, but we do try.

Matthew: How many people contribute to Exaile?

Adam: There are three developers, and three or four people that contribute regularly with patches.

Matthew: What made you choose Launchpad and Bazaar for Exaile?

Adam: I chose Launchpad because I wasn’t in charge of hosting it. Prior to Launchpad, I was using trac on my own server, which eventually got hacked. Launchpad was a natural choice to me because Ubuntu was using it, and I chose Bazaar because Launchpad used it.

Matthew: Is your team PPA an important way to distribute stable Exaile release or just for test versions?

Adam: It’s to distribute stable versions of Exaile. Prior to PPA, I’d only distribute packages for different architectures when someone contributed them, but this is much easier

Matthew: What features do you feel are missing from Launchpad?

Adam: A wiki would be nice, or some sort of documentation section.

Matthew: Is there anything in Launchpad that is much harder than it should be?

Adam: Sometimes Launchpad is hard to navigate, but I think it’s because it does some things that no other projects do. Terminology is sometimes an issue, for instance, the word “driver” to describe the person (or team) that is in charge of decisions and bugs for a series is probably something that a new user hasn’t heard before, even though it does accuratly describe the purpose.

All in all, though, the documentation is good, and the community is very helpful, so it’s really not a big deal.

Matthew: Have you used merge proposals and code review in Launchpad?

Adam: Not extensively. We’ve had probably two or three merge proposals.

Matthew: Do you use the bug tracker’s ability to track one bug as it affects different projects?

Adam: Yes, if there is a bug Exaile and also another Python project that gets fixed, sometimes I’ll look through to see what they did to fix it.

Matthew: What’s next for Exaile?

Adam: Right now we’re doing a complete rewrite of the codebase that’ll allow features to be added more quickly and easily. It’s currently in a very usable state and we’ve released a beta. No word yet on when we’ll be done, but people seem to be pretty excited about it.

Matthew: Thanks Adam!


1

Launchpad 2.1.12: new bug tracker plugin API

Published by Matthew Revell December 18, 2008 in Releases

We’re proud to announce the release of Launchpad 2.1.12 and two exciting new ways for other services to use data in Launchpad.

Create a Launchpad plugin for your bug tracker

Launchpad can already import the status of a bug report that’s in another tracker, such as Debian’s BTS or Sourceforge.

Recently, we also announced two plugins — for Bugzilla and Trac — that enable two-way communication, starting off with sharing a bug’s comment history between those trackers and Launchpad.

We’ve published our bug plugin API on the help wiki, so now anyone can create their own plugins to enable other bug trackers to communicate directly with Launchpad.

Graham has more in his blog post.

Launchpad modules for Drupal 5.x

Building on Launchpad’s OpenID support, we’ve produced two Drupal 5.x modules that let you:

We’re working on support for Drupal 6.x right now.

Read more in our blog post.

Full details of 2.1.12

If you filter Launchpad bug mail, look out for a new header:

X-Launchpad-Bug-Commenters

It lists, alphabetically, everyone who has commented on the bug, including the original poster, with each name separated by spaces.

To get the full details of the Launchpad 2.1.12 release, have a look at its milestone page.

If you come across a bug, please report it!

See you next year!

We’ll be back in the new year with Launchpad 2.2.1 on the 28th January.

There are two new ways to get Launchpad news, via Twitter and identi.ca: