draft-laugstol-apache-maven-repository-rest-applications-03.txt   draft-laugstol-apache-maven-repository-rest-applications-04.txt 
skipping to change at page 1, line 39 skipping to change at page 1, line 39
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 14, 2012. This Internet-Draft will expire on May 14, 2012.
Table of Contents Table of Contents
1. TODOs and Notes . . . . . . . . . . . . . . . . . . . . . . . 2 1. TODOs and Notes . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Goals: . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1. Goals: . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Implementation goals . . . . . . . . . . . . . . . . . . . 3 2.2. Implementation goals . . . . . . . . . . . . . . . . . . . 3
2.3. Areas explicitly not covered . . . . . . . . . . . . . . . 3 2.3. Areas explicitly not covered . . . . . . . . . . . . . . . 3
2.4. Deployment scenarios . . . . . . . . . . . . . . . . . . . 3 2.4. Deployment scenarios . . . . . . . . . . . . . . . . . . . 3
3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Media Types . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. Media Types . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Operations . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2. Operations . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3. Uploading Artifacts . . . . . . . . . . . . . . . . . . . 4 3.3. Uploading Artifacts . . . . . . . . . . . . . . . . . . . 5
3.4. Downloading Artifacts . . . . . . . . . . . . . . . . . . 4 3.4. Downloading Artifacts . . . . . . . . . . . . . . . . . . 5
3.4.1. Download a single artifact . . . . . . . . . . . . . . 4 3.4.1. Download a single artifact . . . . . . . . . . . . . . 5
3.4.2. Download a set of artifacts . . . . . . . . . . . . . 4 3.4.2. Download a set of artifacts . . . . . . . . . . . . . 5
3.5. Searching . . . . . . . . . . . . . . . . . . . . . . . . 5 3.5. Searching . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Protocol Bindings . . . . . . . . . . . . . . . . . . . . . . 5 4. Protocol Bindings . . . . . . . . . . . . . . . . . . . . . . 5
4.1. Response Bindings . . . . . . . . . . . . . . . . . . . . 5 4.1. Response Bindings . . . . . . . . . . . . . . . . . . . . 5
5. Security Aspects . . . . . . . . . . . . . . . . . . . . . . . 5 5. Security Aspects . . . . . . . . . . . . . . . . . . . . . . . 5
5.1. Authentication and Authorization . . . . . . . . . . . . . 5 5.1. Authentication and Authorization . . . . . . . . . . . . . 5
6. User-Agent Considerations . . . . . . . . . . . . . . . . . . 5 6. User-Agent Considerations . . . . . . . . . . . . . . . . . . 5
7. HTTP Binding . . . . . . . . . . . . . . . . . . . . . . . . . 5 7. HTTP Binding . . . . . . . . . . . . . . . . . . . . . . . . . 6
8. Appendix: Words and Definitions . . . . . . . . . . . . . . . 5 8. Appendix: Words and Definitions . . . . . . . . . . . . . . . 6
9. Security Considerations . . . . . . . . . . . . . . . . . . . 6 9. Security Considerations . . . . . . . . . . . . . . . . . . . 6
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
10.1. Link Relation: http://maven.apache.org/rel/pom . . . . . 6 10.1. Link Relation: http://maven.apache.org/rel/pom . . . . . 6
10.2. Link Relation: http://maven.apache.org/rel/md5 . . . . . 6 10.2. Link Relation: http://maven.apache.org/rel/md5 . . . . . 6
10.3. Link Relation: http://maven.apache.org/rel/sha1 . . . . . 6 10.3. Link Relation: http://maven.apache.org/rel/sha1 . . . . . 6
10.4. Media Type: text/vnd.maven.pom . . . . . . . . . . . . . 6 10.4. Media Type: text/vnd.maven.pom . . . . . . . . . . . . . 7
10.5. Media Type: text/vnd.maven.md5 . . . . . . . . . . . . . 6 10.5. Media Type: text/vnd.maven.md5 . . . . . . . . . . . . . 7
10.6. Media Type: text/vnd.maven.sha1 . . . . . . . . . . . . . 6 10.6. Media Type: text/vnd.maven.sha1 . . . . . . . . . . . . . 7
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
12. Security Considerations . . . . . . . . . . . . . . . . . . . 6 12. Security Considerations . . . . . . . . . . . . . . . . . . . 7
13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
14.1. Normative References . . . . . . . . . . . . . . . . . . 6 14.1. Normative References . . . . . . . . . . . . . . . . . . 7
14.2. Informative References . . . . . . . . . . . . . . . . . 7 14.2. Informative References . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7
1. TODOs and Notes 1. TODOs and Notes
o Is it useful to register "Maven Coordinate" HTTP header? Maven- o How should an artifact be identified?
Coordinate: groupId=com.example, artifactId=example, type=jar,
classifiers=awesome, version=1.2.3 * A "Maven Coordinate" HTTP header? Maven-Coordinate:
groupId=com.example, artifactId=example, type=jar,
classifiers=awesome, version=1.2.3
* A maven URI type? maven://groupId/artifactId/version?
* A maven URN prefix? urn:maven:artifact:groupId=..:artifactId=.
.:classifier=..:type=..:version=..
o Promising media types and link relations: o Promising media types and link relations:
* "describedby" link relation - a link from an artifact to its * "describedby" link relation - a link from an artifact to its
POM POM
* "edit" link relation describing an external form of editing. * "edit" link relation describing an external form of editing.
useful if we don't want to include all the edit controls inside useful if we don't want to include all the edit controls inside
feeds. Reduces bandwidth and latency feeds. Reduces bandwidth and latency
* atom and collection+JSON seem like nice formats for * atom and collection+JSON seem like nice formats for
manipulating lists of artifacts. manipulating lists of artifacts.
* metalink looks like a nice way to include * metalink looks like a nice way to include
+ There are both a standalone XML format and a HTTP binding + There are both a standalone XML format and a HTTP binding
that can be used. It might be feasible to include metalink that can be used. It might be feasible to include metalink
inside atom and possibly metalink inside collection+JSON inside atom and possibly metalink inside collection+JSON
Put this where it'll fit later: It is assumed that there will always
only be a single instance of an artifact + version. If two
repositories can resolve the same artifact any user agent can choose
arbitrary which one it'll like to use.
This is important as some people download an artifact from one
repository, modify it and upload it to another repository. This is
sometimes done by operations when they consume artifacts from a
"developer" repository, inject some configuration variables and
pushes it to a "production" repository.
2. Introduction 2. Introduction
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2.1. Goals: 2.1. Goals:
o Any user agent should be able to rely on caching information given o Any user agent should be able to rely on caching information given
by the repository. No explicit caching should be necessary by the by the repository. No explicit caching should be necessary by the
 End of changes. 6 change blocks. 
22 lines changed or deleted 40 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/