idnits 2.17.1 draft-snell-atompub-feed-thread-02.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 378. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 355. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 362. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 368. ** 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 == Line 228 has weird spacing: '...ment or other...' -- 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 (August 2005) is 6828 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) ** Obsolete normative reference: RFC 3066 (Obsoleted by RFC 4646, RFC 4647) Summary: 5 errors (**), 0 flaws (~~), 3 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 August 2005 4 Expires: February 2, 2006 6 Feed Thread: Enabling Threaded Entries in Atom 7 draft-snell-atompub-feed-thread-02.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 February 2, 2006. 34 Copyright Notice 36 Copyright (C) The Internet Society (2005). 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 . . . . . . . . . . . . . . . . . . 7 50 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . 8 51 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 52 Author's Address . . . . . . . . . . . . . . . . . . . . . . 8 53 A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 54 Intellectual Property and Copyright Statements . . . . . . . 10 56 1. Introduction 58 This document specifies a mechanism that allows the expression of 59 threaded discussions within the Atom Syndication Format ([I-D.ietf- 60 atompub-format]). 62 2. Notational Conventions 64 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 65 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 66 document are to be interpreted as described in BCP 14, [RFC2119], as 67 scoped to those conformance targets. 69 In this specification, "entry" refers to an atom:entry element. 71 In this specification, "feed" refers to an Atom Feed Document. 73 In this specification, "head section" refers to the children of a 74 feed's document-wide metadata container; e.g., the child elements of 75 the atom:feed element in an Atom Feed Document. 77 In this specification, "link" refers to the atom:link element. 79 In this specification, "link relation" refers to the value of the 80 atom:link element's rel attribute. 82 In this specification, the term "extension element" refers to a 83 structured extension element as described in [I-D.ietf-atompub- 84 format]. 86 This specification uses XML Namespaces [W3C.REC-xml-names-19990114] 87 to uniquely identify XML element names. It uses the following 88 namespace prefix for the indicated namespace URI; 89 "thr": "http://purl.org/syndication/thread/1.0" 91 This specification uses terms from the XML Infoset [W3C.REC-xml- 92 infoset-20040204]. However, this specification uses a shorthand; the 93 phrase "Information Item" is omitted when naming Element Information 94 Items. Therefore, when this specification uses the term "element," 95 it is referring to an Element Information Item in Infoset terms. 97 3. The 'in-reply-to' extension element 99 The 'in-reply-to' extension element is used to indicate that a feed 100 entry is a response to another resource. The element must take one 101 of two forms as described by the inReplyToDereferenceable and 102 inReplyToNonDereferenceable constructs defined below. 104 inReplyToCommonAttributes = { 105 attribute reflang { atomLanguageTag }?, 106 attribute title { text }? 107 } 109 inReplyToDereferenceable = element thr:in-reply-to { 110 atomCommonAttributes, 111 inReplyToCommonAttributes, 112 attribute href { atomURI }, 113 attribute type { atomMediatype }? 114 } 116 inReplyToNonDereferenceable = element thr:in-reply-to { 117 atomCommonAttributes, 118 inReplyToCommonAttributes, 119 attribute idref { atomURI }, 120 attribute type { atomMediaType }?, 121 attribute source { atomURI}? 122 } 124 In the inReplyToDereferenceable form, the href attribute MUST specify 125 a dereferenceable URI that may be used to locate the entity that the 126 containing Atom Entry is a response to. The type attribute MAY be 127 used to indicate the media type of the entity specified by the href 128 attribute. 130 In the inReplyToNonDereferenceable form, the idref attribute MUST 131 specify a nondereferenceable URI that uniquely identifies the entity 132 that the containing Atom Entry is a response to; for instance, if the 133 resource being responded to is an atom:entry, the idref should 134 specify the value of the entry's atom:id element. The type attribute 135 MAY be used to indicate the media type of the entity identified by 136 the id attribute. The source attribute MAY be used to specify a 137 dereferenceable URI identifying the source of the entity being 138 responded to. 140 In either form, the title attribute MAY be used to specify a human 141 readable title for the resource referenced by the href attribute. 142 The reflang attribute MAY be used to specify the language of the 143 resource referenced by the href attribute. The value of the reflang 144 MUST be a language tag [RFC3066]. 146 o atom:entry elements MAY contain any number of 'in-reply-to' 147 extension elements. 148 o atom:entry elements MUST NOT contain more than one 'in-reply-to' 149 extension element having the same 'type' and 'href' attribute or 150 'type' and 'idref' attribute values. 152 o atom:feed elements MAY contain any number of 'in-reply-to' 153 extension elements. 154 o atom:feed elements MUST NOT contain more than one 'in-reply-to' 155 extension elements having the same 'type' and 'href' attribute or 156 'type' and 'idref' attribute values. 157 o atom:source elements MAY contain any number of 'in-reply-to' 158 extension elements. 159 o atom:source elements MUST NOT contain more than one 'in-reply-to' 160 extension element having the same 'type' and 'href' attribute or 161 'type' and 'idref' attribute values. 163 An 'in-reply-to' extension element appearing as a child of an atom: 164 feed element indicates that all of the atom:entry elements contained 165 within that atom:feed are responses to the referenced resource. 167 For example 168 169 http://www.example.com/myfeed 170 My Example Feed 171 2005-07-28T12:00:00Z 172 173 James 174 175 tag:example.com,2005:1 176 My original entry 177 178 This is my original entry 179 180 181 tag:example.com,2005:1,1 182 A response to the original 183 184 188 This is a response to the original entry 189 190 192 The behavior of 'in-reply-to' extension elements with type attributes 193 specifying any media type other than "application/atom+xml" is 194 undefined. Software written to conform to this version of the 195 specification will not be guaranteed to process such links correctly. 197 When an 'in-reply-to' extension element is used to reference an 198 entity that does not appear within the same Atom document as the 199 entry containing the in-reply-to element, a "related" link relation 200 SHOULD be included that references the same URI as the href attribute 201 in dereferenceable in-reply-to elements or the source attribute in 202 non-dereferenceable in-reply-to elements. 204 For example 205 206 http://www.example.com/myfeed 207 My Example Feed 208 2005-07-28T12:00:00Z 209 210 James 211 212 tag:example.com,2005:1,1 213 A response to the original 214 215 218 220 This is a response to the original entry 221 222 224 4. The 'replies' link relation 226 While responses to entries MAY appear within the same feed as the 227 entry being responded to, it is common practice to separate responses 228 into a separate feed document or other resource. In such cases, it 229 is helpful for an atom:feed or atom:entry to indicate the location of 230 a resource where responses may be found. For this purpose, the 231 'replies' link relation is used. 233 The type attribute of the 'replies' link relation indicates the type 234 of resource containing the responses. A value of 'application/ 235 atom+xml' indicates that the resource identified by the link's href 236 attribute is either an Atom Feed Document or an Atom Entry Document 237 that MAY contain one or more 'in-reply-to' link relations. If the 238 type attribute is omitted, it's value is assumed to be "application/ 239 atom+xml". 241 o atom:entry elements MAY contain any number of 'replies' link 242 relations. 243 o atom:entry elements MUST NOT contain more than one 'replies' link 244 relation having the same 'type' and 'href' attribute values. 245 o atom:feed elements MAY contain any number of 'replies' link 246 relations. 248 o atom:feed elements MUST NOT contain more than one 'replies' link 249 relation having the same 'type' and 'href' attribute values. 250 o atom:source elements MAY contain any number of 'replies' link 251 relations. 252 o atom:source elements MUST NOT contain more than one 'replies' link 253 relation having the same 'type' and 'href' attribute values. 255 A 'replies' link relation appearing as a child of an atom:feed 256 element indicates that the referenced resource MAY contain responses 257 to any of the atom:feed elements contained atom:entry's. A 'replies' 258 link relation appearing as a cihld of an atom:entry or atom:source 259 element indicates that the referenced resource MAY contain responses 260 to the containing atom:entry. 262 The presence of a 'replies' link relation is merely a hint as to 263 where responses to entries MAY be found and does not guarantee that 264 the referenced resource contains any 'in-reply-to' link relations or 265 responses to any entries within the containing feed. 267 For example, replies contained in a separate Atom feed 268 269 http://www.example.com/myfeed 270 My Example Feed 271 2005-07-28T12:00:00Z 272 273 276 James 277 278 tag:entries.com,2005:1 279 My original entry 280 281 This is my original entry 282 283 285 The behavior of 'replies' link relations specifying any media type 286 other than "application/atom+xml" is undefined. Software written to 287 conform to this version of the specification will not be guaranteed 288 to process such links correctly. 290 5. Security Considerations 292 Feeds using the mechanisms described here could be crafted in such a 293 way as to cause a consumer to initiate excessive (or even an unending 294 sequence of) network requests, causing denial of service (either to 295 the consumer, the target server, and/or intervening networks). This 296 risk can be mitigated by requiring user intervention after a certain 297 number of requests, or by limiting requests either according to a 298 hard limit, or with heuristics. 300 6. IANA Considerations 302 This specification defines one new Atom link relation type to be 303 registered in the IANA Registry of Link Relation as defined by 304 [I-D.ietf-atompub-format]. 305 Attribute Value: replies 306 Description: (see section 4) 307 Expected display characteristics: (see section 4) 308 Security considerations: (see section 6) 310 7. References 312 [I-D.ietf-atompub-format] 313 Sayre, R. and M. Nottingham, "The Atom Syndication 314 Format", draft-ietf-atompub-format-11 (work in progress), 315 August 2005. 317 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 318 Requirement Levels", BCP 14, RFC 2119, March 1997. 320 [RFC3066] Alvestrand, H., "Tags for the Identification of 321 Languages", BCP 47, RFC 3066, January 2001. 323 [W3C.REC-xml-infoset-20040204] 324 Tobin, R. and J. Cowan, "XML Information Set (Second 325 Edition)", W3C REC REC-xml-infoset-20040204, 326 February 2004. 328 [W3C.REC-xml-names-19990114] 329 Hollander, D., Bray, T., and A. Layman, "Namespaces in 330 XML", W3C REC REC-xml-names-19990114, January 1999. 332 Author's Address 334 James M Snell 336 Phone: 337 Email: jasnell@gmail.com 338 URI: http://snellspace.com 340 Appendix A. Acknowledgements 342 The author gratefully acknowledges the feedback from the members of 343 Atom Publishing Format and Protocol working group during the 344 development of this specification. 346 Intellectual Property Statement 348 The IETF takes no position regarding the validity or scope of any 349 Intellectual Property Rights or other rights that might be claimed to 350 pertain to the implementation or use of the technology described in 351 this document or the extent to which any license under such rights 352 might or might not be available; nor does it represent that it has 353 made any independent effort to identify any such rights. Information 354 on the procedures with respect to rights in RFC documents can be 355 found in BCP 78 and BCP 79. 357 Copies of IPR disclosures made to the IETF Secretariat and any 358 assurances of licenses to be made available, or the result of an 359 attempt made to obtain a general license or permission for the use of 360 such proprietary rights by implementers or users of this 361 specification can be obtained from the IETF on-line IPR repository at 362 http://www.ietf.org/ipr. 364 The IETF invites any interested party to bring to its attention any 365 copyrights, patents or patent applications, or other proprietary 366 rights that may cover technology that may be required to implement 367 this standard. Please address the information to the IETF at 368 ietf-ipr@ietf.org. 370 Disclaimer of Validity 372 This document and the information contained herein are provided on an 373 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 374 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 375 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 376 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 377 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 378 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 380 Copyright Statement 382 Copyright (C) The Internet Society (2005). This document is subject 383 to the rights, licenses and restrictions contained in BCP 78, and 384 except as set forth therein, the authors retain all their rights. 386 Acknowledgment 388 Funding for the RFC Editor function is currently provided by the 389 Internet Society.