[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] dynamic plugins

Absolutely (well mostly).  Going forward some sort of indication as to the ability of the plugin will be needed.  I don't think we have had enough time however to play with dynamic behaviour and understand the subtleties.  As such, we don't know what characteristics to declare.  There is at least dynamic aware for addition and removal (update?), and dynamic enabled but there may be more.

I suspect this will be a hot topic post 3.0 and your thoughts/input would be most appreciated.

In the mean time see:


Mel Martinez <melm@xxxxxxxxxx>
Sent by: equinox-dev-admin@xxxxxxxxxxx

05/13/2004 11:47 AM

Please respond to

Mel Martinez <melm@xxxxxxxxxx>
[equinox-dev] dynamic plugins

Please excuse me if this has been addressed already.  In which case just
point me to the relevant info.

As we move forward, I believe it is a generally accepted goal that we want
to be able to support 'live' install/update of plugins in the platform
instead of having to restart when we change the configuration.   And in a
sense we already can do that, with care.

One of the hurdles to overcome to make this a reality is the fact that
individual plugins themselves sometimes may need to be rewritten in order
to be 'dynamic'.  That is, they need to be a) able to startup/shutdown
independent of the platform lifecycle and b) either insulated against
changes to the configuration or appropriately responsive to changes via
listener/event model.

When a configuration is changed, currently we just assume (rightly so) that
many if not most plugins will not meet these conditions and simply do a

In the future, how do we know that all plugins meet these conditions?

It seems we should have an attribute added to the eclipse plugin.xml that
indicates a plugin is 'dynamic', that it says it can work just fine with
dynamic changes to the configuration.    The way things would work then is
that, upon a configuration change, before ordering the the platform
restart, we would look at all the plugins in the new configuration.  If ALL
of them had 'dynamic="true"', then we would simply do the appropriate
install/uninstalls to realize the new configuration.  If any of the plugins
did not have this set, we would do a restart.

This is probably an oversimplification.   My main concern here is that I
think we need to have some indication in the plugin.xml that indicates
compatibility with dynamic configuration changes.  This is a packaging
issue that I need to start getting into plan for us.



equinox-dev mailing list