This site should be used to discuss the user interface of SessionInstaller. It refers to the trunk branch which contains not yet released features.
Interaction Mode
The PackageKit API allows to specify the dialogs which will be shown by SessionInstaller:
- Confirm search, installation or additional required changes
- Progress
- Finished message
- Warnings
Warnings can be ignored since they are not support by the aptdaemon and Synaptic backend.
Currently this isn't support yet - so we end up showing all dialogs that we have.
Should we enforce a minimal set of dialogs?
Search Progress
A progress dialog. Currently only pulses.
GStreamer Confirmation Dialog
The dialog should support the following features:
- Allows to choose the package to install if a plugin is provided by more than one package
- Makes a sane default choice of the packages to install
- Shows an information about possible restricted packages
- Shows an information if not all codecs could be provided
To test the various dialogs you have to first uninstall the corresponding plugin packages (gstreamer0.10-plugins-bad, gstreamer0.10-ffmpeg and gstreamer0.10-fluende-mp3) and call the test script from the source directory:
./test --install-gstreamer single ./test --install-gstreamer multi
Package Selection
The dialog provides an optional install toggle and a "provides" column next to the description column. If only the description column is shown the column headers will be hidden.
Install Column
The install column with check boxes will only be shown if there is more than one package to install. If there isn't any selected package the install button will be disabled.
Provides Column
This column will only be shown if there is at least one package which doesn't provide all plugins. In this case the requested plugins which are provided by the package are listed in this section: e.g. "Only Apple Video Decoder". If a package provides all requested plugins the column will just display "All".
Default Set of Packages
SessionInstaller uses an internal scoring mechanism to find the best package for each requested plugin. Currently it is basically just a static mapping which raises the scoring of the common plugin packages (e.g. gstreamer0.10-plugins-good 100 points, gstreamer0.10-fluendeo-mp3 90 points, etc..). Furthermore the section of the package is taken into account: packages from non-free and multiverse are considered restricted.
?SebastianDröge came up with the idea to also use the ranking information of GStreamer, but this will require a change in dh_gstscancodecs.
By default the best package for each plugin will be selected for installation.
Restricted Packages
These are packages that could contain a patent violation in some countries.
SessionInstaller will show a warning icon next to the package name and a tooltip which contains a short description of the issue which was taken from gnome-codec-install.
If a possible restircted package is selected for installation by default the cancel button will be-preselected (pressing Return would cancel the action).
Dependency Confirmation
SessionInstaller will use the dialogs of the backends: either aptdaemon or synaptic.