Very nice!

On Dec 15, 2009, at 1:19 AM, Delos wrote:

Hi all,

OSGI Bundle is a new item for Geronimo admin console and RFC 139 defines many Mbeans used to get bundle information in OSGI environment. So it's necessary for admin console to show the information of OSGI bundles.

Therefore, Rodger and I mocked up a couple of portlets. Here are some screenshots for the mock UI. As you can see, we have two portlets here, to show the bundle list and bundle information. It's a initial draft based on Dojo widgets without full javascript implementation.

Screenshot 1: https://svn.apache.org/repos/asf/geronimo/sandbox/delos/dojoBundleList_anntation.JPG
Screenshot 2: https://svn.apache.org/repos/asf/geronimo/sandbox/delos/singlebundle.JPG

In the attachment, 1 is the bundle list portlet, while 2 is the bundle information portlet. Bundle list portlet gives a list of installed bundles;besides, the portlet also allow user to stop/start/uninstall bundles. Bundle information portlet is much simpler, it only display the bundle information in OSGI framework. Mbeans defined in RFC 139 is a way to obtain the information.

I assume that you'll format the exported and imported packages in the same manner as BND in #1?

For better illustration, I added some markers (A,B,C,D,E) in snapshot 1.

A - With these widgets, user can install any bundle from file system. If "start" is checked, the bundle will be started automatically after it's installed.Meanwhile, user can also specify the start level of this bundle. I'm not sure if the "Deploy New" portlet will be applicable for OSGI bundles, so I just mock the installation UI according to Web console of Felix.

B - All the possible actions can be taken to bundles. Every bundle can be selected through the checkbox in front of it. Each time an action is taken to all the selected bundles. If the action is not applicable for some bundles, these bundles will be ignored.

C - Each column in the table can be sorted by clicking the column header. The up arrow stands for sort asending while the down arrow stands for sort desending.

D - The textbox here is used to filter bundles by symbolic name. Only the bundles with symbolic name containing specified text will be shown. If no text provided, all the bundles will show

I would have a drop down box to the left so that you could enter in:

- imported packages
- exported packages

in addition to the Symbolic Name.  

It would also be great if one could trace the wirings to help discover where conflicts lie.  Maybe this would be a different screen but I think that tooltips that showed the wirings would be pretty helpful.

E - The drop down list here gives the possible status of an installed bundle - "resolved","starting","active","stopping". It's used to filter bundles by status. If one status is selected, only bundle with status the same as selected value will be shown. If no value is selected, all the bundles will be shown.

I imagine the status would update automatically via some kind of comet call.

Again, very nice!

Regards,
Alan