http://www.intertwingly.net/wiki/pie/PaceCategoryLink
#pragma section-numbers off
== Abstract ==
Define a link element within an app:category to specify links to
category descriptions, etc
Note: The text of this proposal builds off of that proposed by
PaceMediaEntries3
== Status ==
Proposal
== Rationale ==
Just looking to close another as-yet still open issue. In prior
discussions, we weren't able to come to agreement on the format used to
represent a categories list, although many liked the general idea of
using APP to manage the list of categories. This pace punts on that
issue by allowing app:collection to contain zero or more atom:link
elements and defining a "categories" link relation. An introspection
file would then just reference some kind of resource listing the
categories without actually going through the work of defining the
format. This approach has the side effect of being useful for linking
other types of things to the collection as well (e.g. archives,
templates, user lists, etc)
For example,
{{{
<app:collection title="Entries" href="/foo">
<atom:link rel="categories"
type="application/atom+xml"
href="/categories" />
<atom:link rel="archives"
type="application/atom+xml"
href="/archives/2006/04/feed.xml" />
<atom:link rel="templates"
type="application/atom+xml"
href="/themes/foo/templates" />
<atom:link rel="users"
type="application/atom+xml"
href="/foo/users" />
<atom:link rel="trash"
type="application/atom+xml"
href="/foo/trash" />
</app:collection>
}}}
Only the "categories" link relation is actually defined by the spec.
== Proposal ==
{{{
7.1 Example
<?xml version="1.0" encoding='utf-8'?>
<service xmlns="http://purl.org/atom/app#"
xmlns:atom="http://www.w3.org/2005/Atom">
<workspace title="Main Site" >
<collection
title="My Blog Entries"
href="http://example.org/reilly/main">
<atom:link
rel="categories"
href="http://example.org/reilly/categories" />
</collection>
<collection
title="Pictures"
href="http://example.org/reilly/pic" >
<accept>image/*</accept>
</collection>
</workspace>
<workspace title="Side Bar Blog">
<collection title="Remaindered Links"
href="http://example.org/reilly/list" />
</workspace>
</service>
This Introspection Document describes two workspaces. The first, called
"Main Site", has two collections called "My Blog Entries" and
"Pictures" whose URIs are "http://example.org/reilly/main" and
"http://example.org/reilly/pic" respectively. The "Pictures" includes an
accept element indicating that client may post binary image files to to
collection to create new entries. Entries with associated media
resources are discussed in section 8.3.
The "My Blog Entries" collection contains a single link element
referencing an IRI where a listing of this collection's categories may
be found.
The second workspace is called "Side Bar Blog" and has a single
collection called "Remaindered Links" whose collection URI is
"http://example.org/reilly/list".
}}}
Section 7.2.3:
{{{
The "app:collection" describes an Atom Protocol collection. The
app:collection element MAY contain one "app:accept" element and zero or
more "atom:link" elements.
appCollection =
element app:collection {
appCommonAttributes,
attribute title { text },
attribute href { text },
( appAccept?,
atomLink*,
& extensionElement* )
}
The "app:collection" element MAY appear as a child of an atom:feed or
atom:source element to identify the collection to which new entries may
be added to the feed
}}}
Add section 7.2.5
{{{
7.2.5 Collection links
The "app:collection" element MAY contain zero or more atom:link
elements. Each link defines a relationship between the collection and a
Web resource.
This specification adds a "categories" link relation to the IANA
Registry of Link Relations [RFC4287]. The IRI specified by the href
attribute of a "categories" link relation identifies a resource that
defines which categories clients may be assigned to entries contained by
the collection.
}}}
== Impacts ==
== Notes ==
----
CategoryProposals