TOC 
Network Working GroupM. Atkins
Internet-DraftSix Apart Ltd
Intended status: ExperimentalMarch 8, 2010
Expires: September 9, 2010 


Atom and RSS Service Provider Extensions (Draft)
feedprovider-00

Status of this Memo

This document is an Internet-Draft and is NOT offered in accordance with Section 10 of RFC 2026, and the author does not provide the IETF with any rights other than to publish as an Internet-Draft.

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 September 9, 2010.

Abstract

This document presents an extension that allows a service provider that publishes feeds to include information about itself in those feeds.

Requirements Language

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 RFC 2119 (, “RFC 2119,” .) [RFC2119].



Table of Contents

1.  Introduction
2.  Notational Conventions
3.  Service Provider Properties
4.  The service:provider Element
    4.1.  The atom:name Element
    4.2.  The atom:icon Element
    4.3.  The atom:uri Element
5.  Security Considerations
6.  IANA Considerations
7.  Normative References
Appendix A.  Acknowledgements
Appendix B.  Examples
    B.1.  Feed Example
§  Author's Address




 TOC 

1.  Introduction

This document presents an extension that allows a service provider that publishes feeds to include information about itself in those feeds.



 TOC 

2.  Notational Conventions

The XML Namespaces URI [W3C.REC-xml-names-19990114] for the XML elements and attributes described in this specification is: http://activitystrea.ms/service-provider.

In this document, the namespace prefix "service:" is used for the above Namespace URI. The namespace prefix "atom:" is used for the namespace URI http://www.w3.org/2005/Atom. The choices of namespace prefix are arbitrary and not semantically significant. RSS 2.0 elements, which are not in an XML namespace, are referred to simply as "RSS elements".

This specification uses a shorthand form of terms from the XML Infoset [W3C.REC-xml-infoset-20040204]. The phrase "Information Item" is omitted when naming Element and Attribute Information Items. Therefore, when this specification uses the term "element," it is referring to an Element Information Item in Infoset terms. Likewise, when this specification uses the term "attribute," it is referring to an Attribute Information Item.

This specification allows the use of IRIs [RFC3987]. Every URI [RFC3986] is also an IRI, so a URI may be used wherever an IRI is named. When an IRI that is not also a URI is given for dereferencing, it MUST be mapped to a URI using the steps in Section 3.1 of [RFC3987]. When an IRI is serving as an identifier, it MUST NOT be so mapped.

This specification uses "the Atom specification" to refer to [RFC4287] (, “The Atom Syndication Format,” .).



 TOC 

3.  Service Provider Properties

On the web today most users publish content of various types through one or more providers that specialize in publishing content. Examples of specific kinds of providers are photo hosting providers, blog hosting providers and video hosting providers, though there are many more.

The atom:author element from the Atom specification allows a feed to describe the author of the content. The atom:generator element allows a feed to describe what software was used to generate it. Several child elements of atom:feed allow a feed to describe itself. However, the Atom specification provides no specific support for describing the service provider. While in some cases the "generator" value will describe this due to the software and the service having the same name, the ambiguity of this means that it cannot be reliably employed to obtain service provider information in practice.

While it is anticipated that other uses of this information will emerge in future, the primary use-case addressed by the extensions described in the following sections is that of systems that publish a user's content aggregated from a number of services. In many cases such systems wish to include an icon representing the service and may also name and link to the service in the description of the content.



 TOC 

4.  The service:provider Element

The service:provider element is a container for elements describing the service provider. Service providers MAY include a single service:provider element as a child of the atom:feed element. Content re-publishing services SHOULD include the service:provider element from the source feed in the atom:source element of any entries they republish, where such an element was present in the source feed.

If a content re-publishing service can determine the information required for the service:provider element from another source not considered by this specification, it MAY synthesize a suitable service:provider element and include it in atom:source.

The service:provider element MAY also be used as a child of an RSS channel element, where it has the same content model, meaning and processing expectations as when it appears in an atom:feed element. When used in an RSS channel, the child elements of service:provider are still Atom elements as described in the following sections, and must be declared to be in the appropriate namespace.

This element is intended only for use in branded service provider scenarios. It MUST NOT be used to describe the software used to generate the feed unless that software has the same name, URL and icon as the branded service provider. It also MUST NOT be used in feeds that are "self-hosted" by their author. If the content is not hosted by a branded hosted provider the service:provider element MUST NOT be present.



 TOC 

4.1.  The atom:name Element

When used as a child of a service:provider element, the atom:name element contains the name of the service provider. When used in this way, the name element MUST NOT include a type attribute, and must therefore contain only text content as described by section 3.1.1.1 of the Atom specification.

A service:provider Element MUST contain exactly one atom:name element.

The value of this element SHOULD be the brand name of the publishing service as would be familiar to end-users of the service.



 TOC 

4.2.  The atom:icon Element

When used as a child of a service:provider element, the atom:icon element contains an IRI reference that refers to an image that provides iconic visual identification for the service provider. Its content model is as defined in section 4.2.5 of the Atom specification.

The icon referenced by this element SHOULD be 16 pixels in both dimensions and SHOULD have the media type image/png, image/gif or image/jpeg. The icon SHOULD be an icon form of the logo of the publishing service as would be familiar to end-users of the service. In most cases, this icon SHOULD be the same icon as used as the shortcut icon or "favicon" for the publishing service.

A service:provider Element MUST contain zero or one atom:icon elements. If a processor encounters a feed with more than one provider icon, it MUST process only the first such child element of service:provider in document order and ignore all other sibling atom:icon elements.

As required by the Atom specification, this element MUST NOT contain a relative URL.



 TOC 

4.3.  The atom:uri Element

When used as a child of a service:provider element, the atom:uri element contains an IRI reference that refers to the "home page" of the service provider site.

The page referenced by this element SHOULD be the entry point of the service as would be familiar to end-users of the service.

A service:provider Element MUST contain zero or one atom:uri elements.

As required by the Atom specification, this element MUST NOT contain a relative URL.



 TOC 

5.  Security Considerations

As this specification defines an extension to the Atom Syndication Format, it is subject to the same security considerations defined in [RFC4287] (, “The Atom Syndication Format,” .).

The information provided in the elements described in this specification is intended only to be advisory, and should not be considered to be or presented to the user as authoritative metadata.

[TODO: Write some more here.]



 TOC 

6.  IANA Considerations

None.



 TOC 

7. Normative References

[RFC2119] “RFC 2119.”
[RFC3987] “Internationalized Resource Identifiers (IRIs).”
[RFC4287] “The Atom Syndication Format.”


 TOC 

Appendix A.  Acknowledgements

...



 TOC 

Appendix B.  Examples

This appendix is non-normative.



 TOC 

B.1.  Feed Example

A feed with service provider annotations.

<feed xmlns="http://www.w3.org/2005/Atom"
      xmlns:service="http://activitystrea.ms/service-provider">
   <id>tag:photopanic.example.com,2008:activity01</id>
   <title>Geraldine's Photos at PhotoPanic</title>
   <generator>UberPhotoHostingSystem</generator>
   <updated>2008-11-02T15:29:00Z</updated>
   <link rel="alternate" type="text/html"
         href="/geraldine/activities" />
   <author>
      <name>Geraldine</name>
   </author>
   <service:provider>
      <name>PhotoPanic</name>
      <icon>http://photopanic.example.com/favicon.png</icon>
      <uri>http://photopanic.example.com/</uri>
   </service:provider>
</entry>

This example shows a feed provided by a ficticious hosting provider called PhotoPanic, indicating its name, icon URL and home page URL. This example also includes an atom:generator element describing the ficticious software that powers PhotoPanic, and an atom:author element describing a ficticious user of PhotoPanic.



 TOC 

Author's Address

  Martin Atkins
  Six Apart Ltd