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

2003-11-10 Thread Stephen McConnell

Tim Anderson wrote:
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.
OK - this view of artifact seems to be equivalent to file.
Here we have an example where a file type of .jar matches a type 
seperator.  In the case of the MD5 file it does not.  This difference 
is what destinguishes the MD5 from the jar.  As such - I think we can 
say that the file matching the type context is the artifact and that 
files that don;t match and are in the same directory represent meta data 
about the artifact.

But this would require some adjustments on what is and isn't an artifact.
-Tim
PS - is anyone else having problems with this list? I never
received my original response to this.
 

This is the only response to this message that I have seen.
Stephen.

 

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



RE: Comments on URI Syntax

2003-11-10 Thread Tim Anderson
 From: Stephen McConnell [mailto:[EMAIL PROTECTED]

 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.

Why make the distinction? I view everything a project deploys as an
artifact.
Some artifacts will only be useful to end users (e.g, README, LICENSE.txt
etc),
others will be useful to tools.

-Tim




Re: Comments on URI Syntax

2003-11-10 Thread Stephen McConnell

Tim Anderson wrote:
By implication - the README is not an artifact but a feature of a version.
Is that a reasonable conclusion?
Stephen.
   

Why make the distinction? I view everything a project deploys as an
artifact. Some artifacts will only be useful to end users (e.g, 
README, LICENSE.txt etc), others will be useful to tools.

Because there is difference between aggregation of files of a partiular 
type as distinct from files that describe a particular typed file 
instance.  I view the artifact as the principal file held in a 
directory qualifed by a type (e.g. the jar file in a jars directory), 
and that other resources such as READMEs, LICENSEs, MD5s, etc. are 
examples of data that describe features of specific things such as a 
group, version, artifact, etc.

Why make the distinction?  When I look at the available artifacts in a 
/jars/ directory I will present these as an list of artifacts.  A user 
may select to view the properties/features of one of these items.  Using 
the name of an artifact - I can locate additional information about the 
artifact such as the MD5 signature, maybe the license or some dependency 
information - providing there is a convention that is predictable.  I.e. 
I need a mechanism to locate information about a particular artifact - e.g.

  artifact-path.something
  artifact-path.something-else
  artifact-path.MD5
  artifact-path.README
Etc.
Stephen.

-Tim

 

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



Re: Comments on URI Syntax

2003-11-10 Thread Stephen McConnell
Woops - see small correction in line.
Stephen McConnell wrote:

Tim Anderson wrote:
By implication - the README is not an artifact but a feature of a 
version.
Is that a reasonable conclusion?
Stephen.
  

Why make the distinction? I view everything a project deploys as an
artifact. Some artifacts will only be useful to end users (e.g, 
README, LICENSE.txt etc), others will be useful to tools.

Because there is difference between aggregation of files of a 
partiular type as distinct from files that describe a particular typed 
file instance.  I view the artifact as the principal file held in a 
directory qualifed by a type (e.g. the jar file in a jars directory), 
and that other resources such as READMEs, LICENSEs, MD5s, etc. are 
examples of data that describe features of specific things such as a 
group, version, artifact, etc.

Why make the distinction?  When I look at the available artifacts in a 
/jars/ directory I will present these as an list of artifacts.  A user 
may select to view the properties/features of one of these items.  
Using the name of an artifact - I can locate additional information 
about the artifact such as the MD5 signature, maybe the license or 
some dependency information - providing there is a convention that is 
predictable.  I.e. I need a mechanism to locate information about a 
particular artifact - e.g. 

I left out the all important principal artifact.
 artifact-path.type- the principal artifact (e.g. 
jars/fred.jar)
 artifact-path.something  -- some metadata
 artifact-path.something-else -- more meta data
 artifact-path.MD5 --- artifact signature
 artifact-path.README  readme about the artifact

The important thing is the recognition of the difference between a file 
that *is* the artifact as distinct from a file that *describes* an artifact.

Stephen.

  artifact-path.something
  artifact-path.something-else
  artifact-path.MD5
  artifact-path.README
Etc.
Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



RE: Comments on URI Syntax

2003-11-10 Thread dion
Tim Anderson [EMAIL PROTECTED] wrote on 10/11/2003 10:53:47 AM:

  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.

That's easy enough to work out from the URL, what happens after I've 
downloaded it?

In the case of a README, you'd hope it contained some version info 
anyways, but for other stuff?
--
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-10 Thread dion
Stephen McConnell [EMAIL PROTECTED] wrote on 10/11/2003 10:58:09 AM:

 By implication - the README is not an artifact but a feature of a 
version.
 Is that a reasonable conclusion?

I'd question the value of distributing a README as a single file.

In the maven world, we have a type called 'distribution', which contains a 
README, jar, source etc.
--
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-10 Thread Stephen McConnell

Tim Anderson wrote:
From: Stephen McConnell [mailto:[EMAIL PROTECTED]
Woops - see small correction in line.
Stephen McConnell wrote:
   

Tim Anderson wrote:
 

By implication - the README is not an artifact but a feature of a 
version.
Is that a reasonable conclusion?
Stephen.
 
 

Why make the distinction? I view everything a project deploys as an
artifact. Some artifacts will only be useful to end users (e.g, 
README, LICENSE.txt etc), others will be useful to tools.

   

Because there is difference between aggregation of files of a 
partiular type as distinct from files that describe a particular typed 
file instance.  I view the artifact as the principal file held in a 
directory qualifed by a type (e.g. the jar file in a jars directory), 
and that other resources such as READMEs, LICENSEs, MD5s, etc. are 
examples of data that describe features of specific things such as a 
group, version, artifact, etc.

Why make the distinction?  When I look at the available artifacts in a 
/jars/ directory I will present these as an list of artifacts.  A user 
may select to view the properties/features of one of these items.  
Using the name of an artifact - I can locate additional information 
about the artifact such as the MD5 signature, maybe the license or 
some dependency information - providing there is a convention that is 
predictable.  I.e. I need a mechanism to locate information about a 
particular artifact - e.g. 
 

I left out the all important principal artifact.
 artifact-path.type- the principal artifact (e.g. 
jars/fred.jar)
 artifact-path.something  -- some metadata
 artifact-path.something-else -- more meta data
 artifact-path.MD5 --- artifact signature
 artifact-path.README  readme about the artifact

The important thing is the recognition of the difference between a file 
that *is* the artifact as distinct from a file that *describes* 
an artifact.

Stephen.
   

 artifact-path.something
 artifact-path.something-else
 artifact-path.MD5
 artifact-path.README
Etc.
Stephen.
 

File aggregation is important to tools, less so for end-users.
The MD5 is just another artifact - its up to the tools
to determine its association with other artifacts.
If the MD5 is just another artifact then it would belong under
something like:
  http://www.ibiblio.org/maven/ant/md5s/some-artifact-name.md5
But that does not make sence (or types don't make sence).  The
fact is that there really is a differnce between path and
path.meta providing that there that is a recognition in the
base repository schema that these are two different things.
That recognition (as a part of the schema) is very important for
the attribution of information that would be used in the next
level up - i.e. that leyer on which meta data is accesses to
in order to manage an anttribute.
Stephen.
--
Stephen J. McConnell
mailto:[EMAIL PROTECTED]



[proposal] java artifact specifier v0.1

2003-11-10 Thread Tim Anderson
Overview


The aim of this proposal is to specify the URI syntax for artifacts
for java-based projects. It extends the URI syntax proposal:
http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]ms
gNo=308

Java project artifacts include, but are not limited to:
   jars, wars, rars, tlds, source and binary distributions, and
   licenses.

URI Components
--

An absolute repository URI is written as follows:

  repository-uri = access-specifier / product-specifier /
   artifact-specifier

For java artifacts, artifact-specifier is:

  artifact-specifier = [type /] artifact
  type = jars | wars | rars | tlds | binaries | source
 | licenses | ...
  artifact = artifact-name [- version] [- stype][.ext]
  artifact-name = *pchar
  stype = bin | src
  ext = jar | war | rar | tld | tar.gz | zip | ...

Checksums  PGP signatures
--

All artifacts may have an associated md5 checksum, of the form:

  artifact-specifier .md5

or a PGP signatures, of the form:

  artifact-specifier .asc

Examples


jars:
  http://repo.apache.org/apache/ant/1.5.4/jars/ant-1.5.4.jar
  http://repo.apache.org/apache/ant/1.5.4/jars/ant-1.5.4.jar.md5
  http://repo.apache.org/apache/ant/1.5.4/jars/ant-optional-1.5.4.jar
  http://repo.apache.org/apache/ant/1.5.4/jars/ant-optional-1.5.4.jar.md5

binaries:
  http://repo.apache.org/apache/ant/1.5.4/binaries/ant-1.5.4-bin.zip
  http://repo.apache.org/apache/ant/1.5.4/binaries/ant-1.5.4-bin.zip.md5
  http://repo.apache.org/apache/ant/1.5.4/binaries/ant-1.5.4-bin.tar.gz
  http://repo.apache.org/apache/ant/1.5.4/binaries/ant-1.5.4-bin.tar.gz.asc

source:
  http://repo.apache.org/apache/ant/1.5.4/source/ant-1.5.4-src.zip
  http://repo.apache.org/apache/ant/1.5.4/source/ant-1.5.4-src.zip.md5
  http://repo.apache.org/apache/ant/1.5.4/source/ant-1.5.4-src.tar.gz
  http://repo.apache.org/apache/ant/1.5.4/source/ant-1.5.4-src.tar.gz.asc

licenses:
  http://repo.apache.org/apache/ant/1.5.4/licenses/LICENSE.txt

PGP keys:
  http://repo.apache.org/apache/ant/1.5.4/KEYS




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

2003-11-10 Thread Adam R. B. Jack
 Why do you want to parse strings which describe versions?

So one can look at a repository of artefacts and select the best for the
user automatically. Each user has a different view of best, some want
latest (nightly/snapshot), some want latest release only.

Having a repository with automated tools that require humans to understand
the contents kinda breaks the automation...

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

No, but by being flexible to a given set of versioning schemes on can. Like
I said, we are picking up most of Maven's repository w/o imposing anything,
and it also works for other common version standards.

regards

Adam



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

2003-11-10 Thread Michal Maczka
Adam R. B. Jack wrote:
Why do you want to parse strings which describe versions?
   

So one can look at a repository of artefacts and select the best for the
user automatically. Each user has a different view of best, some want
latest (nightly/snapshot), some want latest release only.
Having a repository with automated tools that require humans to understand
the contents kinda breaks the automation...
 

Not necesserly the fact that version number is not parsable by machines 
determines that fact that versions are uncomparable.


In Maven world in POM we can have tags like::
versions
   version
 idb1/id
 name1.0-b1/name
 tagMAVEN_1_0_B1/tag
   /version
   version
 idb2/id
 name1.0-b2/name
 tagMAVEN_1_0_B2/tag
   /version
   version
 idb3/id
 namebuild-455/name
 tagMAVEN_1_0_B2/tag
   /version
...
 /versions
We also have a place for branches there. 

Using such meta data you can theoretically  tell that version 1.0-b1 was 
released before 1.0-b2 and 1.0-b2 was out before build-445.

Any tool can inject such helper artifacts to repository and use them.
I am not saying that what we did in Maven in this field is a world 
championship, but there are some ideas which can be explored
and this shows that some things are probably possible.

Simply metdata atached to artifacts  (which can be denoted as URL)  is 
not  sufficient for  making smart tools and never be.
Artifact versioning is horribly complicated topic and I am simply afraid 
that attempts to e.g. guess version precedence  from version strings
are not relaiable in the best case.

Michal

Michal



Manage discussions to a conclusion...

2003-11-10 Thread Adam R. B. Jack
I am trying to move contentious topics to the Wiki so we can reference them
individually, and (over time) come to an agreement.

How does this layout work for folks? I have started with one discussion
topic:

http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/ToDo

If we can agree upon something like this we can mature it to allow counter
proposals, and such.

Thoughts?

regards,

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



Re: Processing Versions

2003-11-10 Thread Adam R. B. Jack
 [...] and repository
 possibly won't be limited to project hosted at ASF.

This is why we need the Wiki, the e-mail archives are too hard to comsume.
It was agreed a while ago that this is for Apache software, we aren't trying
to solve this problem for everybody else. We need to stop going back over
closed discussions to make simple progress.

regards

Adam



index.html (was Comments on URI Syntax

2003-11-10 Thread Adam R. B. Jack
   http://repo.apache.org/apache/commons-logging/1.0.3/index.html

 Clearly, this is only useful to users browsing the repository,
 and therefore makes no sense to include the version information.

On index.html, wouldn't we discourage the use of this? Wouldn't we want the
HTTP server to do a directory listing, so publishers wouldn't have to update
it every time? Also, if we are to allow/support automatic remote publishing,
not having to lock/update an index.html would be a bonus.

Parsing HTML (simple or fancy) to find links that are children is pretty
trivial, so it probably wouldn't matter (to clients who are going to have to
do this anyway) but it probably matters to publishers.

regards

Adam



Disagreements/Agreements

2003-11-10 Thread Adam R. B. Jack
 I am almost sure that with WIKI we will have much more chaos.
 Wiki it's not a perfect techonology for maitaing disussions.

 -1 for using WIKI for dissusion

I didn't mean solely, I think we need a mixture of both. I think e-mail
threads are good (when tight) but a thread might end with the passionate
folks in disagreement. Those I think we move to the Wiki for voting:

http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/ToDo

We need to record our votes, some simple pros/cons, and at a suitable point
close the issue and move it to /Decisions.

 +1 for using WIKI for writing down the things which were agreed.

We need this most certainly:

http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/Decisions

I am scouring the mails to this list to look for things I believe are agreed
upon decisions. I'll most the non-controversial ones here. [If I make a
mistake we can complete discussions on those aspects.]

regards

Adam



Where to put Version in the URISyntax

2003-11-10 Thread Nick Chalko
Lets try to summerize  the different positions and  then come to a 
consensus  on the wiki at
http://nagoya.apache.org/wiki/apachewiki.cgi?ASFRepository/WhereIsVersionInURISytnax

I am still trying to wade throught  the 60 emails from this weekend.  I 
would really appreciate the various pro's and con's summarized.

R,
Nick


smime.p7s
Description: S/MIME Cryptographic Signature


RE: Processing Versions

2003-11-10 Thread Michal Maczka


 -Original Message-
 From: Adam R. B. Jack [mailto:[EMAIL PROTECTED]
 Sent: Monday, November 10, 2003 5:11 PM
 To: [EMAIL PROTECTED]
 Subject: Re: Processing Versions


  [...] and repository
  possibly won't be limited to project hosted at ASF.

 This is why we need the Wiki, the e-mail archives are too hard to comsume.
 It was agreed a while ago that this is for Apache software, we
 aren't trying
 to solve this problem for everybody else. We need to stop going back over
 closed discussions to make simple progress.



I wrote:

.. repository [...] won't be limited to projects hosted at ASF.


In requirement list I can see:
ASF Repository shall not
Host any artifact in violation of a license, or IPR. 

And if anything was discussed before -  above statement reflects well the
temporary decision which was made and all the limitation which
were considered. (temporary in that sense that anything is not written on
the stone)


So I don't see anything which mentions that artifacts produced outside ASF
will be not hosted in ASF repository.
It's just NO to no kosher artifacts (in sense of license) in that
repository. So it will be our problem if we would like
to consider any constrains for version names (which IMHO are  no realistic
in short term (if ever) even inside ASF) .
That's why I strongly believe that any discussion about artifact versioning
simply should not take place.

And we should assume that

version = pchar*

Michal






Re: Processing Versions

2003-11-10 Thread Nick Chalko
Michal Maczka wrote:
I wrote:
.. repository [...] won't be limited to projects hosted at ASF.
In requirement list I can see:
ASF Repository shall not
Host any artifact in violation of a license, or IPR. 
And if anything was discussed before -  above statement reflects well the
temporary decision which was made and all the limitation which
were considered. (temporary in that sense that anything is not written on
the stone)
 

Those are just my assertions.  No one has objected so I suppose they are 
still the Requirements.

 




smime.p7s
Description: S/MIME Cryptographic Signature