Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [geclipse-dev] Remarks and questions to eu.geclipse.info

 Hello everyone.

1) First a very general point that I already discussed with Ariel. Should the info plug-in be renamed to eu.geclipse.core.info? Ariel voted +1, I did -1, but in the meantime I am at +1 :) Note that renaming it would also mean to put the UI stuff into eu.geclipse.ui rather than in a separate eu.geclipse.info.ui plug-in. Nevertheless this is not that important, just wanted to mention it for the sake of completeness. Let’s come to the more important points…

I am happy either way. I guess it depends on whether we want to reduce the amount of the plugins.

2) The info plug-in defines an extension point, i.e. eu.geclipse.info.infoService. What is the purpose of this extension point? Do we really need this? I am convinced that this is not needed since everything concerning model elements can be done with the core’s extension points (at least this is what I believe :)

This extension point is used to define a info service. By looking at all the classes implementing this extension point and I can get the info service for the specific vo. The following code is used for example when adding a info service to the project in GriaVirtualOrginisation.java

IGridInfoService infoService = InfoServiceFactory.getInfoService( VO_TYPE_NAME, this );
addElement( infoService);

3) Furthermore there is a second extension point defined, i.e. eu.geclipe.info.infoViewerFilter which is used – as far as I understand – to plug-in the middleware filters available from the info viewers action bar. Also here I would say this is not necessary, at least if we are filtering not for middlewares (remember, we are middleware independent, otherwise we would already have a middleware extension point in the core) but for VO types (which brings the middleware into g-Eclipse), i.e. GRIA, VOMS, etc. You could then get a list of all available VOs by querying the VO manager and making use of the IVirtualOrganization#getTypeName() method, this could give you the filter’s name. Nevertheless I would recommend to not present filters for all VOs but only for VOs that are currently assigned to at least one project. Currently I also have a GRIA filter no matter if I have a GRIA VO – or better info service – defined.

This extension is used in order for a specific info service to be able to have its own filters. This helps modifiabilty and extensibility as someone could add its own filter in the future for a specific middleware quite easy. I have implemented filters only for the VO type currently, but I think it is nice to make it easy for someone to add new filters.

4) Concerning the filters we currently have them spread over the action bar (there are two, the “Show only filled information elements” and the middleware filters). I would favour a solution following the package explorer approach. There you have a dedicated “Filters…” action under the views menu that opens a dedicated dialog containing all available filters. Also note the “Select the element to exclude from the view” field in that dialog. Wouldn’t that be a great addition to our filters, having listed there the GLUE elements?

I have the two kinds of filters spread in the action bar because they are independent. I think the way it is implemented now requires the minimum amount of "clicks" on behalf of the user. I would favor to put it in a dedicated "Filter" action if the action bar had many actions but this is not the case in the glue info view. I think excluding glue elements is not possible since they have a tree like structure. If you exclude the parent node, then the rest will not appear too and that would be confusing for the user.

Thanks,
Nick




Back to the top