DefaultApplicationPriorities

Differences between revisions 1 and 12 (spanning 11 versions)
Revision 1 as of 2009-06-02 13:04:43
Size: 2528
Editor: ANancy-258-1-2-114
Comment:
Revision 12 as of 2009-06-08 12:33:23
Size: 2864
Editor: ANancy-257-1-15-12
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
 * '''Created''':  * '''Created''': 2009-06-02
Line 6: Line 6:
 * '''Packages affected''':  * '''Packages affected''': shared-mime-info, glib
Line 10: Line 10:
The specification describes how the current static association between mimetypes and applications will be changed for something dynamic 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
Line 20: Line 20:
Coding the default application for a mimetype in the distribution limit the distributors flexibility in their software choices 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)
Line 24: Line 24:
== Assumptions ==  * 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
Line 28: Line 29:
You can have subsections that better describe specific parts of the issue.  * 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
 * 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
Line 30: Line 37:
== Implementation ==

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

=== UI Changes ===

Should cover changes required to the UI, or specific UI that is required to implement this

=== Code Changes ===

Code changes should include an overview of what needs to change, and in some cases even the specific details.
The priority order will be:
 * mimeapps.list for sysadmin
 * defaults.list for distro and compatibility
 * mimeinfo.cache autobuilt
Line 44: Line 44:
Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
There is no migration required, a new cache will be used and the previous defaults.list still used for compatibility
Line 51: Line 48:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

== Unresolved issues ==

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

== BoF agenda and discussion ==

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.
 * 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

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
  • 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)