Difference between revisions of "OSGI based plug-ins"

From Freeplane - free mind mapping and knowledge management software
m (Add categories)
Line 7: Line 7:
 
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.  
 
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]]
+
[[Category:Program]][[Category:Needs_Updating]]

Revision as of 15:42, 4 November 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:

  1. 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.
  2. 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.
  3. 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.