Launchpad 1.0 Public Beta

  • Post author:
  • Post category:Uncategorized

Today we unveiled the Launchpad 1.0 User Interface, which has been in private beta for the last few months. As well as the improved visual appearance, there are a number of new features such as the ability to add your own branding to Launchpad pages associated with your project (for example, Ubuntu’s pages).

As mentioned in the press release, we’ve got two new high profile projects using us for bug tracking: The Zope 3 Project and The Silva Content Management System. As part of their migration, we imported all their old bug reports (for Zope 3, and for Silva). This was done using the same import process that we used for the SchoolTool import. Getting this process documented so that other projects can more easily switch to Launchpad is still on my todo list.

As Launchpad is a user of Zope 3 technology, it is great being able to provide the bug tracking infrastructure for the project. It should also make it easier to collaborate on bugs that affect both Launchpad and Zope.

ZeroConf support for Bazaar

When at conferences and sprints, I often want to see what someone else is working on, or to let other people see what I am working on. Usually we end up pushing up to a shared server and using that as a way to exchange branches. However, this can be quite frustrating when competing for outside bandwidth when at a conference.

It is possible to share the branch from a local web server, but that still means you need to work out the addressing issues.

To make things easier, I wrote a simple Bazaar/Avahi plugin. It provides a command “bzr share“, which does the following:

  • Scan the directory for any Bazaar branches it contains.
  • Start up the Bazaar server to listen on a TCP port and share the given directory.
  • Advertise each of the branches via mDNS using Avahi. They are shared using the branch nickname.

For the client side, the plugin implements a “bzr browse” command that will list the Bazaar branches being advertised on the local network (the name and the bzr:// URL). Using the two commands together, it is trivial to share branches locally or find what branches people are sharing.

I am not completely satisfied with how things work, and have a few ideas for how to improve things:

  1. Provide a dummy transport that lets people pull from branches by their advertised service name. This would essentially just redirect from scheme://$SERVICE/ to bzr://$HOST:$PORT/$PATH.
  2. Maybe provide more control over the names the branches get advertised with. Perhaps this isn’t so important though.
  3. Make “bzr share” start and stop advertising branches as they get added/removed, and handle branch nicknames changing (at this point, it is pretty much blue sky though).
  4. Perhaps some form of access control. I’m not sure how easy this is within the smart server protocol, but it should be possible to query the user over whether to accept a connection or not.

It will be interesting to see how well this works at the next sprint or conference.

SchoolTool Moves to Launchpad

  • Post author:
  • Post category:Uncategorized

Recently, the SchoolTool project has migrated to Launchpad for their bug tracker.

We performed an import of all their previous bug reports using a new bug importer I wrote. This was the third Launchpad bug importer I’d written (the previous ones being for the Ubuntu Bugzilla import and a SourceForge importer), so I wanted this one to be the last. So the design of this importer was to have a simple XML format as an intermediate step. That way we only need to target the XML format to support a new bug tracker. This will also make it possible for projects to provide their bug data in a form we can consume for the cases where they want to migrate their bugs to Launchpad but Canonical doesn’t have the resources to do the migration.

For the SchoolTool migration, Jean-François Roche put together a simple Roundup exporter.

We should have some documentation about the intermediate XML format available at some point for projects interested in moving to Launchpad.

American Hoax

One of the books I read over the holidays was American Hoax by Charles Firth. This book is apparently what he was working on while the rest of the Chaser guys were doing The Chaser’s War on Everything.

The book is an exploration of different aspects of U.S. politics from an outsider’s perspective. Of course, it is a bit difficult to get a good view of the different political movements from the outside, so he creates a number of characters representing different points on the political spectrum as a way to become part of the various movements. Each of these characters was given a suitable back story, including Wikipedia articles for some and websites for others.

The book is definitely worth a read. I am not sure if it has been released outside of Australia yet, but is available from Dymocks.

gnome-vfs-obexftp 0.1 released

  • Post author:
  • Post category:Uncategorized

I put out a tarball release of gnome-vfs-obexftp here:

http://download.gnome.org/sources/gnome-vfs-obexftp/0.1/

This includes a number of fixes since the work I did in October:

  • Fix up some error handling in the dbus code.
  • Mark files under the obex:/// virtual root as being local. This causes Nautilus to process the desktop entries and give us nice icons.
  • Ship a copy of osso-gwobex, built statically into the VFS module. This removes the need to install another shared library only used by one application.

As well as the standard Gnome and D-BUS libraries, you will need OpenOBEX >= 1.2 and Bluez-Utils >= 3.7. The hcid daemon must be started with the -x flag to enable the experimental D-BUS interfaces used by the VFS module. You will also need a phone or other device that supports OBEX FTP 🙂

Last but not least, a screenshot:

Update

There was a build issue in the previous release caused by the osso-gwobex headers not being found. I hadn’t noticed it because I had installed the library standalone. An updated tarball is available here:

http://download.gnome.org/sources/gnome-vfs-obexftp/0.2/