Difference between revisions of "Considerations on porting Tab Plugins to Client-Server mode"

From Protege Wiki
Jump to: navigation, search
(New page: In some cases a tab plugin will require some modification in order to function properly in client-server mode. For example, consider the change tab plugin. This plugin monitors changes m...)
 
Line 1: Line 1:
 
 
In some cases a tab plugin will require some modification in order to function properly in client-server mode.  For example, consider the change tab plugin.
 
In some cases a tab plugin will require some modification in order to function properly in client-server mode.  For example, consider the change tab plugin.
 
This plugin monitors changes made to an ontology and displays a summary  of the changes in a nice way to the user.  When we first tried to run this  
 
This plugin monitors changes made to an ontology and displays a summary  of the changes in a nice way to the user.  When we first tried to run this  
Line 6: Line 5:
  
 
The solution is to refactor the plugin so that the listeners run on the server rather than on the client.  Since there is only one listener on the servver the changes only get copied into the changes tab once.  In order to do this the tab plugin needs to be refactored into a combination of  the tab  plugin and the
 
The solution is to refactor the plugin so that the listeners run on the server rather than on the client.  Since there is only one listener on the servver the changes only get copied into the changes tab once.  In order to do this the tab plugin needs to be refactored into a combination of  the tab  plugin and the
 +
 +
[[Image:PortingTabPluginsToMultiUser01.png]]

Revision as of 21:39, October 6, 2007

In some cases a tab plugin will require some modification in order to function properly in client-server mode. For example, consider the change tab plugin. This plugin monitors changes made to an ontology and displays a summary of the changes in a nice way to the user. When we first tried to run this plugin in client-server mode we found that it did not function correclty. The listeners that monitored the ontology for changes ran on each of the clients. When one client made a change to the ontology, events representing that change were generated on each of the clients. The listeners monitoring these changes fired on each of the clients and therefore more than one copy of each change would find its way into the changes tab.

The solution is to refactor the plugin so that the listeners run on the server rather than on the client. Since there is only one listener on the servver the changes only get copied into the changes tab once. In order to do this the tab plugin needs to be refactored into a combination of the tab plugin and the

PortingTabPluginsToMultiUser01.png