I'm currently discussing with my mentor Cristina about the features the GUI would provide. I looked at the plugin management of other (open source) projects for inspiration. The features we discuss go as follows:
Repository management : Possibility to add/remove/manage custom bundle repositories. A repository would consist of an URL. At the root of the URL would be some file (probably XML file, similair to what Eclipse offers) that provides the bundles information (and their dependencies).
Tree-like table in the GUI: The plugins from a repository will be shown in a table, structured like a tree for the dependencies. If a bundle has other required bundles, a plus sign would be visible next to the row in the table. Upon pressing on the plus, the dependencies would be shown (with information like "has to be installed", or "has to be updated"). We thought of adding a version dropdown list to choose which one we want to install for a specific bundle. This dropdown list still has to be discussed though, so it may change.
The GUI would also provide some download properties like "download and activate" or just "download" (with a checkbox I suppose).
I will also update the current "Update" button of the plugin management system. How it is going to be upgraded still has to be discussed, but we know for sure we will permit to update more than one plugin at the same time.
Another feature is a search function. I would functionalities to search within one or more repositories.
There still has a lot to be thought of, and that's what I'm for!
- Check existing plugin management
- systems for inspiration
- Think about an updated GUI for the project
- Continue reading the developer documentation (going very well)
- Continue reading SIP Communicator source code
- Continue reading on OSGi and Felix (I assimilated most of the concepts and I'm pretty proud of it :) )