[
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