Hello list,
I have a Downloads page, which I would like to mark up in
such a way that
Sparkle (<http://sparkle.
andymatuschak.org/>), an application update
framework, can use the HTML page (as well as an RSS feed) to
determine
whether there are application updates, present the version
history, and
download the update as well as install it.
I have a few ideas already, but I'd love to get some
feedback so I can make
this better.
Sparkle currently relies on an RSS feed with a few extra
attributes for
version checking. This results in content duplication,
though: both the RSS
feed and the downloads page contain very similar data. Only
maintaining the
HTML page would mean less work, and less chance of syncing
errors between
the feed and the page.
As for the way the HTML page would be structured… this
is more or less what
I have in mind: I'd use hAtom to mark up the page. Every
application version
would be in its own hentry, with a rel-enclosure link to the
actual
download, and the version history in the entry-content.
Sparkle can use some extra metadata, though: MD5 sums, DSA
signatures, and
the application version (the latter is mandatory). The
application version
could be marked up using a sparkle-version class, perhaps,
but the MD5 sum
is a bit harder: I'd need something bigger than just
rel-enclosure.
Here's a quick example of what this could look like:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.01//EN" "
http:
//www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Appcast</title>
</head>
<body>
<h1>Appcast</h1>
<div class="hentry">
<h2 class="entry-title">Adium <span
class="sparkle-version">1.0.4</span></
h2>
<p>Updated on <abbr class="updated"
title="2007-06-20T18:00+01:00">24
June</abbr>.</p>
<div class="entry-content">
<ul>
<li>Fixed a crash introduced in 1.0.3 which
could occur when
accounts disconnected or status changed</li>
<li>Fixed group chat when message history is
enabled</li>
</ul>
</div>
<p><a href="http
://adiumx.cachefly.net/Adium_1.0.4.dmg"
rel="enclosure">Download</a>. MD5 sum:
<span
class="sparkle-md5sum">0f182a2c88373e6d77c69fa1
5c910f08</span>.</p>
</div>
</body>
</html>
In this example, I've chose to make the sparkle-md5sum
property part of the
hentry, which would mean that one hentry can unfortunately
have only one
md5sum and thus one download, and I'm not happy about that.
(I've also left out the author in the example above, mostly
because it makes
the example a bit easier to read.)
I've been working on a patch for Sparkle which adds very
basic support for
hAtom, and it's looking good. Before I continue, I'd love to
get some
feedbacks on the ideas outlined above.
Regards,
Denis
_______________________________________________
microformats-discuss mailing list
microformats-discuss microformats.org
http://microformats.org/mailman/listinfo/microforma
ts-discuss
|