Difference between revisions of "OSGI based plug-ins"
From Freeplane - free mind mapping and knowledge management software
m (1 revision) |
m (Add categories) |
||
Line 1: | Line 1: | ||
− | FreeMind has a proprietary extension mechanism further called ''plug-ins''. FreeMind plug-ins are automatically loaded by FreeMind using their XML descriptors. This mechanism should be replaced because of the following reasons: | + | FreeMind has a proprietary extension mechanism further called ''plug-ins''. FreeMind plug-ins are automatically loaded by FreeMind using their XML descriptors. This mechanism should be replaced because of the following reasons: |
− | |||
− | |||
− | |||
− | Currently I am converting all FreeMind hooks into usual packages which reside inside of freemind.jar. Later they should be converted to OSGI packages. This task should prepare this connection. Now I prefer [http://www.knopflerfish.org knopflerfish] as a framework. | + | #Current plug-in design defines many additional classes and interfaces which are actually not necessary and can be replaced by interface used in the freemind kernel. |
+ | #Current XML descriptors have many not documented attributes. There is no need in big XML descriptors any more because FreePlane API allowing plug-ins to seemlesly integrate themselves to the main program e.g. add and serialize new node properties and add their own actions to Freeplane menus/toolbars. | ||
+ | #Using of OSGI framework is a standard way to organize plug-ins in external projects with excellent IDE support. | ||
+ | |||
+ | Currently I am converting all FreeMind hooks into usual packages which reside inside of freemind.jar. Later they should be converted to OSGI packages. This task should prepare this connection. Now I prefer [http://www.knopflerfish.org knopflerfish] as a framework. | ||
+ | |||
+ | [[Category:Developer_Documentation]][[Category:Needs_Updating]] |
Revision as of 06:34, 26 November 2009
FreeMind has a proprietary extension mechanism further called plug-ins. FreeMind plug-ins are automatically loaded by FreeMind using their XML descriptors. This mechanism should be replaced because of the following reasons:
- Current plug-in design defines many additional classes and interfaces which are actually not necessary and can be replaced by interface used in the freemind kernel.
- Current XML descriptors have many not documented attributes. There is no need in big XML descriptors any more because FreePlane API allowing plug-ins to seemlesly integrate themselves to the main program e.g. add and serialize new node properties and add their own actions to Freeplane menus/toolbars.
- Using of OSGI framework is a standard way to organize plug-ins in external projects with excellent IDE support.
Currently I am converting all FreeMind hooks into usual packages which reside inside of freemind.jar. Later they should be converted to OSGI packages. This task should prepare this connection. Now I prefer knopflerfish as a framework.