That's http://phpwiki.sourceforge.net/phpwiki/JeffDairiki
(Sorry this took so long...)
I like the latest proposal (v0.44) by LaurensPit. I do have a few remaining concerns, however. Some of these are rather vague (and I should probably research them further before anyone takes them too seriously), and others are more concrete. In order from the more specific to the more speculative:
I think we need a way to include the InterWiki moniker as well (or even instead of) the InterWiki URL prefix. I have trouble imagining when an RSS client would find the URL prefix useful (when does it have to generate URLs for arbitrary pages on the host wiki?). The InterWiki moniker, on the other hand, could certainly be used when displaying UnifiedRecentChanges to identify the source wiki. E.g. consider this HTML bogo-template fragment:
<a href="${item link}">${channel interwiki moniker}:${item title}</a>${item desription}
Side-thought: The syntax of the InterWiki prefix should be expanded. Sometimes one can not form the desired URLs simply by prefixing the local part of the InterWiki name. In the latest PhpWiki if the InterWiki "prefix" includes the substring %s, the local part of the InterWiki name is substituted for the %s, rather than being appended to the prefix. This allows the InterWiki map entry:
RFC http://www.faqs.org/rfcs/rfc%s.html(The %s syntax could, perhaps, be improved upon.)
Of course, if the InterWiki prefix is not part of mod_wiki, then there is no reason for there to be any sort of universal agreement as to the syntax of the "prefixes", since their use would be local to each wiki.
First, to reiterate what Laurens has said: the URIs in the rdf:about attributes of <item/>s serve solely as unique identifiers for those <item/>s. They need not be valid URLs. As Laurens said, they must be unique within an RSS channel. More than that however, they should be globally unique. If two <item/>s (from different RSS channels) have the same rdf:about URI, it means that they refer to the same RDF "object".
<Item>s are about specific page revisions. Since mod_wiki <item>s can (and in most cases will) contain information pertaining to a specific revisions of a page (e.g. wiki:status, wiki:importance, wiki:version), it seems the <item>s rdf:about URIs should also be unique to a specific wiki page revision.
Advantages to this:
Disadvantages:
I think you said it perfectly, it's no different from what I said/think. All the advantages can be had with mod_wiki. The disadvantage is not really that, because you can only have that disadvantage when you say the <item>s rdf:about URIs must be unique to a specific wiki page revision instead of should be unique. -- LaurensPit
Actually, I am proposing that the rdf:about URIs must be unique to a specific page revision. The first advantage I listed above relies on this (since, if the URIs only should be unique, then an aggregator can not reliably use the rdf:about URIs for duplicate detection.) The "disadvantage" I have listed is really only a philosophical one, therefore it has little bearing on must vs should.
I would like to reitereate, just in case there is still some confusion, that unique URI generation is not a problem, even for a wiki which only keeps the most recent version of each page. The only requirement is that the wiki has some way (e.g. revision number, modification time, or even a hash of the page contents) to uniquely identify the current revision. The URI need not be a valid URL. Something like
http://www.usemod.com/cgi-bin/mb.pl?action=browse&id=JeffDairiki&revision=6
is perfectly acceptable, even if revision 6 is no longer available, or even if the ?revision=6 CGI query argument is not supported by the wiki. The only requirement is that the mapping between the triple (wiki,page,revision) and the item rdf:about URI be (globally) one to one.
As proposed in v0.44, the values of the properties wiki:importance and wiki:version are enumerations. (I.e. they are limited to the selection of one (english) word from a predefined set.) As I understand it, these values are not intended for machine, not human consumption.
My (weak) understanding of RDF leads me to suspect that the values for these properties ought to instead be references to objects (i.e. URIs to be defined by mod_wiki). E.g.
<wiki:importance resource="http://purl.org/rss/1.0/modules/wiki/importance#major"/>
instead of
<wiki:importance>major</wiki:importance>
Perhaps cleaner would be:
<wiki:flag resource="http://purl.org/rss/1.0/modules/wiki/importance#major"/> <wiki:flag resource="http://purl.org/rss/1.0/modules/wiki/status#updated"/>
(perhaps wiki:status instead of wiki:flag would be better?)
instead of
<wiki:importance>major</wiki:importance> <wiki:status>updated</wiki:status>
I guess these syntaxes might not work so well with legacy RSS parsers. Then again: who cares?
In mod_wiki, v0.44, both the wiki:diff and wiki:history properties give URLs to pages which give meta-information about wiki pages. As such, their function is quite similar, and it might be nice to unify the syntax.
Also, 'Diff' is fairly ambiguous. What versions are to be diffed? Major diff? Minor diff? Author diff? Diff to most recent, or to specified version? It would be nice if the source wiki could specify a bit more about what sort of diff it is in the RSS. It might also be nice if links to several different sorts of diffs could be provided.
<wiki:diff rdf:parseType="Resource"> <wiki:diffType rdf:resource="http://purl.org/rss/1.0/modules/wiki#MajorDiff"/> <rdf:value rdf:resource="http://www.mysite.com/?SandBox&a=diff"/> </wiki:diff>
Finally, some wikis may want to offer other sorts of links to page meta-information. (Though, right now, I honestly can't imagine what --- so maybe you should ignore this paragraph.)
My 'button' syntax provides a solution to this. (Though I readily admit that 'button' is a bad name, and I think my original proposal is not quite valid RDF.) Here it is again in slightly modified form. (I'm still not happy with the name. Has anybody got a better idea?)
Some possible syntaxes:
Unabbreviated:
<rss:item rdf:about="..."> ... <wiki:metapage> <rdf:Description> <wiki:name>Major Diff</wiki:name> <wiki:link>http://...</wiki:link> </rdf:Description> </wiki:metapage> ... </rss:item>
Fully abbreviated. This, I think, has the property that most non-RDF-aware RSS parsers will just ignore the wiki:metapage property altogether:
<rss:item rdf:about="..."> ... <wiki:metapage wiki:name="Major Diff" wiki:link="http://..."/> ... </rss:item>
Mixed abbreviation (others are possible). I think this has the property that non-RDF-aware RSS parsers will see just the URL; essentially: "wiki:metapage='http://...'".
<rss:item rdf:about="..."> ... <wiki:metapage> <rdf:Description wiki:name="Major Diff"> <wiki:link>http://...</wiki:link> </rdf:Description> </wiki:metapage> ... </rss:item>
I guess I'm not real happy with any of those choices. Mostly on account of how I think they're going to interact with non-RDF-aware RSS parsers (e.g. most of the RSS parsers in current use.) Which brings up another point:
We need to test the proposed syntaxes (especially the "clever" ones, like those suggested above, and the one for dc:contributor in mod_wiki v0.44) against existing popular RSS parsers to see how they fare.
There is also the issue of how much effort we want to make to try to be compatible with the non-RDF versions of RSS (e.g. 0.9x).