Dynamic Plug-ins

-API TBD (Core or Platform)

Registry Management and Dynamic UI are an easy way to help you track the comings and goings of Plug-ins.


A dynamic plug-in is a reusable component with the potential to be unloaded.

A dynamic plug-in may not remain for the life of the application, as such, it is essential to ensure that when the component goes away everything is cleaned up.

When listeners are hooked on the Workbench and items are registered, they remain there after shut down, these plug-ins must be aware that they need to clean up.

Another problem is that of a plug-in developing extension points for others to use, it is important to be aware that other plug-ins can disappear.

Information based on the registry cannot be cashed without monitoring to see if there have been any changes to it.

The assumption that on start up, a read through of all the implementations of the extension point will be sufficient for the life of the application is false as that will not work. You must ensure that either the listener is hooked or nothing is ever cashed, so that registry changes are listened for.

Assume that your application is reading from the registry and has an extension, create a record for it and assign its location. Upon its conclusion, you would be notified that a clean up is required. In addition, a listener will announce when new items come in and create them.
-There will be utilities for that (Next week - note with names to follow)
-The funtionality will be the same as just described, easy way of listening for things coming in and going out.

It is important to understand that items in the workbench are not necessarily static, they are in fact transient and could go away at any time. If you're writing a plug-in for a specific view first ensure that the view is still there.

Legal notices.