geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lin Sun <>
Subject Re: geronimo plugin schema (longish)
Date Fri, 20 Jul 2007 02:42:17 GMT
I like the idea in general.  I am wondering how this scenario would work:

After a plugin is published, a user finds it also works with a different 
version of geronimo (without any other code change), so a user would 
modify the plugin's xml file to add the newer version geronimo there. 
  Should the user also change the version of the plugin itself in this case?

Also, any consideration of how plugins can work with geronimo and other 
products who uese geronimo?


Paul McMahan wrote:
> I've been thinking about some changes to the geronimo-plugin schema to 
> make plugin catalogs less verbose and easier to maintain across versions 
> of Geronimo.  The problem with the current schema is that some of the 
> plugin metadata that is sensitive to the geronimo version is grouped in 
> <geronimo-versions> elements, but some is not.
> Plugins are often sensitive to the geronimo version they were developed 
> under since they typically rely on lots of container services.   Besides 
> that, in general plugins only work in the version of geronimo they were 
> exported from (or car plugin version).  So this schema limitation makes 
> it difficult to create one catalog that supports several versions of 
> geronimo without having a lot of redundant plugin entries.  Right now we 
> maintain separate catalogs at for 
> each version of geronimo because of this limitation.
> I attached a proposed schema here :
> Using that new schema a plugin entry would look something like:
>     <plugin>
>             <name/>
>             <category/>
>             <description/>
>             <url/>
>             <author/>
>             <license/>
>             <plugin-module>
>                 <module-id/>
>                 <hash/>
>                 <geronimo-version/>
>                 <jvm-version-version/>
>                 <prerequisite>
>                         <id/>
>                         <resource-type/>
>                         <description/>
>                 </prerequisite>
>                 <dependency/>
>                 <obsoletes/>
>                 <source-repository/>
>             </plugin-module>
>             <plugin-module>
>                  ...
>             </plugin-module>
>     </plugin>
> Note that the metadata that is sensitive to the geronimo version is 
> encapsulated in a <plugin-module> element.  And a single <plugin> can 
> several <plugin-module> elements (e.g. one for each version of geronimo 
> it supports).
> While making this schema change two other things I was considering is 
> factoring the plugin code out of geronimo-system into a separate config 
> and using JAXB to handle the XML processing instead of the sax code it 
> currently uses.    Feedback is welcome.
> Best wishes,
> Paul

View raw message