See inline.
> From: Nick Chalko [mailto:[EMAIL PROTECTED]
>
> Tim Anderson wrote:
>
> >Can you provide an example of a URI which can't be parsed?
> >
> >-Tim
> >
> >[1] http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/URISyntax
> >
> >
> *repository-uri = access-specifier "/" product-specifier "/"
> version-specifier "/" artifact-specifier*
>
> It defines *access-specifier* and *product-specifier*, but leaves
> *version-specifier* and *artifact-specifier* opaque, to be defined
> by language, platform, or artifact-specific best practices.
>
> Since version-specifier and artifact-specifier are opaque, there is
> no way to tell where product specifier ends.
> I know we have suggested version, and a Java artifact specifier.
> But what about other languages, Like the "new cool O/S" language foo.
>
> It's artifact's are called bars
>
> http://repo.com/org/foo/cat/dog/bars/bar.zip
>
> What is the product org.foo.cat or org .foo?
> Is cat the version name or is dog.?
> Perhaps there are two kings of bars, one for dogs and one for eggs.
> or what ever.
If product-specifier is opaque, and the artifact URI
doesn't meet the criteria specified by one or more of the proposals,
then a tool can't look at its URI to determine what the product or
version is.
Does that really matter though? How can a tool sensibly interrogate
an artifact it doesn't understand?
>
> organization/project is a workable solution that lets a tool make
> intelligent guesses based on URI only,.
>
> I like the simplicity of
> Top level = Organization that distribute things
> 2nd level = A project. (a sub organizational unit that
> distributes artifacts)
> 3/4 level = Version, (interim builds take an extra level
> 4/5 = Artifacts stored any what a project likes. (with best
> practices for Java and other languages.)
> The ONLY limits we have on organization and project and version is
> it must be valid URI character and it can not be a "/" (ie pchar)
>
I'm not really fussed if product-specifer is opaque or not -
I'll go with the concensus view.
IMO, the repository layout is cleaner if it is opaque, and tools
can still parse any URI which meet the criteria of the proposals.
If product-specifier is restricted to 2 path segments, then
tools can parse any URI, but the repository structure is flatter,
and can't represent project heirarchies.
-Tim