Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad Entry: https://blueprints.launchpad.net/umc/+spec/umcconfigplugin
The UbuntuMediaCenter will use Elisa and we need a plugin to ease the configuration of this software. The specification for this plugin will be discussed here.
Currently, the configuration of Elisa is done by editing a text file. We can't let the end user have to do this. Same problems occur for UMC plugins (text-editing configuration). So we need to create a plugin that will be use as a GUI to configure UMC and its plugins.
- Tom wants to know which kind of plugins he can install on UMC. He use the UMC Config GUI to browse the plugin list from a repository, download one of them and click on "Activate" to activate the plugin.
- Elisa wants to add a new media directory in UMC . She use UMC Config Gui to browse from her file system and add it .
Comment (ArnaudQuette): the media dirs should be autodetected using xdg-user-dirs and an amaroK/picasa/... like method (view a full FS, and disable the activated dirs...)
- Plugin Browser
- The plugin should in a first time be able to show all installed plugins on UMC
- Second step will be to propose the (de)activation of each plugin.
- Third step : to propose the installation of plugins (that means those plugins are "remotely" get by using an abstraction to the Package Management System (apt, rpm, ...))
- Generic Plugin Config GUI
- Each plugin implementing a certain interface will automatically activate a default config GUI
- This so told Interface should allow plugins to self describe their options (name, type, [possible values])
According to the type, [possibleValues] of the option UMC Config Plugin will design a corresponding Entry (comboboxes, checkBoxes, TextEntries ... )
Question (ArnaudQuette): file format (xml?)
- This will be achieved by the existence of a "config.xml" file that will describe the config options specification. TODO: define a XSL or DTD for this file. A plugin can contains multiple component (see base plugin of elisa ) and each component can have options in the configuration file. So we need to specify "sections" in this xml spec file. One (optional) section per component .
- The plugin should implement a MVC pattern so that it will be used inside and outside UMC