##(see the SpecSpec for an explanation) ''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 * '''Packages affected''': == Summary == 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. == Rationale == 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. == Use Cases == * 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...) == Assumptions == == Design == === Functionalities === * 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 . == Implementation == === UI Changes === * The plugin should implement a MVC pattern so that it will be used inside and outside UMC === Code Changes === === Migration === == Test/Demo Plan == == Outstanding Issues == == BoF agenda and discussion == ---- CategorySpec