Re: RE: Scope/Phasing

2003-11-09 Thread aok123
> [snip]
> > I don't intend to inflame anyone so please don't take it in the wrong 
> way 
> > but the Maven PMC sounds like a closed society to me.  The maven-new 
> details
> > 
> > are hidden pending some PMC conclusions.  The Wagon details are hidden 
> > as well again pending PMC conclusions.  There just seems to me to be an 
> > extreme amount of caution/secrecy with regard to involving the community 
> 
> > which counteracts the benefits of having one in the first place.
> [snip]
> 
> Can we please keep conjecture and flame-bait to private email?

Dion, this was certainly not my intention and I appologize for 
comming across that way - that was the reason for the disclaimer
at the begining.

Sincerely,
Alex 




Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Roy T. Fielding
Small note - some of the participants on the [EMAIL PROTECTED] are
discussing the actual requirements - which from my (and other) point(s)
of view go beyond a file-system http protocol cut-and-dried 
implementation
solution.  Some consider this area to be much more than an HTTP 
download
handler. In fact - if the scope of a repository model were limited to
that then would would be missing a really big opportunity to do this in
a way is of real value to multiple projects.  Yes - you can assume some
simplistic models down low - but hopefully this is not just about
plumbing but also about addressing the requirements across different
abstractions that will ultimately ensure that semantic assumptions are
consistent across multiple repository-enabled applications.
The requirement is that ASF-owned software be distributed in an 
efficient
(for our costs), reliable (for our maintainers), and user-friendly way.
Feel free to consider any number of designs that may accomplish that
requirement, but don't mistake a design opinion for a requirement.
In particular, do not under any circumstances hold up implementation
of the repository in pursuit of perfection -- a current implementation
can be replaced at any time we see fit.

Just trying to clarify, is this correct?
I hope not - it would not meet Avalon project requirements relative to
repository-aware applications. I much prefer Roy's terminology "a 
single
storage facility to look like a repository with multiple interfaces".
Roy's statement *does* encompass the scope of requirements that I see 
as
relevant.
Hello?  Avalon project requirements do not encompass repository needs,
and certainly do not define them.  Avalon users might prefer a given
interface to the repository, which I assume the Avalon community is more
than capable of defining and developing on their own.  The commonality
that is required by repository is determining the easiest way for all
of our projects to provide artifacts and their authenticity-proving
signatures such that the general public can get what they want, when
they want, at a minimum cost to us.  The tools that retrieve from the
repository are not within its scope.
Anything (and I do mean anything) beyond that is a software project
that the ASF has not authorized, and certainly won't be developed here
unless it is within a PMC.  People are certainly welcome to propose
such a project on incubator, but that is not the repository project.
Repository is a task to be accomplished!
Roy


Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Stephen McConnell

Roy T. Fielding wrote:
Small note - some of the participants on the [EMAIL PROTECTED] are
discussing the actual requirements - which from my (and other) point(s)
of view go beyond a file-system http protocol cut-and-dried 
implementation
solution.  Some consider this area to be much more than an HTTP download
handler. In fact - if the scope of a repository model were limited to
that then would would be missing a really big opportunity to do this in
a way is of real value to multiple projects.  Yes - you can assume some
simplistic models down low - but hopefully this is not just about
plumbing but also about addressing the requirements across different
abstractions that will ultimately ensure that semantic assumptions are
consistent across multiple repository-enabled applications.

The requirement is that ASF-owned software be distributed in an efficient
(for our costs), reliable (for our maintainers), and user-friendly way. 

I would add one more requirement to above statement - namely 
"machine-friendly".  There is an emerging requirement for application 
driven downloading that has the potential to significantly exceed the 
classic browser driven requirements that the ASF is addressing today.  
This has a direct impact on ASF costs, reliability, and utility.


Feel free to consider any number of designs that may accomplish that
requirement, but don't mistake a design opinion for a requirement.
In particular, do not under any circumstances hold up implementation
of the repository in pursuit of perfection -- a current implementation
can be replaced at any time we see fit.
Just trying to clarify, is this correct?
I hope not - it would not meet Avalon project requirements relative to
repository-aware applications. I much prefer Roy's terminology "a single
storage facility to look like a repository with multiple interfaces".
Roy's statement *does* encompass the scope of requirements that I see as
relevant.

Hello?  Avalon project requirements do not encompass repository needs,
and certainly do not define them.

I don't think that I have suggested this. Avalon requirements deal with 
at least three layers of abstraction with respect to server side 
facilities.  At the lowest level these requirements are rather close to 
the requirements you have outlined above.  As far as second and third 
level requirements are concerned - these place functional requirements 
on the respective underlying facilities.  My objective are rather simple 
- the basic facility should be a platform on which higher level 
facilities can be established without resorting to inefficiencies or 
workarounds.

I should also point out that Avalon is not alone is this respect. Other 
projects are evolving towards repository-awareness. Identifying and 
collecting those requirements (many of which are project/application 
specific) are central to the delivery of a basic repository that is 
extendible to meet the needs of a significant usage model (in terms of 
ASF near-term impact).


Avalon users might prefer a given
interface to the repository, which I assume the Avalon community is more
than capable of defining and developing on their own.  
Clearly yes.  The work within Avalon has *done* exactly this and as a 
result - issues with current approaches have discovered and near term 
requirements have been identified.  These aspects are the things that 
Avalon has to contribute to general model.  I'll restate my earlier 
comment - the simplistic http + file layout assumptions "do not meet 
Avalon project requirements relative to repository-aware applications".

In fact this is probably the key point - is this initiative about 
dealing with ASF download requirements, or, does this initiative address 
the emerging and potentially much larger repository aware application 
scenario?  If this is simply about safe downloading then my assertions 
are clearly inappropriate.


The commonality
that is required by repository is determining the easiest way for all
of our projects to provide artifacts and their authenticity-proving
signatures such that the general public can get what they want, when
they want, at a minimum cost to us.  The tools that retrieve from the
repository are not within its scope. 

Just to clarify - I completely agree that the development of tools 
*using* a repository are out of scope.  However - these very same tools 
(at least those that exist today) are in my opinion *totally within 
scope* in terms of establishing near term requirements on the ASF and 
the repository solutions the ASF provides.

Anything (and I do mean anything) beyond that is a software project
that the ASF has not authorized, and certainly won't be developed here
unless it is within a PMC.  People are certainly welcome to propose
such a project on incubator, but that is not the repository project.
Repository is a task to be accomplished!

Relative to present or short-term needs?
Please note that this is not an argumentative question.  It is a 
question concer

Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Jason van Zyl
On Sat, 2003-11-08 at 21:47, Stephen McConnell wrote:
> Roy T. Fielding wrote:
> 
> >> Small note - some of the participants on the [EMAIL PROTECTED] are
> >> discussing the actual requirements - which from my (and other) point(s)
> >> of view go beyond a file-system http protocol cut-and-dried 
> >> implementation
> >> solution.  Some consider this area to be much more than an HTTP download
> >> handler. In fact - if the scope of a repository model were limited to
> >> that then would would be missing a really big opportunity to do this in
> >> a way is of real value to multiple projects.  Yes - you can assume some
> >> simplistic models down low - but hopefully this is not just about
> >> plumbing but also about addressing the requirements across different
> >> abstractions that will ultimately ensure that semantic assumptions are
> >> consistent across multiple repository-enabled applications.
> >
> >
> > The requirement is that ASF-owned software be distributed in an efficient
> > (for our costs), reliable (for our maintainers), and user-friendly way. 
> 
> 
> I would add one more requirement to above statement - namely 
> "machine-friendly".  There is an emerging requirement for application 
> driven downloading that has the potential to significantly exceed the 
> classic browser driven requirements that the ASF is addressing today.  
> This has a direct impact on ASF costs, reliability, and utility.
> 

I have challenged you to give me a scenerio that I can't satisfy with
something like the current Maven repository. Instead you drone on ad
nauseum about the theoretical. Let's have a concrete example.

I don't want to read your email essays and I don't want to listen to you
foisting your solutions on us under the guise of trying to satisfy
requirements i.e. we don't need Merlin+LDAP for the base-line repository
so give it a rest because that's exactly what the initial messages
sounded like to me.

I clearly expressed and stated that any required information can be
stored in the repository as ancillary artifacts which can be processed
in application specific ways.

The goal is to remain simple while being able satisfy all future
requirements. I am willing to show you over course of next week with a
simple example using Plexus that I can use what exists to create a
"Repository Aware Application".

If you can actually provide a concrete use case that isn't wildly far
fetched and shows that something akin to the Maven repository doesn't
satisfy your requirements then I will listen to you. I am not willing to
accept your long winded tomes of techno babble on the theoretical
abstractions of  the all singing, all dancing repository.

As Roy state the repository can evolve and starting simple is definitely
the right way to start. One of my favourite quotes is from "Patterns for
Evolving Frameworks" by Don Roberts and Ralph Johnson in PLoP volume 3:


People develop abstractions by generalizing from concrete examples.
Every attempt to determine the correct abstractions on paper without
actually developing a running system is doomed to failure. No one is
that smart. A framework is a resuable design, so you develop it by
looking at the things it is supposed to be designed of. The more
examples you look at, the more general your framework will be.


So please lets not stray into the abstract gobblygook and stay focused
on concrete examples.

-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Stephen McConnell

Jason van Zyl wrote:
On Sat, 2003-11-08 at 21:47, Stephen McConnell wrote:
 

Roy T. Fielding wrote:
   

Small note - some of the participants on the [EMAIL PROTECTED] are
discussing the actual requirements - which from my (and other) point(s)
of view go beyond a file-system http protocol cut-and-dried 
implementation solution.  Some consider this area to be much more than 
an HTTP download handler. In fact - if the scope of a repository model 
were limited to that then would would be missing a really big 
opportunity to do this in a way is of real value to multiple projects.  
Yes - you can assume some simplistic models down low - but hopefully 
this is not just about plumbing but also about addressing the 
requirements across different abstractions that will ultimately ensure 
that semantic assumptions are consistent across multiple 
repository-enabled applications.
   

The requirement is that ASF-owned software be distributed in an efficient
(for our costs), reliable (for our maintainers), and user-friendly way. 
 

I would add one more requirement to above statement - namely 
"machine-friendly".  There is an emerging requirement for application 
driven downloading that has the potential to significantly exceed the 
classic browser driven requirements that the ASF is addressing today.  
This has a direct impact on ASF costs, reliability, and utility.

I have challenged you to give me a scenerio that I can't satisfy with
something like the current Maven repository. Instead you drone on ad
nauseum about the theoretical. Let's have a concrete example.
Jason:
Look around you - take a look at things you involved with.  I've already 
provided you with examples where the simplistic http over a maven style 
file system layout breaks.  You have already provided me with the 
details of workarounds that the Maven platform incorporates to address 
these inefficiencies.  There is a bigger picture.  That picture is based 
on the collection of the requirements from repository-enabled 
applications - a set of requirements that you seem determined to reject.

We can address those concerns with an open mind (a.k.a. a process of 
collaboration and mutual respect) or we could follow your approach to 
consensus building.  While I'm very confident that you believe that your 
conclusions meet the present and near-term ASF requirement, I and others 
have different opinions.  Should you wish to explore that area more 
constructively - I am very confident that a sustained effort by you 
towards the consideration and appreciation of the opinions and 
experience of others will go a long
way in justifying your potential contribution to this subject.

Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Jason van Zyl
On Sat, 2003-11-08 at 23:18, Stephen McConnell wrote:
> Jason van Zyl wrote:

> >I have challenged you to give me a scenerio that I can't satisfy with
> >something like the current Maven repository. Instead you drone on ad
> >nauseum about the theoretical. Let's have a concrete example.
> >
> 
> Jason:
> 
> Look around you - take a look at things you involved with.  I've already 
> provided you with examples where the simplistic http over a maven style 
> file system layout breaks.  

Which one's were those so we can record them here?

> You have already provided me with the 
> details of workarounds that the Maven platform incorporates to address 
> these inefficiencies.  There is a bigger picture.  That picture is based 
> on the collection of the requirements from repository-enabled 
> applications - a set of requirements that you seem determined to reject.

It's a set of requirements I embrace. I too wish to write applications
that use a repository but I don't believe it's any more complicated that
a file-based repository accessible via http. I have yet to see a
concrete example from you that shows otherwise.

-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Stephen McConnell

Jason van Zyl wrote:
On Sat, 2003-11-08 at 23:18, Stephen McConnell wrote:
 

Jason van Zyl wrote:
   

 

I have challenged you to give me a scenerio that I can't satisfy with
something like the current Maven repository. Instead you drone on ad
nauseum about the theoretical. Let's have a concrete example.
 

Jason:
Look around you - take a look at things you involved with.  I've already 
provided you with examples where the simplistic http over a maven style 
file system layout breaks.  
   

Which one's were those so we can record them here?
Jason:
I must confess that I am intrigued by your approach to collaboration!
Following your assertion that I am droning on ad nauseum about the 
theoretical - combined with your follow-up with a request for specifics, 
I am obliged to conlude that your post concerning nauseum was simply an 
incorrect assertion on you part, or, your post is intended to establish 
an entry in a drone catalogue for the benefit of other like minded 
persons. 

While I appreciate that you are very busy working on initiative outside 
the scope and control of the ASF - I would *really* appreciate your 
guidance on this subject.  Did you simply make a mistake, or are you 
intentions to propergate that mistake?

Stephen.

--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Jason van Zyl
On Sun, 2003-11-09 at 00:35, Stephen McConnell wrote:

> Jason:
> 
> I must confess that I am intrigued by your approach to collaboration!

That's because you're at least as deficient as I am in the realm of
collaboration. Neither you or I are any great shining examples of an
ideal collaborator. You'll have to bear with me while I try to make
ammends. I will try to bear with you.

> Following your assertion that I am droning on ad nauseum about the 
> theoretical - combined with your follow-up with a request for specifics, 
> I am obliged to conlude that your post concerning nauseum was simply an 
> incorrect assertion on you part, or, your post is intended to establish 
> an entry in a drone catalogue for the benefit of other like minded 
> persons. 
> 
> While I appreciate that you are very busy working on initiative outside 
> the scope and control of the ASF - I would *really* appreciate your 
> guidance on this subject.  Did you simply make a mistake, or are you 
> intentions to propergate that mistake?

I can't glean a single coherent sentiment in this message. But it is
shorter, so we're getting somewhere.

> Stephen.
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Stephen McConnell

Jason van Zyl wrote:
On Sun, 2003-11-09 at 00:35, Stephen McConnell wrote:
 

Jason:
I must confess that I am intrigued by your approach to collaboration!
   

That's because you're at least as deficient as I am in the realm of
collaboration. Neither you or I are any great shining examples of an
ideal collaborator. You'll have to bear with me while I try to make
ammends. I will try to bear with you.
Oh really - take a break Jason!
You idea of collaboration is very clear:
http://lists.codehaus.org/pipermail/plexus-dev/2003q3/03.html
My idea of collaboration is something *totally* different.
Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Roy T. Fielding
It is usually unwise to mix insults with requests.  However,
the point of collaboration is not to obtain the civility of a
collegial discussion over tea; the point is to accomplish the
task.  Continual discussion of issues that are not relevant to
the task being collaborated upon is not collaboration -- it is
being a pain in the ass.
Folks, you don't have to respond to every comment, and especially
not this one.  If it isn't relevant, you'll get more done by just
ignoring it and moving on.
Roy


RE: [Possible Incubation] Apache Repo

2003-11-09 Thread Noel J. Bergman
> Neither you or I are any great shining examples of an
> ideal collaborator. You'll have to bear with me while
> I try to make ammends. I will try to bear with you.

Let take this at face value: someone admitting to faults, pledging to
improve, asking for allowances while making even more mistakes in the
interim, and offering the same in return.

Few people cannot stand to improve their inter-personal communication.

--- Noel



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Jason van Zyl
On Sun, 2003-11-09 at 01:08, Stephen McConnell wrote:
> Jason van Zyl wrote:
> 
> >On Sun, 2003-11-09 at 00:35, Stephen McConnell wrote:
> >
> >  
> >
> >>Jason:
> >>
> >>I must confess that I am intrigued by your approach to collaboration!
> >>
> >>
> >
> >That's because you're at least as deficient as I am in the realm of
> >collaboration. Neither you or I are any great shining examples of an
> >ideal collaborator. You'll have to bear with me while I try to make
> >ammends. I will try to bear with you.
> >
> 
> Oh really - take a break Jason!
> You idea of collaboration is very clear:
> http://lists.codehaus.org/pipermail/plexus-dev/2003q3/03.html

How does Plexus staying at Codehaus have any bearing on the notion of my
collaboration? It is definitely an example of not wanting much to do
with Avalon. It is indeed an example of me not wanting to collaborate
with Avalon if that's what you're driving at but it's not evidence that
shows I can't collaborate. Collaboration on the on notion of containers
is quite healthy, vibrant and diverse at Codehaus which is why Plexus
will stay there. 

> My idea of collaboration is something *totally* different.

It sure can be once you get rid of anyone who doesn't agree with you.

Anyone can go look in the Avalon Dev archives and see for themselves the
examples of your collaborative efforts. Discussion between yourself and
various members of Avalon, present and past, were far from amicable and
quite the antithesis of a true collaborative effort.


> Stephen.
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society



Comments on URI Syntax

2003-11-09 Thread Tim Anderson
I have a few comments on the proposed URI Syntax, from
http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/URISyntax.


   Compromise URI

   http:/artifact-[;].ext
   For example
   http://repo.apache.org/org-apache-ant/1.5.1/ant-1.5.1.jar
   http://repo.apache.org/org-apache-ant/1.5.1/ant-testutil-1.5.1.jar
   http://repo.apache.org/org-apache-ant/1.5.1/LICENSE.txt


1. This should be written as:
 http:/artifact[-].ext
   as the '-' is only required if the version is present.

2. Does '.ext' need to be mandatory?
   I'm assuming that a project is free to deploy whatever it
   likes into the repository, not all of which should be forced
   to have extensions (e.g, Unix shell scripts, README files).

3.  is too limiting as it is required to be globally
   unique, resulting in unwieldy names like:
  "jakarta-commons-logging" or "org.apache.jakarta.commons.logging"

   I would prefer to see this split into:
 /
   where:
   .  is arbitrary, but globally unique.
 It could be the domain name, e.g "sun.com", the reverse domain
 name e.g "org.apache", or simply the name of the organisation, e.g
"oracle".

   .  is the project name, unique within the organisation,
 e.g: "jndi", "ldap", "commons-logging" etc.

4.  is too limiting as it groups all artifacts for one
   project in a single directory. For projects producing large
   no.s of artifacts, it becomes difficult for users to browse.
   The httpd project for example produces multiple binaries, for
   different platforms (see http://www.apache.org/dist/httpd/)
   The requirement that - is prepended to the artifact
   name also doesn't support language specific requirements.

   I would prefer to see this split into:
 [/][/]

   where:
   .  is optional and arbitrary, determined by the deployment tool.
 E.g: "jars", "binaries", "docs" etc.
   .  is optional and arbitrary, determined by the deployment
tool.
   .  is determined by the deployment tool, and includes:
 . the artifact name
 . the version (optional)
 . the platform (optional)
 . the extension (optional)
 . the type (optional)
   E.g, "-src", "-bin" etc.

   This allows the repository to cater for language-specific deployment
   tools. For java,  could be:
 [-][-][.]
   E.g:
 . LICENSE.txt
 . ant-1.5.1.jar
 . ant-1.5.1-src.zip

   For C binaries,  could be:
  --.
   E.g:
 . httpd-2.0.43-sparc-sun-solaris2.8.tar.gz

In summary, I think the URI should be of the form:

http://[/][/],
with the format of  determined by the deployment tool.

For example:
   http://repo.apache.org/apache/ant/1.5.4/LICENSE.txt
   http://repo.apache.org/apache/ant/1.5.4/jars/ant-1.5.4.jar
   http://repo.apache.org/apache/ant/1.5.4/source/ant-1.5.4-src.zip

http://repo.apache.org/apache/httpd/2.0.43/binaries/sparc-sun-solaris2.8/htt
pd-2.0.43-sparc-sun-solaris2.8.tar.gz
   http://repo.mycompany.com/sun/jndi/jars/jndi-1.2.1.jar

Regards,

Tim




Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Roy T. Fielding
I would add one more requirement to above statement - namely 
"machine-friendly".  There is an emerging requirement for application 
driven downloading that has the potential to significantly exceed the 
classic browser driven requirements that the ASF is addressing today.  
This has a direct impact on ASF costs, reliability, and utility.
Machines don't have friends and application-driven downloading is
just an application performing a download (UI is not a design issue
for a repository).  The requirement is user-friendly, with the
expectation being that user needs will evolve over time just as
the interfaces will resolve over time.  The immediate needs are
file-based, because that is what users need right now.
Hello?  Avalon project requirements do not encompass repository needs,
and certainly do not define them.
I don't think that I have suggested this. Avalon requirements deal 
with at least three layers of abstraction with respect to server side 
facilities.
Whoa, you have abstract requirements?  Now that's a good way to drive
yourself insane.
  At the lowest level these requirements are rather close to the 
requirements you have outlined above.
Good, then we are settled.  Let's get this beast out the door with the
lowest level of requirements and fulfill the others via an appropriate
software development effort.
  As far as second and third level requirements are concerned - these 
place functional requirements on the respective underlying facilities. 
 My objective are rather simple - the basic facility should be a 
platform on which higher level facilities can be established without 
resorting to inefficiencies or workarounds.
Well, then they aren't higher levels, are they?  And that would be an
inferior design for collaboration, wouldn't it, since inter-layer
processing places application requirements before those of the
infrastructure.  -1.
I should also point out that Avalon is not alone is this respect. 
Other projects are evolving towards repository-awareness. Identifying 
and collecting those requirements (many of which are 
project/application specific) are central to the delivery of a basic 
repository that is extendible to meet the needs of a significant usage 
model (in terms of ASF near-term impact).
No, that isn't central -- it isn't even a good idea.  Please see, for
example, every single "standard" for repositories that has ever been
"designed", including those for ANSA's ODP, CORBA, and the JSR
something-or-other that takes a simple content management problem
and defines it as an ass-backwards indirect query monstrosity that
nobody will ever use.  We don't need that.  We need CPAN, or apt-get,
or fink, or something slightly more dependency aware but not so much
so that we sit on our thumbs waiting for it to happen.
Avalon users might prefer a given
interface to the repository, which I assume the Avalon community is 
more
than capable of defining and developing on their own.
Clearly yes.  The work within Avalon has *done* exactly this and as a 
result - issues with current approaches have discovered and near term 
requirements have been identified.  These aspects are the things that 
Avalon has to contribute to general model.  I'll restate my earlier 
comment - the simplistic http + file layout assumptions "do not meet 
Avalon project requirements relative to repository-aware > applications".

In fact this is probably the key point - is this initiative about 
dealing with ASF download requirements, or, does this initiative 
address the emerging and potentially much larger repository aware 
application scenario?  If this is simply about safe downloading then 
my assertions are clearly inappropriate.
It is about safe downloading of dependencies from a virtual
repository that extends across mirrored systems on a heterogeneous,
multi-organizational network.  The underlying infrastructure is
going to be file based because it will be replicated with rsync.
I sure as hell don't want anything more complex than that at
the base level.  Building interfaces on top of that is trivial
and not in the least impacted in terms of efficiency -- there are
no methods of storing large objects more efficient than a modern
filesystem.  Start simple and layer on top of that.
Roy


Re: Comments on URI Syntax

2003-11-09 Thread Jason van Zyl
On Sun, 2003-11-09 at 01:41, Tim Anderson wrote:
> I have a few comments on the proposed URI Syntax, from
> http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/URISyntax.
> 
> 
>Compromise URI
> 
>http:/artifact-[;].ext
>For example
>http://repo.apache.org/org-apache-ant/1.5.1/ant-1.5.1.jar
>http://repo.apache.org/org-apache-ant/1.5.1/ant-testutil-1.5.1.jar
>http://repo.apache.org/org-apache-ant/1.5.1/LICENSE.txt
> 

Having the  in the path certainly doesn't hurt readability and
it definitely will make the structure more navigable as it keeps a
massive number of artifacts from piling up in one place. And of course
you have the by product of faster indexing and quicker hits by the file
system and if transfered to another storage mechanism the reduction of
the bit per bucket can only be a good thing. Simple ideas are good ones.
Good idea!

+1

> 1. This should be written as:
>  http:/artifact[-].ext
>as the '-' is only required if the version is present.

I think the version should always be present. People will use the
repository directly and I think that's ok so you if you copy an artifact
somewhere by mistake it is always nice to have as much information as
possible so making the version optional I don't think is a great idea.

> 2. Does '.ext' need to be mandatory?
>I'm assuming that a project is free to deploy whatever it
>likes into the repository, not all of which should be forced
>to have extensions (e.g, Unix shell scripts, README files).

I don't think they need to be, but I haven't thought about that one
much. We have presumed so in Maven because artifacts have generally been
archives but there's no reason there has to be an extension.

> 3.  is too limiting as it is required to be globally
>unique, resulting in unwieldy names like:
>   "jakarta-commons-logging" or "org.apache.jakarta.commons.logging"
> 
>I would prefer to see this split into:
>  /
>where:
>.  is arbitrary, but globally unique.
>  It could be the domain name, e.g "sun.com", the reverse domain
>  name e.g "org.apache", or simply the name of the organisation, e.g
> "oracle".
> 
>.  is the project name, unique within the organisation,
>  e.g: "jndi", "ldap", "commons-logging" etc.

What we've discussed in Maven-land is using something like a groupId
which might look like: org.apache.maven and actually split on the dot to
make a directory. So basically organization by FQDN. Something which
would also make indexing easier in filesystems and I think makes it
easier to navigate by a person.

> 4.  is too limiting as it groups all artifacts for one
>project in a single directory. For projects producing large
>no.s of artifacts, it becomes difficult for users to browse.
>The httpd project for example produces multiple binaries, for
>different platforms (see http://www.apache.org/dist/httpd/)
>The requirement that - is prepended to the artifact
>name also doesn't support language specific requirements.
> 
>I would prefer to see this split into:
>  [/][/]
> 
>where:
>.  is optional and arbitrary, determined by the deployment tool.
>  E.g: "jars", "binaries", "docs" etc.
>.  is optional and arbitrary, determined by the deployment
> tool.

Having the type I think is good and has worked for Maven.

+1

>.  is determined by the deployment tool, and includes:
>  . the artifact name
>  . the version (optional)
>  . the platform (optional)
>  . the extension (optional)
>  . the type (optional)
>E.g, "-src", "-bin" etc.
> 
>This allows the repository to cater for language-specific deployment
>tools. For java,  could be:
>  [-][-][.]
>E.g:
>  . LICENSE.txt
>  . ant-1.5.1.jar
>  . ant-1.5.1-src.zip
> 
>For C binaries,  could be:
>   --.
>E.g:
>  . httpd-2.0.43-sparc-sun-solaris2.8.tar.gz
> 
> In summary, I think the URI should be of the form:
> 
> http://[/][/] fact>,

For  I would suggest a  where most projects would
use their FQDN and split on the dot for directory structure. Also the
manditory use of a version in the artifact name as even in your example
below the LICENSE.txt could potentially change from one release to
another and you wouldn't want to copy one version over another by
mistake and distribute it. An Unlikely example yes, but possible if the
version is not in the artifact itself. I also think the type should be
required.

So my attempt for further refinement would be this:

http:///[/]/-[.ext]

> with the format of  determined by the deployment tool.
> 
> For example:
>http://repo.apache.org/apache/ant/1.5.4/LICENSE.txt
>http://repo.apache.org/apache/ant/1.5.4/jars/ant-1.5.4.jar
>http://repo.apache.org/apache/ant/1.5.4/source/ant-1.5.4-src.zip
> 
> http://repo.apache.org/apache/httpd/2.0.43/binaries/sparc-sun-solaris2.8/htt
> pd-2.0.43-sparc-sun-solaris2.8.tar.gz
>http://repo.mycompany.com/su

RE: [Possible Incubation] Apache Repo

2003-11-09 Thread Noel J. Bergman
> > My idea of collaboration is something *totally* different.

> It sure can be once you get rid of anyone who doesn't agree with you.

Neither of you has the most perfect record on collaboration.  Fine.  Please
drop it and focus on the actual task to be addressed.  Sniping at each other
is not going to resolve the technical issues.

--- Noel



RE: Comments on URI Syntax

2003-11-09 Thread Noel J. Bergman
Jason,

I think that Tim's ideas were pretty well-thought out and reflect a workable
consensus.  The changes you are making to his ideas, if I read the
correctly, are to mandate a couple of things that he did not rule out, but
permitted to remain optional.  Having them as optional does not strike me as
a problem.

Best practices can always suggest that optional elements be used, and we'll
discover in practice how broadly the rule(s) should apply.

We should make sure that folks like William Rowe and others who have
commented on the repository structure lately take a look at, and provide
feedback on, Tim's layout.

--- Noel



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Stephen McConnell

Roy T. Fielding wrote:
It is about safe downloading of dependencies from a virtual
repository that extends across mirrored systems on a heterogeneous,
multi-organizational network.  The underlying infrastructure is
going to be file based because it will be replicated with rsync.
I sure as hell don't want anything more complex than that at
the base level.  Building interfaces on top of that is trivial
and not in the least impacted in terms of efficiency -- there are
no methods of storing large objects more efficient than a modern
filesystem.  Start simple and layer on top of that. 

Roy:
I am completely aware of all of the above. What I asked was the question 
concerning scope relative to the ASF.  The assumtions within the 
filesystem have a direct impact on the economics aspects and utility of 
deployment. Are you (representing the board) focussing on immediate or 
short term requirements? 

 [ ] immediate
 [ ] short term
Which one it is ?
Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Stephen McConnell

Jason van Zyl wrote:
On Sun, 2003-11-09 at 01:08, Stephen McConnell wrote:
 

Jason van Zyl wrote:
   

On Sun, 2003-11-09 at 00:35, Stephen McConnell wrote:

 

Jason:
I must confess that I am intrigued by your approach to collaboration!
  

   

That's because you're at least as deficient as I am in the realm of
collaboration. Neither you or I are any great shining examples of an
ideal collaborator. You'll have to bear with me while I try to make
ammends. I will try to bear with you.
 

Oh really - take a break Jason!
You idea of collaboration is very clear:
http://lists.codehaus.org/pipermail/plexus-dev/2003q3/03.html
   

How does Plexus staying at Codehaus have any bearing on the notion of my
collaboration? 

ROTFL - and you can't figure this out for yourself?
Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



Re: [Possible Incubation] Apache Repo

2003-11-09 Thread Nicola Ken Barozzi
Noel J. Bergman wrote:
My idea of collaboration is something *totally* different.

It sure can be once you get rid of anyone who doesn't agree with you.
Neither of you has the most perfect record on collaboration.  Fine.  Please
drop it and focus on the actual task to be addressed.  Sniping at each other
is not going to resolve the technical issues.
Noel, it seems that despite this is not the first email of this kind, 
the thing keeps dragging on :-/

Hence I strongly ask everyone on this list to completely ignore and snip 
comments and emails that are not in the scope of this discussion.

*sigh*
--
Nicola Ken Barozzi   [EMAIL PROTECTED]
- verba volant, scripta manent -
   (discussions get forgotten, just code remains)
-


RE: Comments on URI Syntax

2003-11-09 Thread dion
Where is "Tim's Layout"?
--
dIon Gillard, Multitask Consulting
Blog:  http://blogs.codehaus.org/people/dion/
Pub Key:http://blogs.codehaus.org/people/dion/public-key.asc


"Noel J. Bergman" <[EMAIL PROTECTED]> wrote on 09/11/2003 06:22:51 PM:

> Jason,
> 
> I think that Tim's ideas were pretty well-thought out and reflect a 
workable
> consensus.  The changes you are making to his ideas, if I read the
> correctly, are to mandate a couple of things that he did not rule out, 
but
> permitted to remain optional.  Having them as optional does not strike 
me as
> a problem.
> 
> Best practices can always suggest that optional elements be used, and 
we'll
> discover in practice how broadly the rule(s) should apply.
> 
> We should make sure that folks like William Rowe and others who have
> commented on the repository structure lately take a look at, and provide
> feedback on, Tim's layout.
> 
>--- Noel
> 



RE: Comments on URI Syntax

2003-11-09 Thread Tim Anderson
http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]&ms
gNo=266

> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Sunday, 9 November 2003 7:28 PM
> To: [EMAIL PROTECTED]
> Subject: RE: Comments on URI Syntax
>
>
> Where is "Tim's Layout"?
> --
> dIon Gillard, Multitask Consulting
> Blog:  http://blogs.codehaus.org/people/dion/
> Pub Key:http://blogs.codehaus.org/people/dion/public-key.asc
>
>
> "Noel J. Bergman" <[EMAIL PROTECTED]> wrote on 09/11/2003 06:22:51 PM:
>
> > Jason,
> >
> > I think that Tim's ideas were pretty well-thought out and reflect a
> workable
> > consensus.  The changes you are making to his ideas, if I read the
> > correctly, are to mandate a couple of things that he did not rule out,
> but
> > permitted to remain optional.  Having them as optional does not strike
> me as
> > a problem.
> >
> > Best practices can always suggest that optional elements be used, and
> we'll
> > discover in practice how broadly the rule(s) should apply.
> >
> > We should make sure that folks like William Rowe and others who have
> > commented on the repository structure lately take a look at, and provide
> > feedback on, Tim's layout.
> >
> >--- Noel
> >
>
>




RE: Comments on URI Syntax

2003-11-09 Thread Tim Anderson
> From: Jason van Zyl [mailto:[EMAIL PROTECTED]
>


>
> > 1. This should be written as:
> >  http:/artifact[-].ext
> >as the '-' is only required if the version is present.
>
> I think the version should always be present. People will use the
> repository directly and I think that's ok so you if you copy an artifact
> somewhere by mistake it is always nice to have as much information as
> possible so making the version optional I don't think is a great idea.

I think that the artifact naming should be determined by the deployment
tool. It might not make sense to include the version in the actual name.
E.g, the license files currently stored by maven:
  http://www.ibiblio.org/maven/commons-dbcp/licenses/license.html

With the changes to the URI syntax I'm proposing, using version 1.1 of
commons-dbcp
as an example, the license would be stored at:
  http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license.html
not:
  http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license-1.1.html



>
> > 3.  is too limiting as it is required to be globally
> >unique, resulting in unwieldy names like:
> >   "jakarta-commons-logging" or "org.apache.jakarta.commons.logging"
> >
> >I would prefer to see this split into:
> >  /
> >where:
> >.  is arbitrary, but globally unique.
> >  It could be the domain name, e.g "sun.com", the reverse domain
> >  name e.g "org.apache", or simply the name of the organisation, e.g
> > "oracle".
> >
> >.  is the project name, unique within the organisation,
> >  e.g: "jndi", "ldap", "commons-logging" etc.
>
> What we've discussed in Maven-land is using something like a groupId
> which might look like: org.apache.maven and actually split on the dot to
> make a directory. So basically organization by FQDN. Something which
> would also make indexing easier in filesystems and I think makes it
> easier to navigate by a person.

So maven and axion would appear in the repository would have groupIds
of "org.apache.maven" and "org.tigris.axion" and appear under
"/org/apache/maven/"
and "/org/tigris/axion/" respectively?

I would have had them under "/org.apache/maven" and "/org.tigris/axion".
Assuming that the names apache and tigris are globally unique company
names, this could be shortened to "/apache/maven" and "/tigris/axion".

This doesn't require any '.' to '/' translation, as is required using
the groupId approach. The inputs to an automatic fetch are the same as those
a user would input into their browser.

Not really fussed either way.



>
> > 4.  is too limiting as it groups all artifacts for one
> >project in a single directory. For projects producing large
> >no.s of artifacts, it becomes difficult for users to browse.
> >The httpd project for example produces multiple binaries, for
> >different platforms (see http://www.apache.org/dist/httpd/)
> >The requirement that - is prepended to the artifact
> >name also doesn't support language specific requirements.
> >
> >I would prefer to see this split into:
> >  [/][/]
> >
> >where:
> >.  is optional and arbitrary, determined by the
> deployment tool.
> >  E.g: "jars", "binaries", "docs" etc.
> >.  is optional and arbitrary, determined by the deployment
> > tool.
>
> Having the type I think is good and has worked for Maven.
>
> +1
>
> >.  is determined by the deployment tool, and includes:
> >  . the artifact name
> >  . the version (optional)
> >  . the platform (optional)
> >  . the extension (optional)
> >  . the type (optional)
> >E.g, "-src", "-bin" etc.
> >
> >This allows the repository to cater for language-specific deployment
> >tools. For java,  could be:
> >  [-][-][.]
> >E.g:
> >  . LICENSE.txt
> >  . ant-1.5.1.jar
> >  . ant-1.5.1-src.zip
> >
> >For C binaries,  could be:
> >   --.
> >E.g:
> >  . httpd-2.0.43-sparc-sun-solaris2.8.tar.gz
> >
> > In summary, I think the URI should be of the form:
> >
> >
> http://[/][/] fact>,
>
> For  I would suggest a  where most projects would
> use their FQDN and split on the dot for directory structure.

OK, so long as deployment tools don't make the assumption that groupId ==
FQDN.
Using the fully qualified domain name for top-level projects such as maven
would result in a redundant directory being created:
  http:///org/apache/maven/maven/
which makes it confusing to browse.

> Also the
> manditory use of a version in the artifact name as even in your example
> below the LICENSE.txt could potentially change from one release to
> another and you wouldn't want to copy one version over another by
> mistake and distribute it. An Unlikely example yes, but possible if the
> version is not in the artifact itself. I also think the type should be
> required.

See previous example on license files.

>
> So my attempt for further refinement would be this:
>
>
http:///[/]/-
[.ext]

 may not make sense for al

Re: Proposals

2003-11-09 Thread peter royal
On Nov 7, 2003, at 5:37 PM, Stephen McConnell wrote:
Searching is certainly on the my agenda.  We need it for IDE related 
development, repository management, and intelligent query based 
artifact aquisition (and HTTP in this context is not an ideal 
solution).
But that's a layer that would sit on top of the repository, right?
Why bake it into the repository itself?
(ie, done properly, Google could be the search agent, no?)
-pete


Re: Comments on URI Syntax

2003-11-09 Thread peter royal
On Nov 9, 2003, at 6:48 AM, Tim Anderson wrote:
So maven and axion would appear in the repository would have groupIds
of "org.apache.maven" and "org.tigris.axion" and appear under
"/org/apache/maven/"
and "/org/tigris/axion/" respectively?
I would have had them under "/org.apache/maven" and 
"/org.tigris/axion".
Assuming that the names apache and tigris are globally unique company
names, this could be shortened to "/apache/maven" and "/tigris/axion".
I'm with your on not having a root "/org" directory.
For a user navigating, that only knows the company name, they don't 
have to worry about what TLD it exists in.
-pete



RE: Comments on URI Syntax

2003-11-09 Thread Michal Maczka
[snip]
> With the changes to the URI syntax I'm proposing, using version 1.1 of
> commons-dbcp
> as an example, the license would be stored at:
>   http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license.html
> not:
>   http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license-1.1.html
>

In case of the majority of artifacts version name should be a part of
artifact file name.
I might agree that
http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license.html
is acceptable but for a sake of consistency - we should rather use
http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license-1.1.html


Note that artifacts like

http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license-1.1.html

or

http://repo.apache.org/apache/stsruts/1.1/tlds/struts-tiles.1.1.tld

are almost always no important for humans.


Michal




Re: Comments on URI Syntax

2003-11-09 Thread Jason van Zyl
On Sun, 2003-11-09 at 02:23, Jason van Zyl wrote:
> On Sun, 2003-11-09 at 02:10, Jason van Zyl wrote:
> 
> > For  I would suggest a  where most projects would
> > use their FQDN and split on the dot for directory structure. Also the
> > manditory use of a version in the artifact name as even in your example
> > below the LICENSE.txt could potentially change from one release to
> > another and you wouldn't want to copy one version over another by
> > mistake and distribute it. An Unlikely example yes, but possible if the
> > version is not in the artifact itself. I also think the type should be
> > required.
> > 
> > So my attempt for further refinement would be this:
> 
> Sorry about that, not sure how the bottom end got lost there ... anyway

Was the bottom of this message eaten again? I've tried twice now but in
the response I get back from the list my little URL example isn't
present. Is it showing up in the messages you guys are getting?

-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society



RE: Comments on URI Syntax

2003-11-09 Thread Noel J. Bergman
> Was the bottom of this message eaten again? I've tried twice now but in
> the response I get back from the list my little URL example isn't
> present. Is it showing up in the messages you guys are getting?

Did you check the archives to see what is recorded there?

http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]
&by=author&from=88965&to=88965&first=1&count=16

--- Noel



RE: Comments on URI Syntax

2003-11-09 Thread Jason van Zyl
On Sun, 2003-11-09 at 02:22, Noel J. Bergman wrote:
> Jason,
> 
> I think that Tim's ideas were pretty well-thought out and reflect a workable
> consensus.  The changes you are making to his ideas, if I read the
> correctly, are to mandate a couple of things that he did not rule out, but
> permitted to remain optional.  Having them as optional does not strike me as
> a problem.
> 
> Best practices can always suggest that optional elements be used, and we'll
> discover in practice how broadly the rule(s) should apply.
> 
> We should make sure that folks like William Rowe and others who have
> commented on the repository structure lately take a look at, and provide
> feedback on, Tim's layout.

If someone else wants to act as secretary that's cool but I wanted to
try and collect the ideas expressed so far in a small document. I'm not
a huge fan of the wiki. If someone else has started some coherent
documentation I won't step on anyone's toes but I'll help codify any
existing docs there are.

>   --- Noel
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society



RE: Proposals

2003-11-09 Thread Noel J. Bergman
peter royal wrote:
> On Nov 7, 2003, at 5:37 PM, Stephen McConnell wrote:
> > Searching is certainly on the my agenda.  We need it for IDE related
> > development, repository management, and intelligent query based
> > artifact aquisition (and HTTP in this context is not an ideal
> > solution).

> But that's a layer that would sit on top of the repository, right?

That is my thought as well.  First we need a layout, of which I like Tim's
the best so far.  On top of that we can add meta-data, and then tools that
use the meta-data.

For "dumb" servers, we can have tools that create static meta-data, which
would also be more efficient.  "Smart" servers might support dynamically
creating, or simply reformatting, meta-data for different clients, e.g.,
Maven, Avalon or JNLP, from a single source, but otherwise we just store
meta-data statically.  The real "smarts" would be on the client side, where
the metadata would be most often used.

But since the meta-data would be present at a URL within the layout, I don't
think that we need to deal with it right now.  Just the layout, itself,
which can be presented to infrastructure and the projects.  Once we've a
layout, existing tools can make use of it, and people can start discussing
the next layer, which would be meta-data.

At least that's my view.  :-)

--- Noel



RE: Proposals

2003-11-09 Thread Jason van Zyl
On Sun, 2003-11-09 at 11:48, Noel J. Bergman wrote:
> peter royal wrote:
> > On Nov 7, 2003, at 5:37 PM, Stephen McConnell wrote:
> > > Searching is certainly on the my agenda.  We need it for IDE related
> > > development, repository management, and intelligent query based
> > > artifact aquisition (and HTTP in this context is not an ideal
> > > solution).
> 
> > But that's a layer that would sit on top of the repository, right?
> 
> That is my thought as well.  First we need a layout, of which I like Tim's
> the best so far.  On top of that we can add meta-data, and then tools that
> use the meta-data.
> 
> For "dumb" servers, we can have tools that create static meta-data, which
> would also be more efficient.  "Smart" servers might support dynamically
> creating, or simply reformatting, meta-data for different clients, e.g.,
> Maven, Avalon or JNLP, from a single source, but otherwise we just store
> meta-data statically.  The real "smarts" would be on the client side, where
> the metadata would be most often used.

Exactly.

> But since the meta-data would be present at a URL within the layout, I don't
> think that we need to deal with it right now.  Just the layout, itself,
> which can be presented to infrastructure and the projects.

+!

>   Once we've a
> layout, existing tools can make use of it, and people can start discussing
> the next layer, which would be meta-data.

And do we even really need to do that? Any group can add any additional
information to the repository as needed. Or they can collect information
about the artifacts in any storage facility they desire.

> At least that's my view.  :-)
> 
>   --- Noel
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society



URI/URL Syntax -- little nits to be aware of

2003-11-09 Thread Adam R. B. Jack
I know URI syntax is dragging on (and I don't know if we are coming to
consensus or going round and round) but I hope folks are still open eared to
this stuff, because IMHO the URI /URL syntax may be *the only critical
thing* we need to determine/document for repository to be at a satisfactory
phase 1.

As I believe Roy wrote -- we must include computer parsability into the
specification. I feel the URI and the resource/file names need to be machine
parsable so the directories/HTML are metadata in themselves for simple/smart
tools.

I'd like to throw out a few thoughts/experiences based upon attempting to
write/maintain Ruper (Ruper1 via regular expressions, Ruper2 via specialized
code) [parsing filenames/URIs] and Version (again, the latter) [parsing
version formats]. Note: nothing in what I am about to say advocates a code
base, just gotchas we ran in to that we ought all be aware of.

1) I have angst over the version in the URI (as a 'directory') only because
of the likely need for symbolic links for 'latest'. I think this is a burden
on publishing tools, and leads to errors (what if two tool were publishing
at same time, can symbolic links be created remotely, etc.) That said, read
on...
2) Version in the filename has it's issues also -- e.g.
"jakarta-servlet-api-4-1.1" -- is that version 4 or 1? (It is 1.1 of
jakarta-servlet-api-4.)
3) Some folks like to use _ not - for such separators. Some also like to use
periods in resource names. Both make resource parsing hard.

If we wish to parse we either need some convention or separator -- or we
need to better define the version namespace. Also, whether version is in the
filename or the directory, how does one 'understand' the version? Is
1.1-SNAPSHOT, "better" than 1.1, "better" than "-alpha"? If we want to
process versions we certainly need some sort of specification. [Note:
metadata in each group could define the version specification/standard,
etc.]

BTW: With code specifically trying to "sniff out the right stuff" Ruper2 is
currently able to process all but 35 of the couple of thousand of artefacts
on Maven's Ibiblio repository. Those 35 have resource name formats that
break parsing. Maybe we do an 80/20 rule, but it seems a real shame not to
have 100%.

BTW: The same parsing issues arise for anything at the end of the filename,
e.g. -src or -docs. How does one know those aren't some version attribute
(like -snapshot or -beta).

I don't know what folks views are, but I could see we have to break every
part of the URI down and define/document "best practices" or "standard" in
order to ensure the URIs were parsable.  A such, I believe we ought document
a URI and URL specification (on Wiki would be my preference, but if nobody
else volunteers to be secretary, I'd take that one.) I do feel strongly that
the syntax must be completely computer readable w/o additional metadata (at
least most of the time.)

[Sorry I dropped off these threads for a while, all the cross posting caused
duplicates and the apparent bulk of e-mail overwhelmed me. I've finally
worked through most of it. Are we safe to just post to repository@ now?]

 ---
--

Separately, on resource URIs and resources URLs. I am game for a first cut
solution where URI = URL, i.e. every entity in a repository is uniquely
identifiable, and that identification happens to match it's location. That
said, I wonder if we want a URI syntax that is explicit (everything
separated into 'directories') so a user can easily express what they want,
yet potentially different URL (so repository managers can maintain more
easily.) I'm suspect we could benefit both users via a separation like this.
Just a thought...

Also, to provide benefit to the users we probably need abstractions such as
"latest", or groupings such as "all artefacts". Do we work those into a URI?
Into a URL?

Making a user come get the "jars" and then come get the "src" or "xml
resources" (if there are such things) seems rude. A user ought be able to
say type="all", and get all of them. My experience has been that grouping
those in one directory is probably easiest for the clients (since they don't
need metadata to make associations.) As such, this pushes one towards one
directory per group w/ all versions/types in there -- so long as the
filename is parsable. [I won't lie to you, I don't know what the right
solution is, sometimes separating is good, sometimes together is good. I
lean towards the latter.]

Finally, I suspect there will be "other stuff" (other URLs) within a
repository that do not revert to a resource URI (e.g. metadata files). I
suspect we have to be able to programmatically exclude those without
metadata. (e.g. dot files or all files ending with .xml are excluded, or
... )

Just some random thoughts...

regards,

Adam
--
Experience Sybase Technology...
http://www.try.sybase.com



RE: URI/URL Syntax -- little nits to be aware of

2003-11-09 Thread Michal Maczka
> 1) I have angst over the version in the URI (as a 'directory')
> only because
> of the likely need for symbolic links for 'latest'. I think this
> is a burden
> on publishing tools, and leads to errors (what if two tool were publishing
> at same time, can symbolic links be created remotely, etc.) That
> said, read
> on...

I am also -1 for separate directories per version

> 2) Version in the filename has it's issues also -- e.g.
> "jakarta-servlet-api-4-1.1" -- is that version 4 or 1? (It is 1.1 of
> jakarta-servlet-api-4.)
> 3) Some folks like to use _ not - for such separators. Some also
> like to use
> periods in resource names. Both make resource parsing hard.
>

Why do you want to parse strings which describe versions?

If you want to impose on anyone how they should version their artifacts?
There is zero % of chance for that.

Version can be anything like:

build-994 or 1.2.alpha-5 or 4-1.1

and we should just decide where string which describe a version is included
in the URL and stop there.


Michal




RE: Comments on URI Syntax

2003-11-09 Thread Tim Anderson
> From: Michal Maczka [mailto:[EMAIL PROTECTED]
>
> [snip]
> > With the changes to the URI syntax I'm proposing, using version 1.1 of
> > commons-dbcp
> > as an example, the license would be stored at:
> >   http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license.html
> > not:
> >
> http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license-1.1.html
> >
>
> In case of the majority of artifacts version name should be a part of
> artifact file name.
> I might agree that
> http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license.html
> is acceptable but for a sake of consistency - we should rather use
> http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license-1.1.html
>
>
> Note that artifacts like
>
> http://repo.apache.org/apache/commons-dbcp/1.1/licenses/license-1.1.html
>
> or
>
> http://repo.apache.org/apache/stsruts/1.1/tlds/struts-tiles.1.1.tld
>
> are almost always no important for humans.
>
>
> Michal
>

>From the requirements at
http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/Requirements:
"ASF Repository shall ... allow browsing and downloading of artifacts by
humans via normal
web browser".
Requiring a version to be part of the artifact file name when the artifact
is only useful
to end users (e.g README), reduces clarity.

-Tim




Re: Proposals

2003-11-09 Thread Stephen McConnell

peter royal wrote:
On Nov 7, 2003, at 5:37 PM, Stephen McConnell wrote:
Searching is certainly on the my agenda.  We need it for IDE related 
development, repository management, and intelligent query based 
artifact aquisition (and HTTP in this context is not an ideal solution).

But that's a layer that would sit on top of the repository, right? 

I'm not convinced that this is the case.  If we look at a repository - 
its about locating and retrieving artifacts.  Within this simple object 
there are some implicit notions.  Is the artifact unchanged?, What are 
the conditions associated with the artifact? What I'm getting at is that 
one aspect is the scheme through which an artifact is located - the 
aspect is information *about* the artifact.

Take for example the following:
http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar
http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar.md5
You can express the above as:
//..
This implies that there is a notion of meta-data down at the base level 
- in particular the schema through which meta-data is associated to an 
artifact.

Stephen.

Why bake it into the repository itself?
(ie, done properly, Google could be the search agent, no?)
-pete

--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



RE: Comments on URI Syntax

2003-11-09 Thread dion
> From the requirements at
> http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/Requirements:
> "ASF Repository shall ... allow browsing and downloading of artifacts by
> humans via normal
> web browser".
> Requiring a version to be part of the artifact file name when the 
artifact
> is only useful
> to end users (e.g README), reduces clarity.
But it does increase usability sometimes.

README for which version?
--
dIon Gillard, Multitask Consulting
Blog:  http://blogs.codehaus.org/people/dion/
Pub Key:http://blogs.codehaus.org/people/dion/public-key.asc




Re: Comments on URI Syntax

2003-11-09 Thread Stephen McConnell

[EMAIL PROTECTED] wrote:
From the requirements at
http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/Requirements:
"ASF Repository shall ... allow browsing and downloading of artifacts by
humans via normal
web browser".
Requiring a version to be part of the artifact file name when the 
   

artifact
 

is only useful
to end users (e.g README), reduces clarity.
   

But it does increase usability sometimes.
README for which version?
Good point!
Is not a README a feature of an artifact?
Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



RE: URI/URL Syntax -- little nits to be aware of

2003-11-09 Thread Tim Anderson
> From: Adam R. B. Jack [mailto:[EMAIL PROTECTED]
>
> I know URI syntax is dragging on (and I don't know if we are coming to
> consensus or going round and round) but I hope folks are still
> open eared to
> this stuff, because IMHO the URI /URL syntax may be *the only critical
> thing* we need to determine/document for repository to be at a
> satisfactory
> phase 1.
>
> As I believe Roy wrote -- we must include computer parsability into the
> specification. I feel the URI and the resource/file names need to
> be machine
> parsable so the directories/HTML are metadata in themselves for
> simple/smart
> tools.
>



> 2) Version in the filename has it's issues also -- e.g.
> "jakarta-servlet-api-4-1.1" -- is that version 4 or 1? (It is 1.1 of
> jakarta-servlet-api-4.)
> 3) Some folks like to use _ not - for such separators. Some also
> like to use
> periods in resource names. Both make resource parsing hard.

Having the version in the directory path helps here.

>
> If we wish to parse we either need some convention or separator -- or we
> need to better define the version namespace. Also, whether
> version is in the
> filename or the directory, how does one 'understand' the version? Is
> 1.1-SNAPSHOT, "better" than 1.1, "better" than "-alpha"? If we want to
> process versions we certainly need some sort of specification. [Note:
> metadata in each group could define the version specification/standard,
> etc.]

I believe thats outside the scope.

>
> BTW: With code specifically trying to "sniff out the right stuff"
> Ruper2 is
> currently able to process all but 35 of the couple of thousand of
> artefacts
> on Maven's Ibiblio repository. Those 35 have resource name formats that
> break parsing. Maybe we do an 80/20 rule, but it seems a real shame not to
> have 100%.
>
> BTW: The same parsing issues arise for anything at the end of the
> filename,
> e.g. -src or -docs. How does one know those aren't some version attribute
> (like -snapshot or -beta).

Again, having the version in the directory path helps here.

>
> I don't know what folks views are, but I could see we have to break every
> part of the URI down and define/document "best practices" or "standard" in
> order to ensure the URIs were parsable.  A such, I believe we
> ought document
> a URI and URL specification (on Wiki would be my preference, but if nobody
> else volunteers to be secretary, I'd take that one.) I do feel
> strongly that
> the syntax must be completely computer readable w/o additional
> metadata (at
> least most of the time.)

+1. But bear in mind that these "best practices" will be language specific.



> Also, to provide benefit to the users we probably need
> abstractions such as
> "latest", or groupings such as "all artefacts". Do we work those
> into a URI?
> Into a URL?
>
> Making a user come get the "jars" and then come get the "src" or "xml
> resources" (if there are such things) seems rude. A user ought be able to
> say type="all", and get all of them. My experience has been that grouping
> those in one directory is probably easiest for the clients (since
> they don't
> need metadata to make associations.)

Not necessary I think, as tools can provide support for this.
If necessary, it could be done via symlinks.

> As such, this pushes one towards one
> directory per group w/ all versions/types in there -- so long as the
> filename is parsable. [I won't lie to you, I don't know what the right
> solution is, sometimes separating is good, sometimes together is good. I
> lean towards the latter.]

-1. I see the repository as providing support for:
1. end users downloading the latest distributions of projects
2. tools accessing artifact dependencies.

Lumping everything in one directory doesn't make it easier for [1].
See http://www.apache.org/dist/httpd/binaries/ for an example.

>
> Finally, I suspect there will be "other stuff" (other URLs) within a
> repository that do not revert to a resource URI (e.g. metadata files). I
> suspect we have to be able to programmatically exclude those without
> metadata. (e.g. dot files or all files ending with .xml are excluded, or
> ... )

I take the view that everything in the repository is an artifact.
Tools can exclude the artifacts they don't need - there can't be any
language agnostic support for this, without adding metadata.

-Tim




Re: URI/URL Syntax -- little nits to be aware of

2003-11-09 Thread Stephen McConnell

Tim Anderson wrote:
I take the view that everything in the repository is an artifact.
Tools can exclude the artifacts they don't need - there can't be any
language agnostic support for this, without adding metadata.
Tim:
How do you address something like the following:
http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar
http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar.md5
I don't see the md5 file as an artifact - instead I consider it to be 
meta data about the jar artifact.

Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



RE: Comments on URI Syntax

2003-11-09 Thread Tim Anderson
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>
> > From the requirements at
> > http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/Requirements:
> > "ASF Repository shall ... allow browsing and downloading of artifacts by
> > humans via normal
> > web browser".
> > Requiring a version to be part of the artifact file name when the
> artifact
> > is only useful
> > to end users (e.g README), reduces clarity.
> But it does increase usability sometimes.
>
> README for which version?

An example:
   http://repo.apache.org/apache/commons-dbcp/1.1/README

The README is for version 1.1 of commons-dbcp.

-Tim




Re: Comments on URI Syntax

2003-11-09 Thread Stephen McConnell

Tim Anderson wrote:
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
   

From the requirements at
http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/Requirements:
"ASF Repository shall ... allow browsing and downloading of artifacts by
humans via normal
web browser".
Requiring a version to be part of the artifact file name when the
 

artifact
   

is only useful
to end users (e.g README), reduces clarity.
 

But it does increase usability sometimes.
README for which version?
   

An example:
  http://repo.apache.org/apache/commons-dbcp/1.1/README
The README is for version 1.1 of commons-dbcp.
By implication - the README is not an artifact but a feature of a version.
Is that a reasonable conclusion?
Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



RE: URI/URL Syntax -- little nits to be aware of

2003-11-09 Thread Tim Anderson
> From: Stephen McConnell [mailto:[EMAIL PROTECTED]
> 
> Tim Anderson wrote:
> 
> >I take the view that everything in the repository is an artifact.
> >Tools can exclude the artifacts they don't need - there can't be any
> >language agnostic support for this, without adding metadata.
> >
> 
> Tim:
> 
> How do you address something like the following:
> 
> http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar
> http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar.md5
> 
> I don't see the md5 file as an artifact - instead I consider it to be 
> meta data about the jar artifact.
> 

The md5 file is an artifact. Its meta data for the jar, for those
tools that understand it.

-Tim

PS - is anyone else having problems with this list? I never
received my original response to this.