opmllogo:
Outline Processor Markup Language

 
Spec

Mail List

Directory

Editor

RSS

XML-RPC

XML

Dave



 
 

OPML Directory Browser

How to implement 

This document explains how to implement an OPML Directory Browser.

By directory I mean a Yahoo or DMOZ-like directory -- a hierarchy that is navigated using a Web browser. The hierarchy is specified in OPML.

There are constraints on the OPML, they are explained in this document, and illustrated in the example directory, and the OPML file that generated it. Here's a screen shot of the outline being edited.

In putting together the outline and these rules I've tried to leave behind a trail that's easy to follow. If you have questions, please post them in the discussion group here or on the OPML-Dev mail list.

My goal is to get a set of work-alike directory browsers and outliner authoring tools in a variety of different environments, open source and commercial, much as there are many different implementations of XML-RPC, SOAP and RSS. I want to demo these at OSCOM on May 28.

Technical terms that are defined by this document are in italic.

Checklist 

An directory outline may have any structure that makes sense.

A headline with sub-heads defines a sub-directory. To the left of the headline a folder icon is displayed.

If the first sub-head of an item is a comment (isComment attribute is present with value of true), the text of the comment is added as the title attribute of the link to the sub-directory, so when the user hovers the mouse over the folder symbol, the text of the comment displays. At the top level of the example directory, the Maps of the United States sub-directory has such a comment.

When the user clicks on the folder icon the browser dives in one level.

At the top of each level is a breadcrumb trail, indicating the categories that contain the level that's being viewed. The last item in the trail is displayed in bold. It's the title of the current level. The other elements of the trail are links, the user clicks on a link to surface out one or more levels, to view one of the containing directories.

A headline without sub-heads may have a link attribute, if so, a globe icon is displayed to the left of the headline. When the user clicks on the globe, the browser displays the page it links to.

Each level may display a link to the OPML source the page is derived from, making it easier for it to be included in other directories.

Each level may display author information, and facilitate suggested links.

A headline without sub-heads with a link attribute that ends with .opml is an inclusion. When the user dives into an inclusion it is displayed exactly as if it were part of the outline that included it, with the exception that the author information displayed reflects the author information for the included file, and suggested links are sent to the author of the included file. The top-level section Web Pubs is an included directory. It includes other directories. Inclusion is recursive, it can go as many levels as you want, which is how you build large multi-author directories with this technology.

Inclusions should be cached for one hour. If an inclusion hasn't been refreshed from its source in an hour, re-load it, and display the new content. This allows changes to percolate, without adding too much traffic.

Pointers 

This is a technical document and is as short as it can be. There is technical evangelism to support it on Scripting News, on the following days: 4/14/03, 4/15/03. Also be sure to browse the example directory for more ideas and for illustrations of the concepts outlined here.

A new directory of implementations of this spec.

If you have Radio UserLand and know how to use its outliner, you can try out OPML-based directory outlining, by following the instructions in this tutorial. The equivalent of this document, for UserLand's software only, is here. You may directly clone either or both sides, or blaze your own trail, within the constraints of this document.

Linkrot 

When a directory is reorganized, inbound pointers break resulting in linkrot.

This is disclaimed upfront. Directories should not freeze. Tilt the table in favor of good organization, we accept a certain amount of linkrot. Work on the organization of the directory, let links break.

That's life.

Caveats 

This document is not frozen, as questions arise, clarifications will be posted. I'll try when possible to explain the changes on Scripting News. If all goes well, I'll demo several implementations of OPML directory browsers in late May at OSCOM. Let's have fun!




© Copyright 2000-2011, Scripting News, Inc.
OPML is a trademark of Scripting News, Inc.
Posted: 4/28/03; 6:08:44 AM.

Create your own Manila site in minutes. Everyone's doing it!