geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: [DISCUSS] enhance the assemble server portlet usability
Date Tue, 19 Aug 2008 20:38:04 GMT

On Aug 19, 2008, at 1:20 PM, Lin Sun wrote:

> I have been thinking a bit more on how we achieve this.   Here is my
> idea and I welcome your input -
>
> So we have a need to allow users to install groups of plugins(function
> profile), instead of individual plugins.   Install individual plugins
> are nice for standalone apps, but for system modules, I think it would
> be better to allow users to install groups of plugins as functional
> profiles(unless the user is an expert user).    What we need is to
> expose the groups of plugins for certain functions available to our
> users and allow them to select the ones of their interest to build the
> customer server.
>
> I am proposing in addition to store plugin metadata of each plugin in
> the plugin catalog, we could also host installable groups of plugins
> information there (or in a separate catalog file).   For example, for
> a function such as Web (same as little G) that has been discussed in
> above posts, we could have the following plugin metadata -
>
> <geronimo-plugin xmlns="http://geronimo.apache.org/xml/ns/plugins-1.3"
> xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2">
>    <name>Geronimo Assemblies :: Minimal + Tomcat</name>
>    <category>WEB Profile</category>
>    <profile>true</profile>
>    <description>A minimal Geronimo server (Little-G) assembly using
> the Tomcat web-container.</description>
>    <url>http://www.apache.org/</url>
>    <author>Apache Software Foundation</author>
>    <license osi-approved="true">The Apache Software License, Version
> 2.0</license>
>    <plugin-artifact>
>        <module-id>
>            <groupId>org.apache.geronimo.assemblies</groupId>
>            <artifactId>geronimo-tomcat6-minimal</artifactId>
>            <version>2.2-SNAPSHOT</version>
>            <type>car</type>
>        </module-id>
>        <geronimo-version>2.2-SNAPSHOT</geronimo-version>
>        <jvm-version>1.5</jvm-version>
>        <jvm-version>1.6</jvm-version>
>
>        <dependency>
>            <groupId>org.apache.geronimo.assemblies</groupId>
>            <artifactId>geronimo-boilderplate-minimal</artifactId>
>            <version>2.2-SNAPSHOT</version>
>            <type>jar</type>
>        </dependency>
>
>        <dependency start="false">
>            <groupId>org.apache.geronimo.framework</groupId>
>            <artifactId>upgrade-cli</artifactId>
>            <version>2.2-SNAPSHOT</version>
>            <type>car</type>
>        </dependency>
>
>        <dependency start="true">
>            <groupId>org.apache.geronimo.framework</groupId>
>            <artifactId>rmi-naming</artifactId>
>            <version>2.2-SNAPSHOT</version>
>            <type>car</type>
>        </dependency>
>
>        <dependency start="true">
>            <groupId>org.apache.geronimo.framework</groupId>
>            <artifactId>j2ee-security</artifactId>
>            <version>2.2-SNAPSHOT</version>
>            <type>car</type>
>        </dependency>
>
>        <dependency start="true">
>            <groupId>org.apache.geronimo.configs</groupId>
>            <artifactId>tomcat6</artifactId>
>            <version>2.2-SNAPSHOT</version>
>            <type>car</type>
>        </dependency>
> ...
>
> When a plugin is a profile, it means it just contains a group of
> geronimo plugin dependencies that are installable and can perform
> certain functions.  By installing it, it will simply install the
> dependency plugins.

A couple of comments...

First, I thought you could already do this by leaving out the  
moduleId.... you'd just get the dependencies installed.  I might be  
wrong and this functionality might have broken along the way.  Second,  
with this set of plugins all you need to specify is tomcat and upgrade- 
cli, the others should get pulled in via transitive dependencies  I  
suspect you also want tomcat-deployer and jasper and I'm pretty sure  
you need to list the gshell plugins separately to get a working server.

thanks
david jencks

>
>
> Questions -
>
> How do we build this profile type of plugin?   We could build them
> manually initially to try things but maybe c-m-p could be used here.
> How do we install this profile type of plugin?  I think we could
> leverage the pluginInstallerGBean to install it...when profile is
> true, we just download the dependencies.
> How/Where should we make this file avail?   We could make this file
> avail in geronimo-plugins.xml (or another catalog file in repo) and
> with our server assembly (one assembly contains the plugin profiles it
> have).  When building customer server, when load all the plugins that
> are profile and ask users to pick which ones they want.   If we have a
> framework that can install geronimo plugins, a user can just download
> the framework and pick from our apache repo on which plugin profiles
> they want to build their geronimo server.
> How are we handle the upgrade scenarios Joe mentioned?   No idea
> yet... I think this is a rather complicated scenario.
>
> Thanks,
>
> Lin


Mime
View raw message