idnits 2.17.1 draft-snell-atompub-feed-thread-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 14. -- Found old boilerplate from RFC 3978, Section 5.5 on line 356. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 333. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 340. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 346. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (January 24, 2006) is 6666 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 4 errors (**), 0 flaws (~~), 2 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Snell 3 Internet-Draft January 24, 2006 4 Expires: July 28, 2006 6 Feed Thread: Enabling Threaded Entries in Atom 7 draft-snell-atompub-feed-thread-04.txt 9 Status of this Memo 11 By submitting this Internet-Draft, each author represents that any 12 applicable patent or other IPR claims of which he or she is aware 13 have been or will be disclosed, and any of which he or she becomes 14 aware will be disclosed, in accordance with Section 6 of BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on July 28, 2006. 34 Copyright Notice 36 Copyright (C) The Internet Society (2006). 38 Abstract 40 This memo presents a mechanism that allows feeds publishers to 41 express threaded discussions within the Atom Syndication Format. 43 Table of Contents 45 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 46 2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 3 47 3. The 'in-reply-to' extension element . . . . . . . . . . . . . 3 48 4. The 'replies' link relation . . . . . . . . . . . . . . . . . 6 49 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 50 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 51 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 52 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 8 53 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 10 54 Intellectual Property and Copyright Statements . . . . . . . . . . 11 56 1. Introduction 58 This document specifies a mechanism that allows the expression of 59 threaded discussions within the Atom Syndication Format ([RFC4287]). 61 2. Notational Conventions 63 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 64 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 65 document are to be interpreted as described in BCP 14, [RFC2119], as 66 scoped to those conformance targets. 68 In this specification, "entry" refers to an atom:entry element. 70 In this specification, "feed" refers to an Atom Feed Document. 72 In this specification, "head section" refers to the children of a 73 feed's document-wide metadata container; e.g., the child elements of 74 the atom:feed element in an Atom Feed Document. 76 In this specification, "link" refers to the atom:link element. 78 In this specification, "link relation" refers to the value of the 79 atom:link element's rel attribute. 81 In this specification, the term "extension element" refers to a 82 structured extension element as described in [RFC4287]. 84 This specification uses XML Namespaces [W3C.REC-xml-names-19990114] 85 to uniquely identify XML element names. It uses the following 86 namespace prefix for the indicated namespace URI; 87 "thr": "http://purl.org/syndication/thread/1.0" 89 This specification uses terms from the XML Infoset [W3C.REC-xml- 90 infoset-20040204]. However, this specification uses a shorthand; the 91 phrase "Information Item" is omitted when naming Element Information 92 Items. Therefore, when this specification uses the term "element," 93 it is referring to an Element Information Item in Infoset terms. 95 3. The 'in-reply-to' extension element 97 The 'in-reply-to' extension element is used to indicate that a feed 98 entry is a response to another resource. The element MUST contain 99 either or both the 'id' and 'href' attributes. 101 in-reply-to = element thr:in-reply-to { 102 atomCommonAttributes, 103 attribute id { atomURI }?, 104 attribute href { atomURI }?, 105 attribute type { atomMediaType }?, 106 attribute source { atomURI }? 107 } 109 The 'id' attribute specifies the universally unique identifier of the 110 resource being responded to. The value of the attribute MUST conform 111 to the same construction and comparison rules as the atom:id element. 112 The 'href' attribute specifies an IRI that may be used to retrieve a 113 representation of the resource being responded to. 115 The "in-reply-to" element MAY contain a "type" attribute whose value 116 identifies the media type of the resource identified by the href 117 attribute. 119 The "in-reply-to" element MAY contain a "source" attribute whose 120 value identifies the IRI of an Atom Feed Document within which an 121 atom:entry representing the resource being responded to MAY be found. 123 o atom:entry elements MAY contain any number of 'in-reply-to' 124 extension elements. 125 o atom:entry elements SHOULD NOT contain more than one 'in-reply-to' 126 extension element having the same 'id' attribute value. 127 o atom:feed elements MAY contain any number of 'in-reply-to' 128 extension elements. 129 o atom:feed elements SHOULD NOT contain more than one 'in-reply-to' 130 extension elements having the same 'id' attribute value. 131 o atom:source elements MAY contain any number of 'in-reply-to' 132 extension elements. 133 o atom:source elements SHOULD NOT contain more than one 134 'in-reply-to' extension element having the same 'id' attribute 135 value. 137 For example 139 141 http://www.example.org/myfeed 142 My Example Feed 143 2005-07-28T12:00:00Z 144 145 James 146 147 tag:example.org,2005:1 148 My original entry 149 152 This is my original entry 153 154 155 tag:example.org,2005:1,1 156 A response to the original 157 158 162 This is a response to the original entry 163 164 166 In order to allow Atom clients that are not familiar with the in- 167 reply-to element to know that a relationship exists between the 168 containing entry and the resource being responded to, publishers are 169 advised to consider including a "related" link referencing a 170 representation of the resource identified by the in-reply-to element. 172 For example 174 176 http://www.example.org/myfeed 177 My Example Feed 178 2005-07-28T12:00:00Z 179 180 James 181 182 tag:example.org,2005:1,1 183 A response to the original 184 185 189 193 This is a response to the original entry 194 195 197 4. The 'replies' link relation 199 While responses to entries MAY appear within the same feed as the 200 entry being responded to, it is common practice to separate responses 201 into a separate feed document or other resource. In such cases, it 202 is helpful for an atom:feed or atom:entry to indicate the location of 203 a resource where responses may be found. For this purpose, the 204 'replies' link relation is used. 206 The type attribute of the 'replies' link relation indicates the type 207 of resource containing the responses. A value of 'application/ 208 atom+xml' indicates that the resource identified by the link's href 209 attribute is either an Atom Feed Document or an Atom Entry Document 210 that MAY contain one or more 'in-reply-to' link relations. If the 211 type attribute is omitted, it's value is assumed to be "application/ 212 atom+xml". 214 o atom:entry elements MAY contain any number of 'replies' link 215 relations. 216 o atom:entry elements MUST NOT contain more than one 'replies' link 217 relation having the same 'type' and 'href' attribute values. 219 o atom:feed elements MAY contain any number of 'replies' link 220 relations. 221 o atom:feed elements MUST NOT contain more than one 'replies' link 222 relation having the same 'type' and 'href' attribute values. 223 o atom:source elements MAY contain any number of 'replies' link 224 relations. 225 o atom:source elements MUST NOT contain more than one 'replies' link 226 relation having the same 'type' and 'href' attribute values. 228 A 'replies' link relation appearing as a child of an atom:feed or 229 atom:source element indicates that the referenced resource MAY 230 contain responses to any of the Feed contained atom:entry's. A 231 'replies' link relation appearing as a child of an atom:entry element 232 indicates that the referenced resource MAY contain responses to the 233 containing atom:entry. 235 Atom link elements specifying the "replies" rel attribute value MAY 236 contain a "thr:count" attribute whose value is a non-negative integer 237 indicating the total number of replies contained by the linked 238 resource. The value is strictly advisory and may not accurately 239 reflect the actual number of replies. 241 The presence of a 'replies' link relation is merely a hint as to 242 where responses to entries MAY be found and does not guarantee that 243 the referenced resource contains any responses to any entries within 244 the containing feed. 246 For example, replies contained in a separate Atom feed 248 250 http://www.example.org/myfeed 251 My Example Feed 252 2005-07-28T12:00:00Z 253 254 James 255 256 tag:entries.com,2005:1 257 My original entry 258 259 263 This is my original entry 264 265 267 The behavior of 'replies' link relations specifying any media type 268 other than "application/atom+xml" is undefined. Software written to 269 conform to this version of the specification will not be guaranteed 270 to process such links correctly. 272 5. Security Considerations 274 Feeds using the mechanisms described here could be crafted in such a 275 way as to cause a consumer to initiate excessive (or even an unending 276 sequence of) network requests, causing denial of service (either to 277 the consumer, the target server, and/or intervening networks). This 278 risk can be mitigated by requiring user intervention after a certain 279 number of requests, or by limiting requests either according to a 280 hard limit, or with heuristics. 282 6. IANA Considerations 284 This specification defines one new Atom link relation type to be 285 registered in the IANA Registry of Link Relation as defined by 286 [RFC4287]. 287 Attribute Value: replies 288 Description: (see section 4) 289 Expected display characteristics: (see section 4) 290 Security considerations: (see section 6) 292 7. References 294 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 295 Requirement Levels", BCP 14, RFC 2119, March 1997. 297 [RFC4287] Nottingham, M. and R. Sayre, "The Atom Syndication 298 Format", RFC 4287, December 2005. 300 [W3C.REC-xml-infoset-20040204] 301 Tobin, R. and J. Cowan, "XML Information Set (Second 302 Edition)", W3C REC REC-xml-infoset-20040204, 303 February 2004. 305 [W3C.REC-xml-names-19990114] 306 Hollander, D., Bray, T., and A. Layman, "Namespaces in 307 XML", W3C REC REC-xml-names-19990114, January 1999. 309 Appendix A. Acknowledgements 311 The author gratefully acknowledges the feedback from James 312 Holderness, Byrne Reese, Aristotle Pagaltzis, and the remaining 313 members of the Atom Publishing Format and Protocol working group 314 during the development of this specification. 316 Author's Address 318 James M Snell 320 Phone: 321 Email: jasnell@gmail.com 322 URI: http://snellspace.com 324 Intellectual Property Statement 326 The IETF takes no position regarding the validity or scope of any 327 Intellectual Property Rights or other rights that might be claimed to 328 pertain to the implementation or use of the technology described in 329 this document or the extent to which any license under such rights 330 might or might not be available; nor does it represent that it has 331 made any independent effort to identify any such rights. Information 332 on the procedures with respect to rights in RFC documents can be 333 found in BCP 78 and BCP 79. 335 Copies of IPR disclosures made to the IETF Secretariat and any 336 assurances of licenses to be made available, or the result of an 337 attempt made to obtain a general license or permission for the use of 338 such proprietary rights by implementers or users of this 339 specification can be obtained from the IETF on-line IPR repository at 340 http://www.ietf.org/ipr. 342 The IETF invites any interested party to bring to its attention any 343 copyrights, patents or patent applications, or other proprietary 344 rights that may cover technology that may be required to implement 345 this standard. Please address the information to the IETF at 346 ietf-ipr@ietf.org. 348 Disclaimer of Validity 350 This document and the information contained herein are provided on an 351 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 352 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 353 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 354 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 355 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 356 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 358 Copyright Statement 360 Copyright (C) The Internet Society (2006). This document is subject 361 to the rights, licenses and restrictions contained in BCP 78, and 362 except as set forth therein, the authors retain all their rights. 364 Acknowledgment 366 Funding for the RFC Editor function is currently provided by the 367 Internet Society.