Difference between revisions of "OSGI based plug-ins"
From Freeplane - free mind mapping and knowledge management software
(Imported from wikispaces) |
m (Text replace - "Category:Program" to "Category:Coding") |
||
(3 intermediate revisions by 3 users not shown) | |||
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:Coding]][[Category:Needs_Updating]] |
Latest revision as of 19:26, 9 December 2011
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.