idnits 2.17.1
draft-divilly-atompub-discovery-00.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
** The document seems to lack a License Notice according IETF Trust
Provisions of 28 Dec 2009, Section 6.b.ii or Provisions of 12 Sep 2009
Section 6.b -- however, there's a paragraph with a matching beginning.
Boilerplate error?
(You're using the IETF Trust Provisions' Section 6.b License Notice from
12 Feb 2009 rather than one of the newer Notices. See
https://trustee.ietf.org/license-info/.)
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
No issues found here.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
-- The document date (May 20, 2009) is 5456 days in the past. Is this
intentional?
Checking references for intended status: Best Current Practice
----------------------------------------------------------------------------
(See RFCs 3967 and 4897 for information about using normative references
to lower-maturity documents in RFCs)
== Unused Reference: 'RFC3986' is defined on line 199, but no explicit
reference was found in the text
Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 1 comment (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 Network Working Group C. Divilly
3 Internet-Draft N. Mehta
4 Intended status: BCP Oracle Corp.
5 Expires: November 21, 2009 May 20, 2009
7 AtomPub Guidelines for Collection Discovery
8 draft-divilly-atompub-discovery-00
10 Status of this Memo
12 This Internet-Draft is submitted to IETF in full conformance with the
13 provisions of BCP 78 and BCP 79.
15 Internet-Drafts are working documents of the Internet Engineering
16 Task Force (IETF), its areas, and its working groups. Note that
17 other groups may also distribute working documents as Internet-
18 Drafts.
20 Internet-Drafts are draft documents valid for a maximum of six months
21 and may be updated, replaced, or obsoleted by other documents at any
22 time. It is inappropriate to use Internet-Drafts as reference
23 material or to cite them other than as "work in progress."
25 The list of current Internet-Drafts can be accessed at
26 http://www.ietf.org/ietf/1id-abstracts.txt.
28 The list of Internet-Draft Shadow Directories can be accessed at
29 http://www.ietf.org/shadow.html.
31 This Internet-Draft will expire on November 21, 2009.
33 Copyright Notice
35 Copyright (c) 2009 IETF Trust and the persons identified as the
36 document authors. All rights reserved.
38 This document is subject to BCP 78 and the IETF Trust's Legal
39 Provisions Relating to IETF Documents in effect on the date of
40 publication of this document (http://trustee.ietf.org/license-info).
41 Please review these documents carefully, as they describe your rights
42 and restrictions with respect to this document.
44 Abstract
46 This document recommends best practices for discovering AtomPub
47 Collection resources as applicable to various content representation
48 formats.
50 Editorial Note
52 To provide feedback on this Internet-Draft, join the atom-protocol
53 mailing list (http://www.imc.org/atom-protocol/).
55 Table of Contents
57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
58 1.1. Notational Conventions . . . . . . . . . . . . . . . . . . 3
59 1.2. Namespace . . . . . . . . . . . . . . . . . . . . . . . . . 3
60 2. Discovering Collections from a Feed Document . . . . . . . . . 3
61 3. Discovering Service from an HTML Document . . . . . . . . . . . 5
62 4. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
63 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
64 6. Normative References . . . . . . . . . . . . . . . . . . . . . 5
65 Appendix A. Revision History . . . . . . . . . . . . . . . . . . . 6
66 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
68 1. Introduction
70 Atom Publishing Protocol [RFC5023] is used for several applications
71 that consume and produce an unbounded number of Collection resources.
72 This document introduces guidelines over existing syntactic
73 techniques for identifying Collection resources in use from various
74 Internet content representation formats, including feeds and HTML
75 type resources.
77 Previously, AtomPub [RFC5023] has introduced two mechanisms for
78 collection discovery. However, in the absence of suitable
79 guidelines, there is no clarity about which mechanism is suited for a
80 particular purpose. In general, where other Atom or AtomPub syntax
81 is in use, this document recommends the use of the app:collection
82 element. Where only a link element may be used, this document
83 recommends the use of the service link relation.
85 1.1. Notational Conventions
87 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
88 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
89 document are to be interpreted as described in [RFC2119].
91 1.2. Namespace
93 This specification uses the prefix "atom:" for
94 "http://www.w3.org/2005/Atom", the namespace name of the Atom
95 Syndication Format [RFC4287]. The prefix "app:" is used for
96 "http://www.w3.org/2007/app", the namespace name of the Atom
97 Publishing Protocol [RFC5023]. These namespace prefixes are not
98 semantically significant.
100 2. Discovering Collections from a Feed Document
102 When an Atom Processor encounters an Atom Feed Document, and the
103 processor is capable of performing AtomPub operations, then it is
104 valuable to determine whether that feed is modifiable. Some
105 processors incorrectly assume that a feed may be modified at the
106 exact same URI from which it is obtained.
108 AtomPub Processors need a way to determine whether and where new
109 entries can be added to a Feed. If a syndicated feed document is
110 modifiable using AtomPub, then the processor can indeed manipulate
111 the feed. For this purpose, processors can benefit from Collection
112 metadata that is present in the feed document.
114 The alternative is obtaining the feed's service document by following
115 a link with the relation "service", followed by identifying the
116 Collection resources in the AtomPub Service Document, followed by
117 correlating these Collection resources to the feed at hand.
118 Naturally, this alternative is more complex, resource consuming, and
119 less likely to succeed in finding the exact Collection resource to be
120 manipulated.
122 Moreover, not every feed can be modified, and servers can indicate
123 this by omitting Collection metadata in such feeds.
125 Section 8.3.5 of [RFC5023] specifies the Collection metadata that may
126 occur in syndicated Atom feeds. The presence of an app:collection
127 element as a child of an atom:feed element signals server's
128 preparedness to modify a feed. This document therefore recommnds
129 that if a Feed is backed by a Collection, then the server SHOULD
130 identify the backing Collection using the app:collection element as a
131 child of the atom:feed element.
133 If the href attribute of this app:collection element is identical to
134 that of the parent atom:feed element's self link relation, then the
135 processor SHOULD treat the feed to be the Collection feed as defined
136 in Section 4.2 of [RFC5023].
138 Example: Writable Collection backing a Feed
140
141
142
143 Writable Feed
144 application/atom+xml;type=entry
145
146 ...
147
149 Example: Read-only Collection backing a Feed
151
152
153
154 Read-only Feed
155
156
157 ...
158
159 Example: Writable Collection Feed
161
162
163
164 Collection Feed
165
166 ...
167
169 3. Discovering Service from an HTML Document
171 When an Atom processor encounters an HTML or XHTML document, and the
172 processor is capable of performing AtomPub operations, then it is
173 useful to determine the available AtomPub resources with which it can
174 interact.
176 The host format, though, limits the ability to specify metadata
177 embedded in the content being processed. Therefore, the best
178 approach for a server is to specify a link with relation "service" to
179 provide a URI to the AtomPub Service Document that includes all the
180 metadata corresponding to one or more Collections. The server can
181 also specify a link with relation "feed" to provide a URI to an Atom
182 feed with relevant content, which can in turn provide additional
183 metadata for manipulating AtomPub resources present on that server as
184 explained in the previous section.
186 4. Security Considerations
188 None
190 5. IANA Considerations
192 None
194 6. Normative References
196 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
197 Requirement Levels", BCP 14, RFC 2119, March 1997.
199 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
200 Resource Identifier (URI): Generic Syntax", STD 66,
201 RFC 3986, January 2005.
203 [RFC4287] Nottingham, M., Ed. and R. Sayre, Ed., "The Atom
204 Syndication Format", RFC 4287, December 2005.
206 [RFC5023] Gregorio, J. and B. de hOra, "The Atom Publishing
207 Protocol", RFC 5023, October 2007.
209 Appendix A. Revision History
211 00 - Initial Revision, created from
212 draft-divilly-atompub-hierarchy-00.
214 Authors' Addresses
216 Colm Divilly
217 Oracle Corp.
219 Email: colm.divilly@oracle.com
220 URI: http://cdivilly.wordpress.com
222 Nikunj Mehta
223 Oracle Corp.
225 Email: nikunj.mehta@oracle.com
226 URI: http://o-micron.blogspot.com/