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
