My thanks too, Martin.  I guess I hadn't understood the nuances that
you brought out about Extension and Registry.  For example, we haven't
been overriding the getVersion() method in our Extension (fixed now).

So after all of this discussion, where are we?

Michaël still needs an easier method of associating menu items with
plug-ins.  Perhaps just  additional convenience methods in
FeatureInstaller?  The OJ committee will have to decide this.

I still want a better way to install add-on plug-ins, preferably
workbench-properties.xml.  However, I don't intend to replace the
Extension concept, only create an alternative.

Some developers will perhaps not understand the magnitude of our
(SkyJUMP / ISA plug-ins) problem.  We have, at last count, 61 separate
plug-ins all bundled into a single jar file.  Some of these are
already rolled into OpenJump's core, and others are not.  It has
become practically impossible for us to deliver an ISA plug-in that
will work with any version of OpenJump.  The only alternatives for an
OJ user who needs the functionality of a few of our plug-ins is to
petition the OJ developers, who are busy implanting their own
features, or to compile their own custom JUMP version.  The
workbench-properties file would allow these users to only install the
features they need, and are compatible with their version of OpenJump.

regards,
Larry



On 5/9/07, Michaël Michaud <[EMAIL PROTECTED]> wrote:
> I add my thanks,
>
> So more easy to understand with some clear explanations from the
> designer than trying to read java code in my favorite editor :-) .
> I'll add this in the wiki.
>
> Michael
>
> Sunburned Surveyor a écrit :
>
> > Martin,
> >
> > This should be very helpful to Larry and others. I will take a close
> > look at the Javadoc and source code for the Extension and Registry
> > classes in the next couple of days.
> >
> > Thanks for the great explanation.
> >
> > The Sunburned Surveyor
> >
> > On 5/9/07, *Martin Davis* <[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]>> wrote:
> >
> >     In response to SS's puzzlement about the Extension concept, here's the
> >     rationale:
> >
> >     Originally JUMP just had the concept of plugins, but this quickly
> >     turned
> >     out to be limiting.  Many JUMP add-ons (to use a neutral term)
> >     comprise
> >     a whole collection of inter-operating plugins.  They may also contain
> >     other things, such as objects or classes which need to be added to the
> >     Registry (more on this later).    Also, while plugins can
> >     self-install,
> >     sometimes it's more convenient to have another piece of code manage
> >     their installation (note: just like as the JUMPConfiguration class!)
> >
> >     A JUMP Extension was intended to be a way of managing a whole
> >     collection
> >     of  plugins and associate objects.  It provides a single place
> >     where the
> >     developer can do all the various house-keeping tasks needed to
> >     install &
> >     configure a large add-on.  The extension class "gets control"
> >     during the
> >     load, and gets full access to the JUMP core.
> >
> >     An extension also provides a way of managing a set of plugins
> >     which are
> >     related.  The extension has a version number and a name.  If JUMP
> >     allowed you to unload things, it would be extensions which were
> >     unloaded.
> >
> >     Hopefully that clears things up, and convinces people that Extensions
> >     really are a necessary and fundamental JUMP concept.
> >
> >     As for the Registry, I'm not sure if people really grok what this is
> >     for.  There are more and more things in JUMP which aren't plugins,
> >     but
> >     which need to be installed, managed, discovered and used by plugins
> >     which actually do work.  These are things like I/O drivers, Datastore
> >     drivers, Decorators, Geometry Functions, etc etc. The Registry was
> >     developed as a central place where these things could be managed. The
> >     Registry formalizes and provides a standard pattern for doing
> >     this.  It
> >     of course can have new Categories of objects added to it (by an
> >     Extension, naturally).
> >
> >     We really should have spent a lot more time documenting and promoting
> >     these subtleties of the Workbench Framework, but as usual other
> >     priorities got in the way. So much to document, so little time...
> >     Maybe
> >     this can make its way onto the wiki...
> >
> >     --
> >     Martin Davis
> >     Senior Technical Architect
> >     Refractions Research, Inc.
> >     (250) 383-3022
> >
> >
> >     
> > -------------------------------------------------------------------------
> >     This SF.net email is sponsored by DB2 Express
> >     Download DB2 Express C - the FREE version of DB2 express and take
> >     control of your XML. No limits. Just data. Click to get it now.
> >     http://sourceforge.net/powerbar/db2/
> >     _______________________________________________
> >     Jump-pilot-devel mailing list
> >     Jump-pilot-devel@lists.sourceforge.net
> >     <mailto:Jump-pilot-devel@lists.sourceforge.net>
> >     https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >     <https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel>
> >
> >
> >------------------------------------------------------------------------
> >
> >-------------------------------------------------------------------------
> >This SF.net email is sponsored by DB2 Express
> >Download DB2 Express C - the FREE version of DB2 express and take
> >control of your XML. No limits. Just data. Click to get it now.
> >http://sourceforge.net/powerbar/db2/
> >
> >------------------------------------------------------------------------
> >
> >_______________________________________________
> >Jump-pilot-devel mailing list
> >Jump-pilot-devel@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >
> >
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>


-- 
http://amusingprogrammer.blogspot.com/

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to