
Using the HTML Chainer
======================

22 July 2003, Edd Dumbill <edd@usefulinc.com>


The HTML Chainer picks up on commonly used metadata conventions in HTML
pages and uses them to chain clues.

The HTML metadata landscape is, in general, a bit of a mess.  Here's a
list of the currently supported conventions in the chainer, and what
they do.  All of the tags below go in the <head> section of an HTML
page.


LINKING TO AN RSS FILE

   <link rel="alternate" type="application/rss+xml" title="RSS"
       href="http://foo.com/rss.xml" />

The chainer generates a clue of type 'rss' to tell Dashboard about a
connected RSS file.


KEYWORDS

   <meta name="keywords" content="keyword, keyword, keyword" />

The keywords are split on ',' and a succession of 'keyword' clues sent.


DESCRIPTIVE TEXT

   <meta name="description" content="yada yada yada" />

The chainer generates a 'textblock' clue with the contents of the
description.


FRIEND-OF-A-FRIEND (FOAF) FILES

FOAF files (see <http://rdfweb.org/foaf>) are RDF/XML files describing
you, the things you're involved and interested in, and the people you
know.  To get Dashboard to pick up your FOAF file, you must do two
things:

  1. Link to the FOAF file
  2. Provide a way for Dashboard to know which Person you are (as FOAF
     files can describe any number of people).

This is done like this:

  <!-- the link to the FOAF file -->
  <link rel="meta" type="application/rdf+xml" title="FOAF"
       href="http://foo.com/foaf.rdf" />

  <!-- say i made this! don't forget the 'mailto:' -->
  <meta name="foaf:maker"
		content="foaf:mbox mailto:edd@usefulinc.com" />

FOAF allows you to obfuscate your email box by making an MD5 hash of it.
So instead of saying the 'foaf:maker' of a page is your email address,
you can say:

  <meta name="foaf:maker"
     content="foaf:mbox_sha1sum '1ba3bffdd13a136d38b77542f2e26fd1dc0042f2' />

This keeps your email address private, but identifies you as the author
of the page.

In response to finding foaf:maker Dashboard generates two clues: first
an 'rdfurl' clue with the URI of the RDF file, and second a 'foafid'
clue with the content of the foaf:maker meta tag in it.  The FoafFile
backend listens out for these and can render FOAF descriptions prettily.
Surf to my blog <http://usefulinc.com/edd/blog/> for an example of this
in action.


OTHER AUTHORSHIP

The situation is by far the worst for indicating authorship.  I'm
listing these in preference of use.

   <meta name="DC.Creator" content="Fred Bloggs" />
   <meta name="DC.Contributor" content="Fred Bloggs" />

These two Dublin Core elements are chained into 'full_name' clue.  They're
not that great because they're potentially ambiguous.  Creator is the
person who is the primary creator of a resource, Contributor is somebody
who has contributed to it.

   <link rel="made" href="mailto:foo@bar.com" />

This is chained into an 'email' clue of "foo@bar.com".  It's less than
optimal as it involves putting your email address in cleartext.

   <link rel="made" href="http://www.bar.com/" />

This is chained into a 'url' clue.  You might use it if you want to
indicate authorship by either a software agent or a corporate entity
that won't resolve to an individual.


GEOGRAPHICAL LOCATION

There are two standards for putting your latitude and longitude in
web page metadata.  They look like this:

   <meta name="ICBM" content="53.96539,-1.04440240" />
   <meta name="geo.url" content="53.96539;-1.04440240" />

The 'ICBM' variant is preferred.  When htmlchainer comes across these,
they are chained into a 'latlong' cluetype.  For more information
checkout <http://geourl.org/>.

