In-line.

Lin Sun wrote:
Thanks for making the suggestions.   It is always good to hear
feedback and challenge our thinking! :)

Yep, I wish we had more than 4 people actively looking/discussing this :-(


My initial thought of grouping the plugins together was by category,
however I think it has the following limitations -

1. A user can specify his module to any category he likes too, thus it
could interfere with the resulting tree.  For example, a user has a
module that is also categorized as console or development tools or
administration.


Don't see this as an issue, since we control the default repository-list and what goes into the geronimo-plugins.xml for the server and samples. If a user created their own repo (like Liferay) then their plugins would be listed under the "Liferay Repo" instead of the "Geronimo Server Repo" and they could use whatever categories they want.


2. group by category doesn't offer any integration into maven.  As you
know, we are using plugin groups for all of our G assemblies now.


I'm questioning if this "maven integration" is worth the added source complexity. I'm starting to lean heavily towards "No" and wondering if we should remove most of the pluginprofiles for 2.2 and only keep - framework, minimal and jee5. Once we get user feedback on what groupings "are missing" then we can consider adding more.


3. group by category doesn't help with command line install-plugin
command.  Currently you can install a plugin group by using "deploy
install-plugin <plugingroup id>"


It would have to be enhanced, which it greatly needs IMO.

4. group by category doesn't help with "gshell deploy/assemble"
command.   A user is unlikely to have some fancy GUI like tree in a
command line env.

If a user is trying to assemble from cmdline, then they will suffer and should either write a gsh script, use c-m-p or the console.


With plugin groups, you can still group plugins by category.  In fact,
in the install plugin portlet that we allow users to sort plugins by
category, name, etc.   I disabled the sort function in assemble server
portlet as it needs more work but the plugins are sorted by category
right now.

I think I agree with you that the console-xxx plugin group are not
that useful and I think they can be removed after we make most of the
console components optional.   Currently, all these console components
are under application plugins, and I 'm updating their names, desps,
and categories to enable users to  select them easily.    For example,
if a user wants little G tomcat + JMS, he can select web-tomcat, JMS
plugin group, and Console: JMS from application plugins if he wants
console support for JMS.

Lin

On Wed, Oct 8, 2008 at 1:48 PM, Donald Woods <[EMAIL PROTECTED]> wrote:
It seems that most of the functionality now delivered in the profilegroups
could have been implemented by just properly setting the plugin category
attribute to a useful "plugin group" name and use the source repo for the
plugin to denote they are base server plugins vs. Samples vs. a "Console"
plugin from a third-party.

For something like the activemq portlets, we'd just set category=Console.

Then modifying the plugin installer to build a tree of plugin groups and
allow the user to select one or more "groups" of plugins, like console, or
choose specific plugins from within a group, like everything under console
except the activemq portlets.  (We would also add some logic to only select
Tomcat or Jetty plugins based on which is already installed or prompt the
user to choose.)

That would allow us to have one set of plugins (the real ones) and only have
LOGICAL groupings (instead of the physical ones now under plugingroups/)
based on the defined category.  The user would then see something like -

- Apache Geronimo Server repository
|--+ Console
|   |- ActiveMQ Console
|   |- Dojo
|   |- . . .
|
|--+ Web Container
|  |- Tomcat6
|  |- Jetty6
|
. . .

There are still some cases where we'd want to use the new c-m-p support for
not creating a classloader, like using it to generate a "minimal web" and
"full jee5" grouping/profile/template that users could rely on for creating
their own custom assemblies with c-m-p without having to create a complete
assembly build.


-Donald



Lin Sun wrote:
These are the console plugin groups, basically it provides the
required console function for the javaee5 assemblies.   I think the
list suggested the following profiles a while back ago:
JMS
EJB
Web Services
Admin Console
...

Also, I need the console plugin group to construct the javaee5 plugin
groups/assemblies.

Regarding activemq-console-xxx, my initial thought was to include it
in the JMS plugin group, but I realize that you are working on the
optional console and people may not want the JMS console function when
they want JMS function (for example, there is one user trying to add
JMS on top of little G).   When you have your optional console stuff
in, you can remove the optional ones from the console plugin group.

Plugin groups are basically groups of plugins for users to easily
understand and consume them.  They can be used in the following ways:
1. custom server assemblies
2. G server assemblies (framework, javaee5)
3. install plugin group as regular plugin.  For example, a user should
be able to install the JMS plugin group in little G to get little G +
JMS environment.

Lin

On Tue, Oct 7, 2008 at 11:03 PM, Donald Woods <[EMAIL PROTECTED]> wrote:
Why are we recreating the existing console-jetty and console-tomcat as
yet
another plugin?

Also, why are you including optional console plugins like
activemq-console-xxx, which should only be included if the ActiveMQ
plugins
are installed?  By including it here, you're basically pulling in the JMS
plugins.

I'm starting to reconsider why we need plugingroups, if we're going to
have
to recreate dozens of existing plugins just in a slightly different
format
just so we can include them in a special view just for custom server
assemblies....



-Donald


[EMAIL PROTECTED] wrote:
Author: linsun
Date: Tue Oct  7 12:09:59 2008
New Revision: 702586

URL: http://svn.apache.org/viewvc?rev=702586&view=rev
Log:
Add the console-jetty plugin group

Added:
  geronimo/server/trunk/plugingroups/console-jetty/
  geronimo/server/trunk/plugingroups/console-jetty/pom.xml   (with
props)
  geronimo/server/trunk/plugingroups/console-jetty/src/
  geronimo/server/trunk/plugingroups/console-jetty/src/main/
  geronimo/server/trunk/plugingroups/console-jetty/src/main/history/


 
geronimo/server/trunk/plugingroups/console-jetty/src/main/history/dependencies.xml
 (with props)
  geronimo/server/trunk/plugingroups/console-jetty/src/main/plan/

Added: geronimo/server/trunk/plugingroups/console-jetty/pom.xml
URL:

http://svn.apache.org/viewvc/geronimo/server/trunk/plugingroups/console-jetty/pom.xml?rev=702586&view=auto


==============================================================================
--- geronimo/server/trunk/plugingroups/console-jetty/pom.xml (added)
+++ geronimo/server/trunk/plugingroups/console-jetty/pom.xml Tue Oct  7
12:09:59 2008
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    +     http://www.apache.org/licenses/LICENSE-2.0
+    +    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<!-- @version $Rev$ $Date$ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd";>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.geronimo.plugingroups</groupId>
+        <artifactId>plugingroups</artifactId>
+        <version>2.2-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>console-jetty</artifactId>
+    <packaging>car</packaging>
+    <name>Geronimo Plugin Group :: Admin Console Jetty</name>
+
+    <description>
+        This plugin group provides Admin Console Jetty functionality.
+    </description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.geronimo.configs</groupId>
+            <artifactId>ca-helper-jetty</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>agent</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>mconsole-jetty</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>activemq-console-jetty</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>debugviews-console-jetty</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>plancreator-console-jetty</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>plugin-console-jetty</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>sysdb-console-jetty</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+    </dependencies>
+</project>
+

Propchange: geronimo/server/trunk/plugingroups/console-jetty/pom.xml


------------------------------------------------------------------------------
  svn:eol-style = native

Propchange: geronimo/server/trunk/plugingroups/console-jetty/pom.xml


------------------------------------------------------------------------------
  svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugingroups/console-jetty/pom.xml


------------------------------------------------------------------------------
  svn:mime-type = text/xml

Added:

geronimo/server/trunk/plugingroups/console-jetty/src/main/history/dependencies.xml
URL:

http://svn.apache.org/viewvc/geronimo/server/trunk/plugingroups/console-jetty/src/main/history/dependencies.xml?rev=702586&view=auto


==============================================================================
---

geronimo/server/trunk/plugingroups/console-jetty/src/main/history/dependencies.xml
(added)
+++

geronimo/server/trunk/plugingroups/console-jetty/src/main/history/dependencies.xml
Tue Oct  7 12:09:59 2008
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<plugin-artifact
xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2";
xmlns="http://geronimo.apache.org/xml/ns/plugins-1.3";>
+    <module-id>
+        <groupId>org.apache.geronimo.plugingroups</groupId>
+        <artifactId>console-jetty</artifactId>
+        <version>2.2-SNAPSHOT</version>
+        <type>car</type>
+    </module-id>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>plancreator-console-jetty</artifactId>
+        <type>car</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>sysdb-console-jetty</artifactId>
+        <type>car</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>activemq-console-jetty</artifactId>
+        <type>car</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>plugin-console-jetty</artifactId>
+        <type>car</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.configs</groupId>
+        <artifactId>ca-helper-jetty</artifactId>
+        <type>car</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>debugviews-console-jetty</artifactId>
+        <type>car</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>mconsole-jetty</artifactId>
+        <type>car</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>agent</artifactId>
+        <type>car</type>
+    </dependency>
+</plugin-artifact>

Propchange:

geronimo/server/trunk/plugingroups/console-jetty/src/main/history/dependencies.xml


------------------------------------------------------------------------------
  svn:eol-style = native

Propchange:

geronimo/server/trunk/plugingroups/console-jetty/src/main/history/dependencies.xml


------------------------------------------------------------------------------
  svn:keywords = Date Revision

Propchange:

geronimo/server/trunk/plugingroups/console-jetty/src/main/history/dependencies.xml


------------------------------------------------------------------------------
  svn:mime-type = text/xml




Reply via email to