Plug-in hierachy

Topics: CAB & Smart Client Software Factory
Jan 24, 2007 at 3:40 PM
Pretty new to this, though do have a a bit of traction based on other plug-in technologies (in-house development).

I wonder if anyone can advise of any information or examples where the parent plug-in acquires items from child plug-ins (that satisfy a certain construction..say) and so the parent plug-in knows where to put them. The key here being that the child does not know where it is to be used, not even the name of the space it will be used in the parent.

The thing that is troubling me from the plug-in examples I have seen so far is that the workspaces or extension points of the parent are known by the child plug-in. This causes a few concerns with regard to plug-in re-use, in future applications!

Hope this makes sense?
Jan 25, 2007 at 12:05 PM
I created a plugin system for our cab application and I have the following interface:

public interface IPlugin
{
UserControl Attach(WorkItem workItem);
}

In the app.config, there is a configuration section that contains information about the plugin, such as it's parents workspace name, nested plugins, whether or not to create a new workspace, etc.

So, in order for all this to wire up nicely, I have a PluginBuilderStrategy that runs and pieces all the components together. Unfortunately, I can not share the code, but I can definetly answer any questions u have.

Feb 6, 2007 at 10:09 AM
Kristian,

Can you please elaborate a bit more on your PluginBuilderStrategy? What exactly this strategy does? Can i have a workItem implementing IPlugin, and can a new Module/WorkItem create instance and use the WorkItem(marked with IPlugin, and defined in a different Module)?
How do you instantiate the WorkItem, WorkItemTypeCatalogService of CAB uses Type, which means that to re-use I have to add static reference for the Module.