From: http://www.ietf.org/internet-drafts/draft-snell-atompub-app-blogcontrol-00.txt Title: Atom Publishing Protocol - Blog Publishing Controls Reference: IETF Working Group, Internet-Draft 'draft-snell-atompub-app-blogcontrol-00.txt' Date: September 24, 2005 ID Tracker: http://ietfreport.isoc.org/idref/draft-snell-atompub-app-blogcontrol/ General references: http://xml.coverpages.org/atom.html Other Atom WG specs: http://xml.coverpages.org/AtomSpecs.html ======================================================================== Network Working Group J. Snell Internet-Draft E. Torres Expires: March 28, 2006 September 24, 2005 Atom Publishing Protocol - Blog Publishing Controls draft-snell-atompub-app-blogcontrol-00.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on March 28, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document introduces weblog specific publishing control extensions for use with the Atom Publishing Protocol pub:control mechanism. Snell & Torres Expires March 28, 2006 [Page 1] Internet-Draft Feed Thread September 2005 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Notational Conventions . . . . . . . . . . . . . . . . . . . . 3 3. The 'blog:private' element . . . . . . . . . . . . . . . . . . 3 4. The 'blog:notify' element . . . . . . . . . . . . . . . . . . 3 5. The 'blog:enable' element . . . . . . . . . . . . . . . . . . 4 6. The 'blog:scheduled' element . . . . . . . . . . . . . . . . . 7 7. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 9 A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9 Intellectual Property and Copyright Statements . . . . . . . . 10 Snell & Torres Expires March 28, 2006 [Page 2] Internet-Draft Feed Thread September 2005 1. Introduction This document introduces weblog specific publishing control extensions for use with the Atom Publishing Protocol pub:control mechanism. 2. Notational Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, [RFC2119], as scoped to those conformance targets. In this specification, "entry" refers to an atom:entry element. In this specification, "publishing control" refers to the Atom Publishing Protocol pub:control element. This specification uses XML Namespaces [W3C.REC-xml-names-19990114] to uniquely identify XML element names. It uses the following namespace prefix for the indicated namespace URI; "blog": "http://purl.org/atompub/blogcontrols/1.0" This specification uses terms from the XML Infoset [W3C.REC-xml- infoset-20040204]. However, this specification uses a shorthand; the phrase "Information Item" is omitted when naming Element Information Items. Therefore, when this specification uses the term "element," it is referring to an Element Information Item in Infoset terms. 3. The 'blog:private' element The 'blog:private' element is used to indicate that a weblog entry should only be made available to a limited audience. It is up to specific implementations to provide the mechanism for determining the audience. If missing, the value is assumed to be indeterminate. blogPrivate = element blog:private { 'yes' | 'no' } 4. The 'blog:notify' element The 'blog:notify' element is used to specific a collection of endpoints that should be notified upon the creation or update of the entry. Snell & Torres Expires March 28, 2006 [Page 3] Internet-Draft Feed Thread September 2005 blogNotify = element blog:notify { element blogEndpoint *, undefinedContent } blogEndpoint = element blog:endpoint { attribute type { IRI }, ( IRI ) } The blog:endpoint element specifies an IRI to which a notification should be sent. The type attribute specifies a IRI indicating the type of notification to send. Ed. Note: Should notify be ignored on updates?? 5. The 'blog:enable' element The 'blog:enable' element is used to specify whether specific features should be enabled for the entry. Examples of such features include whether or not to enable comments or trackbacks for an entry, or whether or not to enable a given text-encoding mechanism or plugin. Snell & Torres Expires March 28, 2006 [Page 4] Internet-Draft Feed Thread September 2005 blogEnable = element blog:enable { element blogComments ?, element blogTrackbacks ?, element blogPingbacks ?, element blogCommentsNotify ?, element blogTrackbacksNotify ?, element blogPingbacksNotify ?, element blogTextEncoding *, element blogPlugin *, undefinedContent } blogComments = element blog:comments { attribute until { dateTime }?, ('yes','no','moderated','registered') } blogTrackbacks = element blog:trackbacks { attribute until { dateTime }?, ('yes','no','moderated','registered') } blogPingbacks = element blog:pingbacks { attribute until { dateTime }?, ('yes','no','moderated','registered') } blogCommentsNotify = element blog:comments-notify { 'yes' | 'no' } blogTrackbacksNotify = element blog:trackbacks-notify { 'yes' | 'no' } blogPingbacksNotify = element blog:pingbacks-notify { 'yes' | 'no' } blogTextEncoding = element blog:text-encoding { attribute id { IRI }, undefinedContent } blogPlugin = element blog:plugin { attribute id { IRI }, undefinedContent } Snell & Torres Expires March 28, 2006 [Page 5] Internet-Draft Feed Thread September 2005 o The blog:comments element specifies whether to enable comments for the entry. The value of the element is either 'yes', indicating that comments are fully enabled; 'no', indicating that comments are fully disabled; 'moderated', indicating that comments must be reviewed and approved prior to acceptance; and 'registered', indicating that users posting comments must be registered in order to submit comments. The option @until attribute must specify a timestamp conformant with the Atom Date Construct that specifies a moment after which comments will no longer be accepted. o The blog:trackbacks element specifies whether to enable trackbacks for the entry. The value of the element is either 'yes', indicating that trackbacks are fully enabled; 'no', indicating that trackbacks are fully disabled; 'moderated', indicating that trackbacks must be reviewed and approved prior to acceptance; and 'registered', indicating that users posting trackbacks must be registered. The option @until attribute must specify a timestamp conformant with the Atom Date Construct that specifies a moment after which trackbacks will no longer be accepted. o The blog:pingbacks element specifies whether to enable pingbacks for the entry. The value of the element is either 'yes', indicating that pingbacks are fully enabled; 'no', indicating that pingbacks are fully disabled; 'moderated', indicating that pingbacks must be reviewed and approved prior to acceptance; and 'registered', indicating that users posting pingbacks must be registered. The option @until attribute must specify a timestamp conformant with the Atom Date Construct that specifies a moment after which pingbacks will no longer be accepted. o The blog:comments-notify element specifies whether or not notifications should be sent when new comments are posted. The elements value is either 'yes' or 'no'. o The blog:comments-notify element specifies whether or not notifications should be sent when new comments are posted. The elements value is either 'yes' or 'no'. o The blog:trackbacks-notify element specifies whether or not notifications should be sent when new trackbacks are posted. The elements value is either 'yes' or 'no'. o The blog:pingbacks-notify element specifies whether or not notifications should be sent when new pingbacks are posted. The elements value is either 'yes' or 'no'. o The blog:text-encoding element @id attribute specifies an IRI identifying a text-encoding scheme to apply to the post. The blog:text-encoding element MAY contain any number of namespace- qualified child elements that MAY be considered relevant to the application of the identified text-encoding scheme. o The blog:plugin element @id attribute specifies an IRI identifying a plugin to enable for the post. The blog:plugin element MAY contain any number of namespace-qualified child elements that MAY be considered relevant to the application of the identified Snell & Torres Expires March 28, 2006 [Page 6] Internet-Draft Feed Thread September 2005 plugin. 6. The 'blog:scheduled' element The 'blog:scheduled' element is used to specify a date and time conformant to the Atom Date Construct that indicates when the posted entry should be published. If specified, sofware implementations MUST NOT make the element externally available until the moment specified in the element passes. The 'blog:scheduled' element is only effective on new or scheduled entries that have not yet been published and MUST be ignored if included in updates to existing published entries. blogScheduled = element blog:scheduled { atomDateConstruct } 7. Example The following Atom Entry illustrates the construction of an Atom Publishing Protocol post in which: o The entry is consider to be public o Trackback and Ping notifications should be sent o Comments and trackbacks are moderated and enabled until midnight, December 12, 2005 o The post should not be published until midnight, November 11, 2005 Snell & Torres Expires March 28, 2006 [Page 7] Internet-Draft Feed Thread September 2005 tag:example.com,2005:/entries/1234 A simple blog entry 2005-10-10T00:00:00Z This is a simple blog entry no \ http://www.example.com/entry1.tb \ http://www.technorati.com/ping/ moderated moderated 2005-11-11T00:00:00Z 8. Security Considerations There are no security considerations introduced by this specification. 9. IANA Considerations There are no IANA considerations introduced by this specification. 10. References [I-D.ietf-atompub-format] Sayre, R. and M. Nottingham, "The Atom Syndication Format", draft-ietf-atompub-format-11 (work in progress), August 2005. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [W3C.REC-xml-infoset-20040204] Tobin, R. and J. Cowan, "XML Information Set (Second Snell & Torres Expires March 28, 2006 [Page 8] Internet-Draft Feed Thread September 2005 Edition)", W3C REC REC-xml-infoset-20040204, February 2004. [W3C.REC-xml-names-19990114] Hollander, D., Bray, T., and A. Layman, "Namespaces in XML", W3C REC REC-xml-names-19990114, January 1999. [W3C.REC-xmlschema-2-20041028] Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes Second Edition", W3C REC REC-xmlschema-2-20041028, October 2004. Authors' Addresses James M Snell Phone: Email: jasnell@gmail.com URI: http://snellspace.com Elias Torres Phone: Email: elias@torrez.us URI: http://torrez.us Appendix A. Acknowledgements TBD Snell & Torres Expires March 28, 2006 [Page 9] Internet-Draft Feed Thread September 2005 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Snell & Torres Expires March 28, 2006 [Page 10]