opmllogo:
Outline Processor Markup Language

 
About

Home

Spec

Directory

Validator

Editor



 
 

OPML 2.0 draft spec

Late last year I wrote a series of RFCs and guidelines on the main OPML website, ideas for improvement of the format and the documentation for OPML. They were extensively discussed and refined. In February all this work was rolled into a new format and spec, called OPML 2.0.

Announcement

Today the public review of OPML 2.0 begins, with the publication of the DRAFT spec and the opening of a mail list for the purpose of reviewing the spec. A very small group has been reviewing the spec privately for about 24 hours prior to the public review, to be sure that there weren't any easy to correct mistakes or omissions. There were, and they were corrected, thanks to the group for their expert advice. The full record of the review is available in the (public) archive of the mail list.

Perspective

OPML 2.0 is a milestone, much like RSS 2.0 was in the summer of 2002. We now know how OPML is being used, and where the problems are, and I think are ready to produce a frozen and extensible format and spec.

With the OPML Editor approaching version 1.0, it's now time to get the ball rolling on the format that comes after. The editor will likely not ship with full support for 2.0, it should be able to read 2.0 files, but it will not write them. There's too much of a bootstrap in front of that happening.

OPML 2.0 adds some important features, notably the include type, ownerId, support for namespaces, several common nodetypes are documented, and a host of niceties, and it finally has a unified spec. I'm confident that this is the OPML we'll all want to build on later through 2007 and beyond.

About the public review period

I believe the format is largely finished, subject to review, but the spec certainly is not. I'm sure there are mistakes, oversights, missed opportunities, things that require clarification. All the caveats apply, esp Murphy's Law.

This review period will be leisurely, possibly as long as 60 days. I look forward to lots of interesting and collegial discussions, and lots of new applications for users.

Pointers

Here's a pointer to the DRAFT Specification:

http://www.opml.org/spec2

And the review mail list:

http://groups.yahoo.com/group/opml2-review/

Here's best wishes to all of us that OPML 2.0 will be a great engine for growth in our industry and the art!

Dave Winer

Scripting News PS: OPML 2.0 is easy to understand if you're intelligent, have common sense and are patient. It's really simple. I explain, in this podcast, why the improvements in OPML 2.0 will help users.

# Posted by Dave Winer on 3/4/06; 11:11:40 PM - --


For discussion: Spam-reduced owner identity in OPML

First, a few recitals

1. In case it's not obvious, I plan to bring together all these proposals together, after a suitable period of discussion, into a new OPML spec. All the elements and attributes of current versions of OPML will be valid according to the new spec. However, I expect we will introduce new capabilities, elements, and types, along the lines of those being discussed.

2. When OPML was designed, over five years ago, spam wasn't the problem that it is today. It made sense then to identify the owner of a document in the most straightforward manner, using an email address. The reason we needed an owner identity at all was so that readers of an OPML directory could send suggested links to the editor of the document.

3. In 2005, it's really hard to recommend that people include valid email addresses in a public documents. And since all the sub-elements of <head> are optional, many authors are omitting the element, which makes it more difficult to build a network of directories from interconnected OPML documents.

4. The purpose of this proposal is to solve this problem, in a way that works for authors of directories, and avoids and limits spam. We're not claiming that this method eliminates spam, but it should substantially lessen it.


For discussion: A new sub-element of <head>

<ownerId> is the address of a web page that contains an HTML form that allows a human reader to communicate with the author of the document via email or other means.


Example

<ownerId>http://www.opml.org/profiles/sendMail?usernum=1</ownerId>


Notes

1. The page may contain link elements pointing to other documents containing information about the owner. For example, you may have a link element pointing to a FOAF document describing the owner and his or her network of friends; or an RSS feed with news from the owner, possibly even related via the RSS 2.0 category element to parts of the OPML document. In other words, all the extension mechanisms of HTML can come into play. It could become the basis for a powerful and inclusive, yet very lightweight identity system.

2. RSS 2.0 has the same issue as OPML, so I may propose a namespace to extend that format in exactly the same way we're proposing to address the identity issue in OPML.

3. Very important, this is not a specification, it's posted for discussion purposes only. Do not deploy.

# Posted by Dave Winer on 11/19/05; 4:56:17 AM - --


Extension mechanisms in OPML

With all the activity around OPML, the editor, the beta of the validator, and the recent release of the community server, I've been steadily getting inquiries about extension mechanisms for OPML. I think it's now a good time to start discussing this.

Basically, I think OPML should have a way to include elements from other namespaces, much as RSS 2.0 does. Developers should, whenever possible, use capabilities that are already in use by others, or included in the core spec, or recommendations or guidelines. I think RSS 2.0 would have done even better if this had been spelled out in the spec, so I plan to include this advice in the new OPML spec.

I think we are at the point where developers should be discussing it openly with others. This should be done with concrete examples of real-world applications, ones that are driven by user needs and economics. OPML should continue to be grounded by practicality and pragmatism.

If you have applications in mind for extending OPML through namespaces, please post a pointer to a page with examples and explanations in the comments below, and if possible, provide a place for developers to comment. Thanks!

# Posted by Dave Winer on 11/17/05; 10:05:52 PM - --


OPML validator & characters that require encoding

A new test case for the validator, which now checks to see that & and < are properly encoded per the XML spec.

This is another of Nick Bradbury's requests.

A current list of all the test cases is here.

# Posted by Dave Winer on 11/7/05; 1:02:25 PM - --


OPML validator & outline elements outside the body

Nick Bradbury suggested that the validator warn about outline elements outside the body of an OPML document.

I gave it some thought, and came up with realistic scenarios (Nick says he's seen it in the field) and yesterday updated the validator to look for outline elements outside the body and flag them.

Two test cases: Nick's (with one error) and my own (with two errors).

# Posted by Dave Winer on 11/6/05; 6:47:56 AM - --


Comments on "include" proposal

Earlier today I published a proposal for a new OPML nodetype, include.

http://www.opml.org/stories/storyReader$151

If you have comments, please post them here.

# Posted by Dave Winer on 11/5/05; 5:44:57 PM - --


Today's developments in OPML-Land

Changes to the Guidelines for Validating OPML.

A special thanks to Nick Bradbury at Newsgator for reviewing the previous version of the guidelines. I've already come around to his way of viewing one issue, and have implemented it in the guidelines.

The validator and the guidelines doc should be considered beta, it should not be evaluated as if it is set in stone. If you spot a problem, please post a note on the OPML weblog. The whole process is open, that's the only way to do it. The downside of being open is that some people will be confused and think the work is done. It's not done. Not yet. ;->

The next item on my list is to write a plan for a new OPML type that unambiguously identifies a link as being an inclusion.

Thanks to Kosso for the excellent badges. I've updated the validator to use one of his badges instead of my hacked up attempt at graphic design.

# Posted by Dave Winer on 10/31/05; 3:12:16 PM - --


We need a beautiful icon for valid OPML

I suppose it goes without saying that I am no icon designer.



In case it needs saying, let me say it. "I am no icon designer." ;-> ;-> ;-> ;->

So one thing on the to-do list for the OPML Validator is to get a beautiful icon that people will display with pride for OPML that works well with OPML search engines, editors, directory browsers, and what-have-you.

So if you're a designer, please work on this, and post a pointer to your work in the comments below.

# Posted by Dave Winer on 10/30/05; 5:05:37 PM - --


Update to the validator, developing roadmap

I took care of the two clear oversights -- isComment and isBreakpoint. The validator no longer flags them as errors.

There's a new test case, a simple script, that has comments and a breakpoint.

In general, where the validator says "must," it's referring to a rule established by the spec; when it says "should" it's calling on something from the guidelines for validation document.

The validator is a practical tool, based on the spec and the guidelines. As I said in the announcement, the XML spec takes precedence, after that, the OPML spec, then the guidelines.

I expect to write more docs over time, and I'm thinking about what to do about existing types not supported by the validator, and how to handle new types created in the near and far future.

# Posted by Dave Winer on 10/30/05; 12:43:55 AM - --


OPML Validator Beta

Okay, here's the first beta of the OPML Validator.

http://validator.opml.org/

It works like you think it should. You give it the URL of an OPML document, and it checks to see if it conforms to the OPML spec, and the OPML Validation Guidelines.

Caveat

Because it's a beta, you shouldn't depend on its results.

Status

There are still many things it doesn't check, like the elements of the <head> section (just an example). But it does check a bunch of things, and if your OPML passes the validation, it's probably going to be understood by mostof the processors out there. Or maybe not. But this is the place to report problems, or thorny issues. And the existence of a validator, even a crude one, is likely to help improve the quality of OPML-generating and processing software.

Trolls

One can hope that people don't flame here, but based on past experience, that seems unlikely. If there are flames, I ask that you not engage them. If ever there was a time this adage made sense, this is it -- Don't feed the trolls. OPML attracts trolls, that's for sure. Don't give them energy.

Test files (with errors)

I've created a bunch of test files you can try out to get an idea of what it checks for. All these files have validation errors.
Test files (no errors)

Following are some test files that validate. As you can see, we need a good icon for this, I just threw one together. Even if I spent hours doing it, it would still suck. ;->

# Posted by Dave Winer on 10/28/05; 5:14:24 PM - --


Guidelines for validating OPML

Preparing to write a validator for OPML, I started taking notes about the conventions of OPML, and it turned into an interesting document. 

# Posted by Dave Winer on 10/14/05; 5:28:59 PM - --


OPML Editor available for Windows

A new open source application that edits OPML and much more is now available for download.

# Posted by Dave Winer on 7/28/05; 10:20:01 AM - --


Scripting News in OPML

Scripting News is of course available in RSS 2.0, but it's also available in OPML.

If you forget where it's located, there's now an OPML logo in the right margin.

# Posted by Dave Winer on 4/25/05; 10:12:53 PM - --


Guidelines for more powerful OPML

For the Share Your OPML site, I wrote a set of guidelines for OPML developers.

# Posted by Dave Winer on 3/17/05; 8:32:22 AM - --


Morning Coffee Notes in OPML

Earlier today the new Morning Coffee Notes RSS feed was introduced.

Along with the feed, there's also an OPML version and an HTML rendering.

I edit the OPML version, using an outliner of course, and the other forms, RSS and HTML, are generated from the OPML.

One of the reasons this is cool is that my podcast feed can now be included in an OPML directory, as demonstrated by this node in the directory for this site. That node in the directory will update automatically whenever I add a new podcast.

# Posted by Dave Winer on 2/28/05; 9:07:48 PM - --


 




© Copyright 2000-2010, Scripting News, Inc.
OPML is a trademark of Scripting News, Inc.
Last update: Thursday, January 21, 2010 at 6:01:40 AM.

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