My latest article, An Atom-Powered Wiki, is now available at XML.com. In this article I cover the steps needed to create an Atom Enabled wiki, paying attention in particular to the character encoding issues. As Sam Ruby has pointed out character encoding may be the number one cause of ill-formed feeds. The code for both the client and the server are both available as downloads from the live version of the wiki I describe in the article. If you feel so inclined you can download the client and test it against the wiki for yourself, just make sure that you have the unicode enabled version of wxWidgets (nee wxWindows).
At the end of the article I cover two of the most glaring issues with the implementation, first that the 'issued' element is not information that is currently stored in PikiPiki, but since the 'issued' element is required we just used the 'modified' time in it's place.
The second rough spot that was covered is that there is no way to detect before hand which types of content an AtomAPI server will accept in a 'content' element. There is an entry on the Atom Wiki dealing with just this issue of negotiating the type of content a server will accept. These were the two of the biggest issues, but there are more and they are covered in a fairly comprehensive page on applying the Atom API to wikis that, un-ironically, is available on the Atom Wiki.
Posted by Rui Carmo on 2005-04-27
Posted by Joe on 2005-04-27
Posted by Rui Carmo on 2005-04-27
Great stuff! Exactly the kind of thing needed to find out where Atom's currently lacking, and a good read too ;-)
I'd be interested to see how easily the system could be modified for InterWiki purposes - a bunch of folks are talking about using XHTML as the standard interop language between Wikis (with different WikiMarkup). Hopefully this would make a reasonable Atom payload...
Anyhow, keep up the good work.
All the related links I've got:
<a href="http://66.70.191.189/cgi-bin/mt-search.cgi?IncludeBlogs=1&search=interwiki">http://66.70.191.189/cgi-bin/mt-search.cgi?IncludeBlogs=1&search=interwiki</a>
Posted by Danny on 2004-04-15