idnits 2.17.1 draft-snell-atompub-feed-thread-01.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 379. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 356. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 363. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 369. ** 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 229 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 15, 2005) is 6822 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) == Outdated reference: A later version (-11) exists of draft-ietf-atompub-format-10 ** Obsolete normative reference: RFC 3066 (Obsoleted by RFC 4646, RFC 4647) Summary: 5 errors (**), 0 flaws (~~), 4 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 15, 2005 4 Expires: February 16, 2006 6 Feed Thread: Enabling Threaded Entries in Atom 7 draft-snell-atompub-feed-thread-01.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 16, 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 an atom: 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. The type attribute 133 MAY be used to indicate the media type of the entity identified by 134 the id attribute. The source attribute MAY be used to specify a 135 dereferenceable URI identifying the source of the entity being 136 responded to. 138 In either form, the title attribute MAY be used to specify a human 139 readable title for the resource referenced by the href attribute. 140 The reflang attribute MAY be used to specify the language of the 141 resource referenced by the href attribute. The value of the hreflang 142 MUST be a language tag [RFC3066]. 144 o atom:entry elements MAY contain any number of 'in-reply-to' 145 extension elements. 146 o atom:entry elements MUST NOT contain more than one 'in-reply-to' 147 extension element having the same 'type' and 'href' attribute or 148 'type' and 'idref' attribute values. 149 o atom:feed elements MAY contain any number of 'in-reply-to' 150 extension elements. 152 o atom:feed elements MUST NOT contain more than one 'in-reply-to' 153 extension elements having the same 'type' and 'href' attribute or 154 'type' and 'idref' attribute values. 155 o atom:source elements MAY contain any number of 'in-reply-to' 156 extension elements. 157 o atom:source elements MUST NOT contain more than one 'in-reply-to' 158 extension element having the same 'type' and 'href' attribute or 159 'type' and 'idref' attribute values. 160 o If an atom:entry element does not contain any 'in-reply-to' 161 extension elements, any 'in-reply-to' extension elements of the 162 contained atom:source are considered to apply 163 o In an Atom Feed Document, if an atom:entry element or a contained 164 atom:source element do not contain any 'in-reply-to' extension 165 elements, any 'in-reply-to' extension elements in the feed head 166 section are considered to apply. 168 For example 169 170 http://www.example.com/myfeed 171 My Example Feed 172 2005-07-28T12:00:00Z 173 174 James 175 176 tag:example.com,2005:1 177 My original entry 178 179 This is my original entry 180 181 182 tag:example.com,2005:1,1 183 A response to the original 184 185 189 This is a response to the original entry 190 191 193 The behavior of 'in-reply-to' extension elements with type attributes 194 specifying any media type other than "application/atom+xml" is 195 undefined. Software written to conform to this version of the 196 specification will not be guaranteed to process such links correctly. 198 When an 'in-reply-to' extension element is used to reference an 199 entity that does not appear within the same Atom document as the 200 entry containing the in-reply-to element, a "related" link relation 201 SHOULD be included that references the same URI as the href attribute 202 in dereferenceable in-reply-to elements or the source attribute in 203 non-dereferenceable in-reply-to elements. 205 For example 206 207 http://www.example.com/myfeed 208 My Example Feed 209 2005-07-28T12:00:00Z 210 211 James 212 213 tag:example.com,2005:1,1 214 A response to the original 215 216 219 221 This is a response to the original entry 222 223 225 4. The 'replies' link relation 227 While responses to entries MAY appear within the same feed as the 228 entry being responded to, it is common practice to separate responses 229 into a separate feed document or other resource. In such cases, it 230 is helpful for an atom:feed or atom:entry to indicate the location of 231 a resource where responses may be found. For this purpose, the 232 'replies' link relation is used. 234 The type attribute of the 'replies' link relation indicates the type 235 of resource containing the responses. A value of 'application/ 236 atom+xml' indicates that the resource identified by the link's href 237 attribute is either an Atom Feed Document or an Atom Entry Document 238 that MAY contain one or more 'in-reply-to' link relations. If the 239 type attribute is omitted, it's value is assumed to be "application/ 240 atom+xml". 242 o atom:entry elements MAY contain any number of 'replies' link 243 relations. 244 o atom:entry elements MUST NOT contain more than one 'replies' link 245 relation having the same 'type' and 'href' attribute values. 247 o atom:feed elements MAY contain any number of 'replies' link 248 relations. 249 o atom:feed elements MUST NOT contain more than one 'replies' link 250 relation having the same 'type' and 'href' attribute values. 251 o atom:source elements MAY contain any number of 'replies' link 252 relations. 253 o atom:source elements MUST NOT contain more than one 'replies' link 254 relation having the same 'type' and 'href' attribute values. 255 o If an atom:entry element does not contain any 'replies' link 256 relations, any 'replies' link relations of the contained atom: 257 source are considered to apply 258 o In an Atom Feed Document, if an atom:entry element or a contained 259 atom:source element do not contain any 'replies' link relations, 260 any 'replies' link relations in the feed head section are 261 considered to apply. 263 The presence of a 'replies' link relation is merely a hint as to 264 where responses to entries MAY be found and does not guarantee that 265 the referenced resource contains any 'in-reply-to' link relations or 266 responses to any entries within the containing feed. 268 For example, replies contained in a separate Atom feed 269 270 http://www.example.com/myfeed 271 My Example Feed 272 2005-07-28T12:00:00Z 273 274 277 James 278 279 tag:entries.com,2005:1 280 My original entry 281 282 This is my original entry 283 284 286 The behavior of 'replies' link relations specifying any media type 287 other than "application/atom+xml" is undefined. Software written to 288 conform to this version of the specification will not be guaranteed 289 to process such links correctly. 291 5. Security Considerations 293 Feeds using the mechanisms described here could be crafted in such a 294 way as to cause a consumer to initiate excessive (or even an unending 295 sequence of) network requests, causing denial of service (either to 296 the consumer, the target server, and/or intervening networks). This 297 risk can be mitigated by requiring user intervention after a certain 298 number of requests, or by limiting requests either according to a 299 hard limit, or with heuristics. 301 6. IANA Considerations 303 This specification defines one new Atom link relation type to be 304 registered in the IANA Registry of Link Relation as defined by 305 [I-D.ietf-atompub-format]. 306 Attribute Value: replies 307 Description: (see section 4) 308 Expected display characteristics: (see section 4) 309 Security considerations: (see section 6) 311 7. References 313 [I-D.ietf-atompub-format] 314 Sayre, R. and M. Nottingham, "The Atom Syndication 315 Format", draft-ietf-atompub-format-10 (work in progress), 316 July 2005. 318 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 319 Requirement Levels", BCP 14, RFC 2119, March 1997. 321 [RFC3066] Alvestrand, H., "Tags for the Identification of 322 Languages", BCP 47, RFC 3066, January 2001. 324 [W3C.REC-xml-infoset-20040204] 325 Tobin, R. and J. Cowan, "XML Information Set (Second 326 Edition)", W3C REC REC-xml-infoset-20040204, 327 February 2004. 329 [W3C.REC-xml-names-19990114] 330 Hollander, D., Bray, T., and A. Layman, "Namespaces in 331 XML", W3C REC REC-xml-names-19990114, January 1999. 333 Author's Address 335 James M Snell 337 Phone: 338 Email: jasnell@gmail.com 339 URI: http://snellspace.com 341 Appendix A. Acknowledgements 343 The author gratefully acknowledges the feedback from the members of 344 Atom Publishing Format and Protocol working group during the 345 development of this specification. 347 Intellectual Property Statement 349 The IETF takes no position regarding the validity or scope of any 350 Intellectual Property Rights or other rights that might be claimed to 351 pertain to the implementation or use of the technology described in 352 this document or the extent to which any license under such rights 353 might or might not be available; nor does it represent that it has 354 made any independent effort to identify any such rights. Information 355 on the procedures with respect to rights in RFC documents can be 356 found in BCP 78 and BCP 79. 358 Copies of IPR disclosures made to the IETF Secretariat and any 359 assurances of licenses to be made available, or the result of an 360 attempt made to obtain a general license or permission for the use of 361 such proprietary rights by implementers or users of this 362 specification can be obtained from the IETF on-line IPR repository at 363 http://www.ietf.org/ipr. 365 The IETF invites any interested party to bring to its attention any 366 copyrights, patents or patent applications, or other proprietary 367 rights that may cover technology that may be required to implement 368 this standard. Please address the information to the IETF at 369 ietf-ipr@ietf.org. 371 Disclaimer of Validity 373 This document and the information contained herein are provided on an 374 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 375 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 376 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 377 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 378 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 379 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 381 Copyright Statement 383 Copyright (C) The Internet Society (2005). This document is subject 384 to the rights, licenses and restrictions contained in BCP 78, and 385 except as set forth therein, the authors retain all their rights. 387 Acknowledgment 389 Funding for the RFC Editor function is currently provided by the 390 Internet Society.