You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Paul McMahan (JIRA)" <ji...@apache.org> on 2007/01/19 19:19:30 UTC

[jira] Created: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Enhance plugin schema to allow for multiple versions of a plugin
----------------------------------------------------------------

                 Key: GERONIMO-2757
                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
             Project: Geronimo
          Issue Type: Improvement
      Security Level: public (Regular issues)
          Components: Plugins
    Affects Versions: 2.0
            Reporter: Paul McMahan


plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:

<plugin>
    <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
    <geronimo-version>1.1</geronimo-version>
    <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
    [...]
</plugin>
<plugin>
    <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
    <geronimo-version>1.2</geronimo-version>
    <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
    [...]
</plugin>
<plugin>
    <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
    <geronimo-version>2.0</geronimo-version>
    <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
    [...]
</plugin>
<default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
<default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
<default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>

Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.

Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :

<plugin>
    <geronimo-version version="1.1">
        <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
        <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
    </geronimo-version>
    <geronimo-version version="1.2">
        <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
        <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
    </geronimo-version>
    <geronimo-version version="2.0">
        <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
        <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
    </geronimo-version>
    [...]
</plugin>

Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.

Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Re: [jira] Created: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by Jason Warner <ja...@gmail.com>.
Worked perfectly.  Thanks, again.

On 1/19/07, Kevan Miller <ke...@gmail.com> wrote:
>
>
> On Jan 19, 2007, at 2:57 PM, Jason Warner wrote:
>
> > My jira username is jawarner.  Thanks, Kevan
>
> OK. You should have "contributor" access to our Jira database. Let us
> know if you have any problems.
>
> --kevan
>
>

Re: [jira] Created: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by Kevan Miller <ke...@gmail.com>.
On Jan 19, 2007, at 2:57 PM, Jason Warner wrote:

> My jira username is jawarner.  Thanks, Kevan

OK. You should have "contributor" access to our Jira database. Let us  
know if you have any problems.

--kevan


Re: [jira] Created: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by Jason Warner <ja...@gmail.com>.
My jira username is jawarner.  Thanks, Kevan

Jason

On 1/19/07, Kevan Miller <ke...@gmail.com> wrote:
>
>
> On Jan 19, 2007, at 2:40 PM, Jason Warner wrote:
>
> > I have been looking into this issue and would like to continue
> > doing so.  I seem to lack the ability to assign jira's to myself,
> > though.  How would I go about gaining this ability?  Thanks.
>
> Jason,
> That's great. What's your jira username?
>
> --kevan
>
>
>

Re: [jira] Created: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by Kevan Miller <ke...@gmail.com>.
On Jan 19, 2007, at 2:40 PM, Jason Warner wrote:

> I have been looking into this issue and would like to continue  
> doing so.  I seem to lack the ability to assign jira's to myself,  
> though.  How would I go about gaining this ability?  Thanks.

Jason,
That's great. What's your jira username?

--kevan



Re: [jira] Created: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by Jason Warner <ja...@gmail.com>.
I have been looking into this issue and would like to continue doing so.  I
seem to lack the ability to assign jira's to myself, though.  How would I go
about gaining this ability?  Thanks.

Jason Warner

[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Donald Woods (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12507122 ] 

Donald Woods commented on GERONIMO-2757:
----------------------------------------

Second patch applied to trunk as revision 549707.  Thanks Jason.


> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Paul McMahan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12502358 ] 

Paul McMahan commented on GERONIMO-2757:
----------------------------------------

donald this patch is not ready to apply.  it does not contain the changes necessary for the admin console.  I have discussed with Jason and he is going to provide a new patch

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Donald Woods
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Warner updated GERONIMO-2757:
-----------------------------------

    Attachment: geronimo-2757.patch

Here's the latest patch with two known bugs fixed.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Paul McMahan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul McMahan resolved GERONIMO-2757.
------------------------------------

    Resolution: Fixed

The work done so far in this JIRA partially implements the needed functionality.  The remaining functionality will be implemented in GERONIMO-3330.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Export.patch, Geronimo-2757ExportSimplified.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Warner reassigned GERONIMO-2757:
--------------------------------------

    Assignee: Jason Warner

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Warner updated GERONIMO-2757:
-----------------------------------

    Attachment: Geronimo-2757.patch

Forgot to do an svn add when creating the original patch.  The required file should now be included in the patch.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>         Attachments: Geronimo-2757.patch, Geronimo-2757.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Donald Woods (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Donald Woods resolved GERONIMO-2757.
------------------------------------

    Resolution: Fixed

Jason, I'm going to close this issue, so if there are additional patches to apply, please reopen or create a new JIRA.  Thanks.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Donald Woods (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Donald Woods reopened GERONIMO-2757:
------------------------------------


A Console exported geronimo-plugin.xml does not contain a <geronimo-versions> element and the plugin installer fails without it.

Also we should consider supplying a default set of download repositories in the portlet for users to accept or edit -
http://geronimo.apache.org/plugins/geronimo-2.0/repository/
http://people.apache.org/repo/m2-incubating-repository/
http://www.ibiblio.org/maven2/


> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12510733 ] 

Jason Warner commented on GERONIMO-2757:
----------------------------------------

I took a quick look through the export code and I see now why it's not including the geronimo versions element.  I'll make some changes and then a post a patch.

In regards to the repositories,  I think that's a good idea.  I'll see if I can get something working with that while I'm digging around in that code.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Paul McMahan (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul McMahan closed GERONIMO-2757.
----------------------------------


> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Export.patch, Geronimo-2757ExportSimplified.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Donald Woods (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Donald Woods updated GERONIMO-2757:
-----------------------------------

       Patch Info: [Patch Available]
    Fix Version/s: 2.0-M7
         Assignee: Donald Woods  (was: Jason Warner)

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Donald Woods
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Paul McMahan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512138 ] 

Paul McMahan commented on GERONIMO-2757:
----------------------------------------

thanks for the patch Jason.  after applying it I'm concerned that the export portlet will be overwhelming to the average user because of the 18 new inputs for version.   I think the expanded capabilities of the <geronimo-versions> element will be mostly needed by repository catalogs and probably not for individually exported plugins.    if a simplified UI can support the most common scenarios then I think its OK to rely on the user to crack open the exported car and edit the geronimo-plugin.xml for more advanced scenarios.  so I wonder can the plugin export portlet be simplified to only prompt for one geronimo-version and also compress the multiple inputs for it? 

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Export.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Paul McMahan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12467095 ] 

Paul McMahan commented on GERONIMO-2757:
----------------------------------------

Can backwards compatibility be maintained in Geronimo by detecting the schema version and processing the plugin XML files accordingly?

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Paul McMahan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12467392 ] 

Paul McMahan commented on GERONIMO-2757:
----------------------------------------

It's true that the catalogs at http://geronimo.apache.org/plugins could be consolidated in parallel with this change.  However, there are other catalogs maintained outside of ASF that may or may not get updated or consolidated.   Two examples are
  http://geronimoplugins.com/repository/geronimo-1.1/geronimo-plugins.xml
  http://geronimo.liferay.com/plugins/geronimo-plugins.xml

Geronimo plugins have been pretty widely publicized so there are probably other non-ASF catalogs as well.  So it would be good if the plugin installer gbean could maintain backwards compatibility with those catalogs.  I agree that two subpaths in the code is not ideal.  Perhaps this could be accomplished by extracting the schema sensitive portions of the plugin installer gbean out into an interface, and creating separate implementations for the old and new schema types.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Donald Woods (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Donald Woods updated GERONIMO-2757:
-----------------------------------

    Assignee: Jason Warner  (was: Donald Woods)

I needed this patch applied so I could then integrate other plugin fixes/enhancements and not break this patch file.
Part 1 - Committed revision 545320 in trunk.
Applied the May 16th patch and updated ExportConfigHandler to not cause a NPE due to optional attributes under the new geronimo-version element.
Jason, assigning back to you for the other required Console updates.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Paul McMahan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12512258 ] 

Paul McMahan commented on GERONIMO-2757:
----------------------------------------

Thanks for the patch Jason!  committed in rev 555767.    I think the last remaining test is to try out the new schema with the geronimo-2.0 plugin catalog.  I will try that and post any followup questions here.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Export.patch, Geronimo-2757ExportSimplified.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12467208 ] 

Jason Warner commented on GERONIMO-2757:
----------------------------------------

I looked into this a little bit.  I think it is feasible, but to do this would require two subpaths for the code to follow depending on which version of the schema to use.  Also, this would require keeping the old plugin repositories which would originally have been consolidated into one file.  If this is done, it would require one more repository then we already have for the consolidated repository.  With that said, this can definitely be done if there is a need for it.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Warner updated GERONIMO-2757:
-----------------------------------

    Attachment: Geronimo-2757Export.patch

This patch fixes the export so that the geronimo-versions element is now included.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Export.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Warner updated GERONIMO-2757:
-----------------------------------

    Attachment: Geronimo-2757.patch

The plugin feature has been updated to use a <geronimo-versions> element that allows for specifying specific prereqs and repos for each version.  The changes mantain backwards compatibility so as not to affect exisiting xml documents.  The new xml uses a name of plugins-1.2.xsd and a corresponding namespace.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>         Attachments: Geronimo-2757.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12466893 ] 

Jason Warner commented on GERONIMO-2757:
----------------------------------------

When originally tackling this issue, my hope was to maintain backwards
compatibilty such that any existing xml files would not need to be modified
to work with this schema.  I have since determined that this is most likely
not possible.  To accomplish the goals of this jira, the current geronimo
version element will need to be changed from this:

<geronimo-version>"version"</geronimo-version>

to this:


<geronimo-version version="version">
       ....
       // version specific info
       ...
</geronimo-version>

This would require changing the plugin catalogs to function with the new
geronimo-version element.  This should not be a problem as they were going
to ideally be consolidated into one catalog after this change was finished.
My question is whether this change would has a negative effect on anyone
else?  If so, can someone think of a different way to do this that would
retain backwards compatibility?

Thanks,

Jason




> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Paul McMahan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489143 ] 

Paul McMahan commented on GERONIMO-2757:
----------------------------------------

Is there a new plugins-1.2.xsd?  If so then can you attach a new patch that includes that file or attach it separately?  (new patch is preferable)

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>         Attachments: Geronimo-2757.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Donald Woods (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12510763 ] 

Donald Woods commented on GERONIMO-2757:
----------------------------------------

Cool!  Thanks.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12468486 ] 

Jason Warner commented on GERONIMO-2757:
----------------------------------------

After running through this again I came up with a different idea.  I found that the schemas to validate against are actually in the plugin-installer code and not in the xml document.  This would make it difficult to determine which schema a document is using since it's not explicitly stated.  I was thinking that we could modify this code to validate against the new and the old schema.  Since the geronimo-version element is optional in both schemas, the new schema could be modified slightly so that its geronimo-version element has a different name.  This way, old xml's can be left alone and still work fine but new xml's can use the new geronimo-version element and also work.  This would require that the given xml document either use the new way or the old way for each version.  By this I mean that for each version a user wishes to have in the xml, you can either use the new way or the old way but not both.  The code would use whichever geronimo-version element matched the running version but would be unsure of what to do if two geronimo-version elements existed for the same version.  

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0
>            Reporter: Paul McMahan
>         Assigned To: Jason Warner
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Warner updated GERONIMO-2757:
-----------------------------------

    Attachment: Geronimo-2757Update.patch

Patch added that incorporates changes to the Installer UI, that ability to add more than one source-repository to a given geronimo-versions element, and a fix for a big that resulted in prerequisites being displayed twice.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (GERONIMO-2757) Enhance plugin schema to allow for multiple versions of a plugin

Posted by "Jason Warner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/GERONIMO-2757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Warner updated GERONIMO-2757:
-----------------------------------

    Attachment: Geronimo-2757ExportSimplified.patch

I attached another patch that accomplishes the same goal as the previous patch for the export functionality.  This time, though, the UI is greatly simplified.  This results in more simplified functionality for the geronimo-plugin.xml in that only one version can be specified.

> Enhance plugin schema to allow for multiple versions of a plugin
> ----------------------------------------------------------------
>
>                 Key: GERONIMO-2757
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2757
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: Plugins
>    Affects Versions: 2.0-M5
>            Reporter: Paul McMahan
>            Assignee: Jason Warner
>             Fix For: 2.0-M7
>
>         Attachments: geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757.patch, Geronimo-2757Export.patch, Geronimo-2757ExportSimplified.patch, Geronimo-2757Update.patch
>
>
> plugins-1.1.xsd currently allows for a single version of a plugin to be described from within a <plugin> element.   For example, if there were a different version of plugin for each version of geronimo then the plugin catalog would like something like:
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>     <geronimo-version>1.1</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>     <geronimo-version>1.2</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     [...]
> </plugin>
> <plugin>
>     <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>     <geronimo-version>2.0</geronimo-version>
>     <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     [...]
> </plugin>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.1</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-1.2</default-repository>
> <default-repository>http://geronimo.apache.org/plugins/geronimo-2.0</default-repository>
> Plugins are usually not compatible across versions of Geronimo for various reasons, probably the most prominent of which is Geronimo's reliance on serialized java objects in CAR files.  Browsing a catalog that contains a <plugin> element for each version of Geronimo's plugins from the  admin console or from the CLI  would be confusing because of the many (seemingly redundant) entries.  Therefore the collection of Geronimo plugins is distributed across a set of catalogs, one per version of Geronimo, and each version of Geronimo points at a version specific plugin catalog.
> Modifying the plugin schema so that a <plugin> element can allow the plugin's module-id and source-repository to depend on the <geronimo-version> would allow there to be much fewer entries in a consolidated plugin catalog.  A plugin catalog that is created using this modified schema might look something like (this is just a sample) :
> <plugin>
>     <geronimo-version version="1.1">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.1/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.1</source-repository>
>     </geronimo-version>
>     <geronimo-version version="1.2">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/1.2/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-1.2</source-repository>
>     </geronimo-version>
>     <geronimo-version version="2.0">
>         <module-id>org.apache.geronimo.configs/ca-helper-tomcat/2.0/car</module-id>
>         <source-repository>http://geronimo.apache.org/plugins/geronimo-2.0</source-repository>
>     </geronimo-version>
>     [...]
> </plugin>
> Also, for this to work a customized list of <prerequisite> elements would probably have to be supported inside the <geronimo-version> element as well, since those might also be version specific.
> Once this improvement is in place it will be easier to maintain Geronimo's plugin collection since each version of Geronimo won't require a separate catalog.  Also it will be easier for end users and other external sources to refer to Geronimo's plugin catalog since the repository URL will no longer be version specific.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.