UserPreferences

EntryIdentifier


Summary

Within an Entry, an echo-identifier (permalink) SHOULD be present in most cases and MUST be present in published Entries. The echo-identifier (permalink) URI SHOULD be retrievable. The echo-identifier (permalink) URI SHOULD be the preferred identifier and SHOULD NOT change when attributes of the entry change.

An Entry will commonly have an echo-publisher-identifier (publisher-id) as used by the publisher.

Note: All of these terms refer to identifiers of the Entry, not to any resources related to or linked from the Entry. In RSS terms, that would be 'guid' and 'rdf:about', not the original meaning of 'link', which was the "source" or related link for creating an Entry.

Introduction

In PermaLinks, PostIdAndPermaLinkRequired, and [WWW]a thread on Sam Ruby's site, there is currently a thorough discussion of "permalinks" and "identifiers". The problem is: there isn't a clear definition of what a "permalink" is. Some people are using the term "permalink" to mean any URL that points to or resolves to the Entry resource. Others are using it to mean a canonical or unambigious identifier for the resource. Mixed in with the confusion is whether or not a "permalink" can change over the lifetime of the resource and what it means if a "permalink" can't or isn't intended to be retrieved.

Let's reground ourselves.

While there appears to be a misunderstanding of the applicability of DublinCore to this and similar issues, we should nonetheless stand on the shoulders of clear, concise definitions crafted through years of development in this area, which also happen to be ISO standards.

DublinCore defines '[WWW]identifier' as

Unambiguous -- This identifer can not be mistaken for a different resource within the given context. This is not to say other identifiers or locators can not also refer to the same resource, nor that the resource does not change in some manner over time.

Reference -- This is a way to refer to this resource. Given any number of references to the same resource within the context of the publisher of this reference, it should be known that this is the preferred reference. Given the context of the web at large, it should be known that this is a reference to a resource, that resource may have other references, and the resource may have a preferred reference different from this reference.

Resource -- The "thing" that is this Entry. From [WWW]RFC2396, "A resource can be anything that has identity. Familiar examples include an electronic document, an image, a service (e.g., "today's weather report for Los Angeles"), and a collection of other resources. Not all resources are network "retrievable"; e.g., human beings, corporations, and bound books in a library can also be considered resources."

Within a given context -- This sets the expectation. Within the context of the publishing system of the identifier, the identifier should be the preferred, unambiguous identifier that allows other systems to quickly determine if they have seen or cached this Entry before. Within the context of the web at large, there is no expectation of preference or sole location of the resource -- the identifier can be one of many pointing to the same resource or the same resource can be referenced in many locations. Within the context of an Echo Entry, we will have certain expectations (below), and the ability to be more specific.

See also: PostIdSpec

Definitions

Given the above, let's propose that an Entry has one "required" identifier, 'echo-identifier', and that identifier is defined with the deliberatly more open-ended DublinCore definition, "An unambiguous reference to the resource within a given context."

echo-identifier

Within the context of an Echo Entry and in the absence of any additional, more specific, identifiers:

Note: an echo-identifer may, in certain operations, not yet be assigned. In this case, the attribute (element) should not be present.

Note: echo-identifier identifies the entry, not any particular resource related or refrenced from the entry.

In addition to echo-identifier, the following identifiers are defined as specializations of echo-identifer:

echo-preferred-identifier, a URI

Provides the source-preferred identifier, potentially different and/or received from a different context than the echo-identifier used in this Entry.

echo-publisher-identifier, a URI

A convenience for the publisher of an Entry, typically used in the context of managing entries. The URI MAY NOT be retrievable.

echo-location, a URI location

A URI for this resource that is known or intended to be retreivable. The resource MAY NOT be retrievable at any given time.

echo-also-at, a URI location

This resource also appears (is "aliased") at this location. Publishers MAY NOT provide this information automatically, it can be just a characteristic of the publishing system.

echo-mirror, a URI location

The resource is replicated at this location, typically outside of the original publisher.

Examples

Minimal example, not yet published:

  <Entry xmlns="http://purl.org/echo/1.0/">
    <author>Example Weblog.</author>
    <date>2003-06-25</date>
    <content href="http://example.com/blog/using-identifiers.html" />
  </Entry>

Minimal example, syndicated:

  <Entry xmlns="http://purl.org/echo/1.0/">
    <author>Example Weblog.</author>
    <date>2003-06-25</date>
    <identifier>http://example.com/blog/using-identifiers</identifier>
    <content href="http://example.com/blog/using-identifiers.html" />
  </Entry>

Richer example, syndicated:

  <Entry xmlns="http://purl.org/echo/1.0/">
    <author>Example Weblog.</author>
    <date>2003-06-25</date>
    <identifier>http://example.com/blog/using-identifiers</identifier>
    <content href="http://example.com/blog/using-identifiers.html" />
    <publisher-identifier>guid:E30A0ACA5D32ED4C52E0D20381D5AEF7</publisher-identifier>
    <also-at href="http://example.com/how-tos/using-identifiers.html" />
    <also-at href="http://example.com/2003/06/25/using-identifiers.html" />
  </Entry>

Definitions -- Part Deux

It's not the names that are as important as the definitions. Using the currently proposed names and only those names, here would be their definitions:

permalink, a URI

An unambiguous reference to the resource within a given context.

Within the context of an Echo Entry and in the absence of a publisher-id or other extension identifiers:

Note: a permalink may, in certain operations, not yet be assigned. In this case, the attribute (element) should not be present.

Note: permalink identifies the entry, not any particular resource related or refrenced from the entry.

A publisher-id is also defined:

publisher-id, a URI

A convenience for the publisher of an Entry, typically used in the context of managing entries. publisher-id MAY NOT be retrievable


Contributors: KenMacLeod

CategoryModel