Widget Provider APIs are designed to allow third parties to build new providers(aka types) of widgets to enable more powerful dynamic integration leveraging widgets dynamic install nature, Livetext and catalog deployment model.
Existing widget providers/types include web, feed, Notes, Google Gadget and eclipse plugin/feature. While these widget types are primarily URL based, widget Provider API is uniquely designed to ease the deployment of a reusable view parts/common actions with a dynamically configurable set of meta data for that specific provider. This meta data, contained in the widget definition(extension.xml) may be a set of preferences for a viewpart that may be wired to live text or even custom arbitrary XML data that could contain a macro/config data to be used with an external application.
The power of the widget APIs is to allow new points of integration to leverage the simplicity of deployment and enable power users to easily configure new widgets to solve the contextual collaboration challenges they encounter. The original goal of Widgets development was to simplify the 90% cases of what developers were need to build a plug-in to accomplish and replace it with a simpler wizard based approach to provide the most common integration. The WidgetWizardContribution api is provided to allow the contextual wizard builder to be extended by third parties.
Any usage of the Widgets Provider API model should follow this goal, allowing one developer in an organization to enable a set of power users to build Widgets and leverage LiveText via a simple to use wizard, to increase end user productivity. The APIs are NOT designed to allow Eclipse developers to modify or replace existing functionality built in to the existing Widget Providers and the Widget, LiveText and Catalog framework.
Widgets are built using widget wizards provided by implemented WidgetWizardContribution's. A WidgetWizardContribution is linked to a WidgetProvider which is responsible for creating the Widget object using the information collected in the wizard.
Widgets can have WidgetPrerences who values can be wired from Live Text. Widget can be launched by custom built actions or by some of the ViewWidget WidgetActionType's provided by the widgets framework.
WidgetWizardContribution, WidgetProvider, and custom widget actions are all contributed to the widgets framework using extension points - com.ibm.rcp.toolbox.widgetWizard, com.ibm.rcp.toolbox.widgetProvider, and com.ibm.rcp.toolbox.customWidgetAction respectively.
After implementing a new Widget Provider, the resulting plug-in needs to be deployed to user's clients. Only after deploying the plug-in can Power Users create the widgets and End Users install and use the widgets.