Suppose I want to use one of the blogging APIs, for example, the under-development Atom Publishing Protocol, to post an entry to a blog or whatever, with the expectation that this is going to show up in my syndication feed. Suppose that the entry includes some pictures or movies. Should be easy, people do this all the time, right?
An existing publishing protocol,
MetaWeblog, has
metaWeblog.newMediaObject
,
a separate entry-point for this.
As far as I can tell, the arguments and semantics of this call are about the
same as the newPost
entry-point, except for it has a
type
argument and the Web Resource you generate doesn’t show up
in the syndication feed.
In the Atom protocol, the content
of each entry
already has a type=
attribute, so if you wanted a separate
multimedia-oriented entry point, the only behavioral difference would be
whether it showed up in the syndication feed.
So, I just posted
a proposal
for the addition of a syndicate="true|false"
attribute to the
atom:entry
element.
The idea is, if you want to post an entry that contains a picture and have
it show up both on the site and in your syndication feed, you first post the
entry for the picture with syndicate="false"
, then you stick its
URI in the content
of the main entry, which has
syndicate="true"
(true is the default, so you can just leave
the attribute out).
The motivation for doing this was to get rid of the
type="multipart/alternative"
feature in the current Atom drafts,
which strikes me as a “wouldn’t-this-be-nice” kind of thing that doesn’t do a
good job on the most common use-cases.
But I think this syndicate="false"
idea ends up
generally increasing the usability of the whole Atom protocol.