https://projects.ecoinformatics.org/ecoinfo/https://projects.ecoinformatics.org/ecoinfo/ecoinfo/favicon.ico?14691340362001-04-09T21:24:00ZEcoinformatics RedmineMorpho - Bug #157: redesign of plugin architecture for dmanclienthttps://projects.ecoinformatics.org/ecoinfo/issues/157?journal_id=5252001-04-09T21:24:00ZMatt Jonesjones@nceas.ucsb.edu
<ul></ul><p>Need to consider discussion in Santa Barbara regarding this, especially wrt<br />removing requirement of the hardcoded "tabbed" user interface.</p> Morpho - Bug #157: redesign of plugin architecture for dmanclienthttps://projects.ecoinformatics.org/ecoinfo/issues/157?journal_id=5262001-04-09T21:25:23ZMatt Jonesjones@nceas.ucsb.edu
<ul></ul><p>In Santa Barbara, we put the following topics under this task:<br />details of plug-in use, context sensitive menus, communication between plug ins,<br />keyboard shortcuts, etc.</p> Morpho - Bug #157: redesign of plugin architecture for dmanclienthttps://projects.ecoinformatics.org/ecoinfo/issues/157?journal_id=5272001-04-25T18:15:15ZMatt Jonesjones@nceas.ucsb.edu
<ul></ul><p>New design of plugin and services architecture has been checked into CVS under<br />the tag FRAMEWORK_REDESIGN_BRANCH. Now the ClientFramework finds the name of<br />plugins from the configuration file and loads them. This involves giving the<br />plugin an opportunity to register menus, toolbar items, and services, and add a<br />tab in the main user interface. Services are generic functions that the Plugin<br />will execute for other plugins, identified by name. Data is passed between<br />plugins using generic ServiceRequest and ServiceResponse objects. The<br />"morpho-design.vsd" visio file in the design module contains a UML class diagram<br />and a UML sequence diagram illustrating this architecture and the interactions<br />between plugins wrt services.</p>
<p>Each plugin can register a single tabbed pane that is inserted into the main<br />user interface. Our current plans are that there will only be one tab (for the<br />users data list), and that all other UI frames needed by plugins will be<br />implemented as independent windows. The plugin can (and should) register these<br />windows as they are created, at which point they become visible in the "Window" <br />menu that is implemented by the framework. Plugins should remove windows from<br />the framework when they are deleted or hidden. Dialog boxes and wizards that<br />are modal need not be listed in Windows menu, but generally non-modal windows<br />should be listed (registered) while they are visible.</p>
<p>Still to do:<br />1) Generalize menus so plugins can insert them in specific places,<br />not just append. (this is problematic becase determining an absolute index is<br />non-trivial). Add shortcut keys to menu items.<br />2) Generalize toolbars so that additional kinds of widgits can be inserted<br />(like checkboxes and textboxes) by plugins.<br />3) Add an API for communicating with Metacat. This will probably involve<br />creating a MetacatRequest object and a MetacatResponse object that can be<br />passed. This could possibly be implemented as a service that communicates<br />with Metacat, but might be simpler as direct access methods in the framework.</p> Morpho - Bug #157: redesign of plugin architecture for dmanclienthttps://projects.ecoinformatics.org/ecoinfo/issues/157?journal_id=5282001-04-27T19:01:24ZMatt Jonesjones@nceas.ucsb.edu
<ul></ul><p>Added menu placement features, so now plugins can determine the order of menus<br />and menu items.</p>
<p>Added utility routines for communicating with metacat so now plugins need not<br />know the network communication issues associated with sending data to metacat. <br />See the design/morpho-design.vsd Visio file for an overview of the API.</p> Morpho - Bug #157: redesign of plugin architecture for dmanclienthttps://projects.ecoinformatics.org/ecoinfo/issues/157?journal_id=5292001-05-10T16:58:00ZMatt Jonesjones@nceas.ucsb.edu
<ul></ul><p>Redesigned to allow more flexibility in when menus and toolbars can be added. <br />Now they can be added by a call to ClientFramework at any time. Still need to<br />tweak the toolbar to allow positioning and alternative widgets.</p> Morpho - Bug #157: redesign of plugin architecture for dmanclienthttps://projects.ecoinformatics.org/ecoinfo/issues/157?journal_id=5302001-07-20T16:59:58ZMatt Jonesjones@nceas.ucsb.edu
<ul></ul><p>Created new bug for the toolbar issues, so the plugin redesign is completed.</p> Morpho - Bug #157: redesign of plugin architecture for dmanclienthttps://projects.ecoinformatics.org/ecoinfo/issues/157?journal_id=5312013-03-27T21:13:29ZRedmine Admin
<ul></ul><p>Original Bugzilla ID was 157</p>