geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Donald Woods <dwo...@apache.org>
Subject Re: [DISCUSS] enhance the assemble server portlet usability
Date Tue, 19 Aug 2008 20:58:59 GMT
Looking good.

Seems that this would have to be part of our regular builds, otherwise 
they would never be maintained if it requires manual editing of files. 
I would like to see a "profiles" directory created in the build tree, 
either as a peer to assemblies or as a child of assemblies.  Also, using 
the c-m-p to build the plugin data form a pom.xml seems a given to me.

I wouldn't worry about Joe's "upgrade scenario" for now, but concentrate 
on how to define profiles, build assemblies from profiles and/or 
applications and how to present all of this in a easy to use fashion.


-Donald



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.
> 
> 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