Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread Aaron Mulder
Also, we need to think about the meaning of "version".  You might
deploy a lot of times between designated versions of an application. 
I'd prefer that we not require that the version be SNAPSHOT if you're
going to do that (because then they really are indistinguishable).  It
would be nice if you could be working on App-1.2.1 and deploy 10 times
and Geronimo internally kept track of 1.2.1 deploy #1 vs 1.2.1 deploy
#2, etc.  I'm not sure how to accomodate that in the
vendor/app/type/version scheme that Maven uses for released builds.

Aaron

On 11/23/05, Aaron Mulder <[EMAIL PROTECTED]> wrote:
> On 11/23/05, David Jencks <[EMAIL PROTECTED]> wrote:
> > First, I think Dain is talking mostly about dependencies here.  In this
> > case if we continue to support the short form you would write
> >
> > yourGroup/yourArtifact/yourVersion/jar
> >
> > rather than
> >
> > yourGroup/jars/yourArtifact-yourVersion.jar
> >
> > which to my untutored eyes looks shorter and simpler.  However, I think
> > encouraging people to use the long form is clearer and leads to less
> > confusion and it can be installed by maven from your project.xml.
>
> But not shorter or simpler than "yourApp" (which I guess is the same
> as "yourArtifact" or maybe "yourArtifact yourVersion").  If you buy
> into the rigor that Maven enforces, then I think the proposal that you
> and Dain are working with is fine.  But I don't want to see Geronimo
> require that rigor of its users, since many of them won't need/want
> it.  At least not a first -- maybe once they discover the wonders
> they'll sign on, but I don't thing many of them are coming pre-sold on
> Maven.
>
> > All simple apps shouldn't need to specify  any parentIds at all in any
> > way, one line or import-style multiline.  The builders insert the
> > parentIds that are needed for that kind of j2ee module to run.  Unless
> > you are doing something unusual like having applications depend on each
> > other this should work.  If it doesn't we probably need to adjust the
> > default parentIds in the builders.
>
> Well, let's say you want your database pool to always be started
> before your application.  What is the recommended way to make that
> happen?
>
> > ...
> > Could you be more explicit about what you are talking about here? So
> > far I have no idea.
>
> , ,  -- they all are of XML type
> "dependencyType", meaning that they take either a single URI or a set
> of Maven chunks.  Yet some of them poitn to repository locations and
> some of them refer to a configId, which may look like a repository
> location but may also not.  I still think we should have two different
> XML types, one for the elements that are repository locations and one
> for the elements that are configIds.  (That would also let us
> establish different rules for each, such as requiring the Maven format
> for things in the repository.)
>
> > If you are using a custom database pool in your app, why wouldn't you
> > include the pool configuration in your plan in one of the numerous
> > supported ways?
>
> Because no other app server really works that way, and all our users
> will be coming from other app servers.  I think our adoption will be
> helped by working in the way that people expect us to work, even if
> it's less than coneceptually ideal.  I support hot deploy and you
> don't for the same reasons.  :)
>
> > Once you get to "sharing between multiple apps" situations, I think
> > these are sufficiently complicated that requiring users to pay
> > attention to who they are (groupId) and how far along their project
> > parts are relative to one another (version) will only help them.
>
> Again, why are you telling the users how to work?  I don't like that
> direction in tools.  Even if you think it would be smarter for the
> user to work in the way you are outlining, why not leave the door open
> to other ways?  If your way is better, I'm sure users will migrate to
> it over time, but since none of them are coming from it, if you insist
> on it, it only makes a very large learning curve.
>
> > Well, once we have a defined and meaningful format for config Ids, we
> > have the possibility of supplying defaults somewhere in the system.
> > For instance, we might tell the deployer that if the groupid is
> > missing, it should default to your company groupId.  Similarly for the
> > version.  I'm not sure how plausible it is to push this into module
> > tags in references, but we might be able to come up with something.  If
> > we continue on our current path of random and meaningless configIds no
> > such defaults are possible.
>
> OK, but again, you're talking about changing the way that people
> operate.  Other servers don't ask that you tell them your company or
> organization so that they can decide how to name your deployments.
> Let's make the easy path easy, and then help guide people to the more
> advanced path later.
>
> Thanks,
>Aaron
>


Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread Aaron Mulder
On 11/23/05, David Jencks <[EMAIL PROTECTED]> wrote:
> First, I think Dain is talking mostly about dependencies here.  In this
> case if we continue to support the short form you would write
>
> yourGroup/yourArtifact/yourVersion/jar
>
> rather than
>
> yourGroup/jars/yourArtifact-yourVersion.jar
>
> which to my untutored eyes looks shorter and simpler.  However, I think
> encouraging people to use the long form is clearer and leads to less
> confusion and it can be installed by maven from your project.xml.

But not shorter or simpler than "yourApp" (which I guess is the same
as "yourArtifact" or maybe "yourArtifact yourVersion").  If you buy
into the rigor that Maven enforces, then I think the proposal that you
and Dain are working with is fine.  But I don't want to see Geronimo
require that rigor of its users, since many of them won't need/want
it.  At least not a first -- maybe once they discover the wonders
they'll sign on, but I don't thing many of them are coming pre-sold on
Maven.

> All simple apps shouldn't need to specify  any parentIds at all in any
> way, one line or import-style multiline.  The builders insert the
> parentIds that are needed for that kind of j2ee module to run.  Unless
> you are doing something unusual like having applications depend on each
> other this should work.  If it doesn't we probably need to adjust the
> default parentIds in the builders.

Well, let's say you want your database pool to always be started
before your application.  What is the recommended way to make that
happen?

> ...
> Could you be more explicit about what you are talking about here? So
> far I have no idea.

, ,  -- they all are of XML type
"dependencyType", meaning that they take either a single URI or a set
of Maven chunks.  Yet some of them poitn to repository locations and
some of them refer to a configId, which may look like a repository
location but may also not.  I still think we should have two different
XML types, one for the elements that are repository locations and one
for the elements that are configIds.  (That would also let us
establish different rules for each, such as requiring the Maven format
for things in the repository.)

> If you are using a custom database pool in your app, why wouldn't you
> include the pool configuration in your plan in one of the numerous
> supported ways?

Because no other app server really works that way, and all our users
will be coming from other app servers.  I think our adoption will be
helped by working in the way that people expect us to work, even if
it's less than coneceptually ideal.  I support hot deploy and you
don't for the same reasons.  :)

> Once you get to "sharing between multiple apps" situations, I think
> these are sufficiently complicated that requiring users to pay
> attention to who they are (groupId) and how far along their project
> parts are relative to one another (version) will only help them.

Again, why are you telling the users how to work?  I don't like that
direction in tools.  Even if you think it would be smarter for the
user to work in the way you are outlining, why not leave the door open
to other ways?  If your way is better, I'm sure users will migrate to
it over time, but since none of them are coming from it, if you insist
on it, it only makes a very large learning curve.

> Well, once we have a defined and meaningful format for config Ids, we
> have the possibility of supplying defaults somewhere in the system.
> For instance, we might tell the deployer that if the groupid is
> missing, it should default to your company groupId.  Similarly for the
> version.  I'm not sure how plausible it is to push this into module
> tags in references, but we might be able to come up with something.  If
> we continue on our current path of random and meaningless configIds no
> such defaults are possible.

OK, but again, you're talking about changing the way that people
operate.  Other servers don't ask that you tell them your company or
organization so that they can decide how to name your deployments. 
Let's make the easy path easy, and then help guide people to the more
advanced path later.

Thanks,
   Aaron


Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread David Jencks


On Nov 23, 2005, at 3:46 PM, Aaron Mulder wrote:


On 11/23/05, Dain Sundstrom <[EMAIL PROTECTED]> wrote:

I know it will make the files much longer, but I'd prefer we drop or
deprecate support for the single line dependency declaration, which
means we require the full format:


I object to doing this.  I really think most users are going to want
to give their applications short and sweet config IDs like "AppName".
OK, yes, that means you can't use the packaging plugin to install
them, but I as a user am totally comfortable with that, and I don't
see why I should have to do something like the huge block below for
every little module I write.  P.S. I also would be opposed to needing
to specify the parentId using 4 attributes.


First, I think Dain is talking mostly about dependencies here.  In this 
case if we continue to support the short form you would write


yourGroup/yourArtifact/yourVersion/jar

rather than

yourGroup/jars/yourArtifact-yourVersion.jar

which to my untutored eyes looks shorter and simpler.  However, I think 
encouraging people to use the long form is clearer and leads to less 
confusion and it can be installed by maven from your project.xml.


All simple apps shouldn't need to specify  any parentIds at all in any 
way, one line or import-style multiline.  The builders insert the 
parentIds that are needed for that kind of j2ee module to run.  Unless 
you are doing something unusual like having applications depend on each 
other this should work.  If it doesn't we probably need to adjust the 
default parentIds in the builders.


Anyone who is doing something complicated enough to require explicitly 
specifying parent ids will probably not mind the extra clarity and 
structure the longer format provides.


So I won't kick and scream too much if you change our server
components to use stuff like that in their own plans, but I will be
pretty grumpy if users are required to use that in order to write any
basic Geronimo plan containing a configId and parentId.  And since
there's no distinguishing between the elements that point to a
location in the repository and the elements that simply take an
abstract URI (another mistake IMHO but David J continues to overrule
me on this one)
Could you be more explicit about what you are talking about here? So 
far I have no idea.




, if you're going to be allowed to name your database
pool "MyPool" and then create an app "MyApp" with "MyPool" as a parent
or dependency, we can't insist that people use the Maven-style format.


If you are using a custom database pool in your app, why wouldn't you 
include the pool configuration in your plan in one of the numerous 
supported ways?


Once you get to "sharing between multiple apps" situations, I think 
these are sufficiently complicated that requiring users to pay 
attention to who they are (groupId) and how far along their project 
parts are relative to one another (version) will only help them.


I think this would all be a lot more palatable if we could think up a
way for a user to use a short name like "MyApp" and we use more large
and explicit naming under the covers but allow the user to do
everything with only "MyApp", but I think that might be challenging.


Well, once we have a defined and meaningful format for config Ids, we 
have the possibility of supplying defaults somewhere in the system.  
For instance, we might tell the deployer that if the groupid is 
missing, it should default to your company groupId.  Similarly for the 
version.  I'm not sure how plausible it is to push this into module 
tags in references, but we might be able to come up with something.  If 
we continue on our current path of random and meaningless configIds no 
such defaults are possible.


thanks
david jencks



Aaron



org.apache.geronimo
kernel
1.0



So I think this format proposal takes care of (3) and (4) and I
already implemented (1) and (2) although with the : separator.  I'm
not sure if this format might cause confusion anywhere between a
resolvable path URI and this more abstract configId format.


It is possible.  Who will actually see it?  If it is just us geronimo
programmers, we should document it.  If it is users, I think we
should think about mitigating the impact.


Are there any other changes of note?


Using the plugins rather than tons of jelly is a big change, but
I'm not sure what else might be a change "of note".  Also for a
while now the plugin-based build has been extracting dependency
info from project.xml rather than requiring you to duplicate it.


Cool.  I was really asking about changes to the internal stuff or to
the plans themselves.

-dain








Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread Aaron Mulder
On 11/23/05, Dain Sundstrom <[EMAIL PROTECTED]> wrote:
> I know it will make the files much longer, but I'd prefer we drop or
> deprecate support for the single line dependency declaration, which
> means we require the full format:

I object to doing this.  I really think most users are going to want
to give their applications short and sweet config IDs like "AppName". 
OK, yes, that means you can't use the packaging plugin to install
them, but I as a user am totally comfortable with that, and I don't
see why I should have to do something like the huge block below for
every little module I write.  P.S. I also would be opposed to needing
to specify the parentId using 4 attributes.

So I won't kick and scream too much if you change our server
components to use stuff like that in their own plans, but I will be
pretty grumpy if users are required to use that in order to write any
basic Geronimo plan containing a configId and parentId.  And since
there's no distinguishing between the elements that point to a
location in the repository and the elements that simply take an
abstract URI (another mistake IMHO but David J continues to overrule
me on this one), if you're going to be allowed to name your database
pool "MyPool" and then create an app "MyApp" with "MyPool" as a parent
or dependency, we can't insist that people use the Maven-style format.

I think this would all be a lot more palatable if we could think up a
way for a user to use a short name like "MyApp" and we use more large
and explicit naming under the covers but allow the user to do
everything with only "MyApp", but I think that might be challenging.

Aaron

> 
> org.apache.geronimo
> kernel
> 1.0
> 
>
> > So I think this format proposal takes care of (3) and (4) and I
> > already implemented (1) and (2) although with the : separator.  I'm
> > not sure if this format might cause confusion anywhere between a
> > resolvable path URI and this more abstract configId format.
>
> It is possible.  Who will actually see it?  If it is just us geronimo
> programmers, we should document it.  If it is users, I think we
> should think about mitigating the impact.
>
> >> Are there any other changes of note?
> >
> > Using the plugins rather than tons of jelly is a big change, but
> > I'm not sure what else might be a change "of note".  Also for a
> > while now the plugin-based build has been extracting dependency
> > info from project.xml rather than requiring you to duplicate it.
>
> Cool.  I was really asking about changes to the internal stuff or to
> the plans themselves.
>
> -dain
>
>


Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread Dain Sundstrom

On Nov 23, 2005, at 4:14 PM, David Jencks wrote:


On Nov 23, 2005, at 2:02 PM, Dain Sundstrom wrote:


On Nov 23, 2005, at 3:27 PM, David Jencks wrote:

Should we change our dependency URIs to the same format?  I'm  
inclined to think we should.  I would prefer to include the type  
(car|jar) for completeness and to distinguish dependencies from  
configIds.


I know it will make the files much longer, but I'd prefer we drop  
or deprecate support for the single line dependency declaration,  
which means we require the full format:



   org.apache.geronimo
   kernel
   1.0



Look in the configs/assemblies builds.  All dependency elements are  
generated by the plugins, and are in this format.


Very nice.  Do we can deprecate the one liner format now, or wait for  
another release?


So I think this format proposal takes care of (3) and (4) and I  
already implemented (1) and (2) although with the : separator.   
I'm not sure if this format might cause confusion anywhere  
between a resolvable path URI and this more abstract configId  
format.


It is possible.  Who will actually see it?  If it is just us  
geronimo programmers, we should document it.  If it is users, I  
think we should think about mitigating the impact.


I'm mostly wondering about jsr-77 object names.  But, we already  
have both meaningless configId uris and, in ear module names, path  
uris for relative position in the ear.  So I'm not sure this would  
introduce any more confusion.


I think the name will be a bit tighter, but will still be pretty  
unreadable for users anyway.  At least we aren't making it worse :)



Are there any other changes of note?


Using the plugins rather than tons of jelly is a big change, but  
I'm not sure what else might be a change "of note".  Also for a  
while now the plugin-based build has been extracting dependency  
info from project.xml rather than requiring you to duplicate it.


Cool.  I was really asking about changes to the internal stuff or  
to the plans themselves.


Well, I'd recommend if we decide to change to this uri format that  
the Repository implementations accept them rather than the current  
path based uris they are accepting.


+1

ConfigIds in plans should all change.  Plans we supply are all (in  
configs build) using (generated) dependencies and imports of the  
long format already.  IMO you should be specifiying all the parents  
using import tags anyway in the long format (this is done in  
configs build as well (as soon as I commit the next cleanup :-)).


+1

I'm starting to think this is doable by 1.0.  It would be nice to  
hear other opinions...


+1

-dain


Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread David Jencks


On Nov 23, 2005, at 2:02 PM, Dain Sundstrom wrote:


On Nov 23, 2005, at 3:27 PM, David Jencks wrote:



On Nov 23, 2005, at 1:12 PM, Dain Sundstrom wrote:


On Nov 23, 2005, at 1:58 PM, David Jencks wrote:

I've investigated this a little bit and think it might be  too big 
a lurch in a new direction for 1.0.  Here are a few of the things 
that would have to change or appear to be problems:


1. constructing the configId from groupId + artifactId + version + 
type.  This is pretty easy.
2. finding stuff in a repo and/or config store from the configId.  
This is fairly easy
3. Constructing the ObjectNames that include the configId in 
J2EEApplication and/or J2EEModule.  This requires quoting the 
configId which is a big pain and is apt to cause  difficulties 
everywhere.
4. We have been using URI for the configIds internally.  I think if 
we use this new format this should change.  The : character appears 
to have a specific meaning in URIs and it is decidedly different 
from what we are meaning by it.  We could perhaps introduce a 
scheme and write
configid:groupId:artifactId:version:type.  I could not tell from a 
bit of research on URIs whether this is consistent with their 
intended semantics.  Does it make sense to have URIs of this form?  
Should we just change our configId type to something else?


At this point I think we need more discussion before we proceed 
along this route.  I have some of it implemented please speak 
up.


My opinion, is we don't make incompatible changes between major 
releases, so if we decide not to do this now, it will be harder to 
do it later.


Anyway, I see your point, so lets talk about what changes you want 
to implement pre-1.0?


If you are changing the configuration ids, I'd like to make sure the 
format is something we can easily parse into groupId, artifactId and 
version.  For example, we could go with:


org.apache.geronimo/j2ee-server/1.0


Should we change our dependency URIs to the same format?  I'm 
inclined to think we should.  I would prefer to include the type 
(car|jar) for completeness and to distinguish dependencies from 
configIds.


I know it will make the files much longer, but I'd prefer we drop or 
deprecate support for the single line dependency declaration, which 
means we require the full format:



   org.apache.geronimo
   kernel
   1.0



Look in the configs/assemblies builds.  All dependency elements are 
generated by the plugins, and are in this format.


So I think this format proposal takes care of (3) and (4) and I 
already implemented (1) and (2) although with the : separator.  I'm 
not sure if this format might cause confusion anywhere between a 
resolvable path URI and this more abstract configId format.


It is possible.  Who will actually see it?  If it is just us geronimo 
programmers, we should document it.  If it is users, I think we should 
think about mitigating the impact.


I'm mostly wondering about jsr-77 object names.  But, we already have 
both meaningless configId uris and, in ear module names, path uris for 
relative position in the ear.  So I'm not sure this would introduce any 
more confusion.





Are there any other changes of note?


Using the plugins rather than tons of jelly is a big change, but I'm 
not sure what else might be a change "of note".  Also for a while now 
the plugin-based build has been extracting dependency info from 
project.xml rather than requiring you to duplicate it.


Cool.  I was really asking about changes to the internal stuff or to 
the plans themselves.


Well, I'd recommend if we decide to change to this uri format that the 
Repository implementations accept them rather than the current path 
based uris they are accepting.


ConfigIds in plans should all change.  Plans we supply are all (in 
configs build) using (generated) dependencies and imports of the long 
format already.  IMO you should be specifiying all the parents using 
import tags anyway in the long format (this is done in configs build as 
well (as soon as I commit the next cleanup :-)).


I'm starting to think this is doable by 1.0.  It would be nice to hear 
other opinions...


thanks
david jencks



-dain





Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread Dain Sundstrom

On Nov 23, 2005, at 3:27 PM, David Jencks wrote:



On Nov 23, 2005, at 1:12 PM, Dain Sundstrom wrote:


On Nov 23, 2005, at 1:58 PM, David Jencks wrote:

I've investigated this a little bit and think it might be  too  
big a lurch in a new direction for 1.0.  Here are a few of the  
things that would have to change or appear to be problems:


1. constructing the configId from groupId + artifactId + version  
+ type.  This is pretty easy.
2. finding stuff in a repo and/or config store from the  
configId.  This is fairly easy
3. Constructing the ObjectNames that include the configId in  
J2EEApplication and/or J2EEModule.  This requires quoting the  
configId which is a big pain and is apt to cause  difficulties  
everywhere.
4. We have been using URI for the configIds internally.  I think  
if we use this new format this should change.  The : character  
appears to have a specific meaning in URIs and it is decidedly  
different from what we are meaning by it.  We could perhaps  
introduce a scheme and write
configid:groupId:artifactId:version:type.  I could not tell from  
a bit of research on URIs whether this is consistent with their  
intended semantics.  Does it make sense to have URIs of this  
form?  Should we just change our configId type to something else?


At this point I think we need more discussion before we proceed  
along this route.  I have some of it implemented please speak  
up.


My opinion, is we don't make incompatible changes between major  
releases, so if we decide not to do this now, it will be harder to  
do it later.


Anyway, I see your point, so lets talk about what changes you want  
to implement pre-1.0?


If you are changing the configuration ids, I'd like to make sure  
the format is something we can easily parse into groupId,  
artifactId and version.  For example, we could go with:


org.apache.geronimo/j2ee-server/1.0


Should we change our dependency URIs to the same format?  I'm  
inclined to think we should.  I would prefer to include the type  
(car|jar) for completeness and to distinguish dependencies from  
configIds.


I know it will make the files much longer, but I'd prefer we drop or  
deprecate support for the single line dependency declaration, which  
means we require the full format:



   org.apache.geronimo
   kernel
   1.0


So I think this format proposal takes care of (3) and (4) and I  
already implemented (1) and (2) although with the : separator.  I'm  
not sure if this format might cause confusion anywhere between a  
resolvable path URI and this more abstract configId format.


It is possible.  Who will actually see it?  If it is just us geronimo  
programmers, we should document it.  If it is users, I think we  
should think about mitigating the impact.



Are there any other changes of note?


Using the plugins rather than tons of jelly is a big change, but  
I'm not sure what else might be a change "of note".  Also for a  
while now the plugin-based build has been extracting dependency  
info from project.xml rather than requiring you to duplicate it.


Cool.  I was really asking about changes to the internal stuff or to  
the plans themselves.


-dain



Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread David Jencks


On Nov 23, 2005, at 1:12 PM, Dain Sundstrom wrote:


On Nov 23, 2005, at 1:58 PM, David Jencks wrote:

I've investigated this a little bit and think it might be  too big a 
lurch in a new direction for 1.0.  Here are a few of the things that 
would have to change or appear to be problems:


1. constructing the configId from groupId + artifactId + version + 
type.  This is pretty easy.
2. finding stuff in a repo and/or config store from the configId.  
This is fairly easy
3. Constructing the ObjectNames that include the configId in 
J2EEApplication and/or J2EEModule.  This requires quoting the 
configId which is a big pain and is apt to cause  difficulties 
everywhere.
4. We have been using URI for the configIds internally.  I think if 
we use this new format this should change.  The : character appears 
to have a specific meaning in URIs and it is decidedly different from 
what we are meaning by it.  We could perhaps introduce a scheme and 
write
configid:groupId:artifactId:version:type.  I could not tell from a 
bit of research on URIs whether this is consistent with their 
intended semantics.  Does it make sense to have URIs of this form?  
Should we just change our configId type to something else?


At this point I think we need more discussion before we proceed along 
this route.  I have some of it implemented please speak up.


My opinion, is we don't make incompatible changes between major 
releases, so if we decide not to do this now, it will be harder to do 
it later.


Anyway, I see your point, so lets talk about what changes you want to 
implement pre-1.0?


If you are changing the configuration ids, I'd like to make sure the 
format is something we can easily parse into groupId, artifactId and 
version.  For example, we could go with:


org.apache.geronimo/j2ee-server/1.0


Should we change our dependency URIs to the same format?  I'm inclined 
to think we should.  I would prefer to include the type (car|jar) for 
completeness and to distinguish dependencies from configIds.


So I think this format proposal takes care of (3) and (4) and I already 
implemented (1) and (2) although with the : separator.  I'm not sure if 
this format might cause confusion anywhere between a resolvable path 
URI and this more abstract configId format.


Are there any other changes of note?


Using the plugins rather than tons of jelly is a big change, but I'm 
not sure what else might be a change "of note".  Also for a while now 
the plugin-based build has been extracting dependency info from 
project.xml rather than requiring you to duplicate it.


thanks
david jencks



-dain





Re: Possible problems with maven-style configIds WAS: Warning of change in configId format

2005-11-23 Thread Dain Sundstrom

On Nov 23, 2005, at 1:58 PM, David Jencks wrote:

I've investigated this a little bit and think it might be  too big  
a lurch in a new direction for 1.0.  Here are a few of the things  
that would have to change or appear to be problems:


1. constructing the configId from groupId + artifactId + version +  
type.  This is pretty easy.
2. finding stuff in a repo and/or config store from the configId.   
This is fairly easy
3. Constructing the ObjectNames that include the configId in  
J2EEApplication and/or J2EEModule.  This requires quoting the  
configId which is a big pain and is apt to cause  difficulties  
everywhere.
4. We have been using URI for the configIds internally.  I think if  
we use this new format this should change.  The : character appears  
to have a specific meaning in URIs and it is decidedly different  
from what we are meaning by it.  We could perhaps introduce a  
scheme and write
configid:groupId:artifactId:version:type.  I could not tell from a  
bit of research on URIs whether this is consistent with their  
intended semantics.  Does it make sense to have URIs of this form?   
Should we just change our configId type to something else?


At this point I think we need more discussion before we proceed  
along this route.  I have some of it implemented please speak up.


My opinion, is we don't make incompatible changes between major  
releases, so if we decide not to do this now, it will be harder to do  
it later.


Anyway, I see your point, so lets talk about what changes you want to  
implement pre-1.0?


If you are changing the configuration ids, I'd like to make sure the  
format is something we can easily parse into groupId, artifactId and  
version.  For example, we could go with:


org.apache.geronimo/j2ee-server/1.0

Are there any other changes of note?

-dain