DefaultApplicationPriorities

Summary

The specification describes how the static list shipped with the distribution and describing the application to use for a mimetype will be changed to a dynamic one

Release Note

This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.

Rationale

The static list used currently doesn't allow distributors to change a default application easily (vendors installing a commercial DVD players probably want this one to be used by default)

User stories

  • Daniel decides to buy a better DVD player than the one coming with Ubuntu, it goes on the Canonical store and buy a commercial player there, this one should be used once installed
  • Vincent works for a company which use Ubuntu on their computer, the employees there need pdf editing which is something evince doesn't do though, they install their own pdf viewer and editor and want it to be used by default

Design

  • The .desktop files will have an optional InitialPreference=<Priority> (similar key to what KDE is using), a default priority will be used if there is no such key

  • The priorities to use will be described in a policy document stored on wiki.ubuntu.com, an email describing the policy will be sent to the ubuntu lists
  • /usr/share/applications/defaults.list will not be shipped with new version but still read for compatibility reason (it is symlinked to /etc/gnome/defaults.list, which will be removed on upgrades if unmodified).

  • The cache format will be changed to list priorities, the cache filename need to be changed to reflect the compatibility breakage
  • The categories will be used to prefer the application matching the desktop when there are several choices (ie GNOME category when using GNOME)
  • The shared-mime-info update-desktop-database tool will be updated to write the new cache
  • glib needs to be update to understand the new format

The priority order will be:

  • mimeapps.list for sysadmin
  • defaults.list for distro and compatibility
  • mimeinfo.cache autobuilt

Migration

There is no migration required, a new cache will be used and the previous defaults.list still used for compatibility

Test/Demo Plan

  • Double click on a video in nautilus and verify that totem is launched
  • Install a player using a higher priority number
  • Double click on a video in nautilus and verify that the new player is launched


CategorySpec

DesktopTeam/Specs/Karmic/DefaultApplicationPriorities (last edited 2009-08-04 07:17:14 by 91)