InterWikiSoftware RecentChanges

(redirected from WikiFacade)

WikiWindow

WikiWindow is the idea (and a software project to implement it) of setting up a web site with one kind of wiki software, except everything you see there is actually from another wiki.

This would allow users to use whatever frontend they want with their favorite wiki communities, instead of being stuck to whatever wiki that community uses, Peluang Usaha Franchise

In addition to providing more choice to the user, this will accelerate the evolution of new wiki engines and features. Right now, even if you write a new wiki engine with great, new features, few people would use it unless it is taken up by a wiki site with content & wiki features that aren't even tried out much. By allowing a user to choose their own wiki engine to view their favorite wiki sites, new wiki engines and features will be tried out by more people faster.

I plan on implementing this by modifying existing wiki software, such as UseMod, to use XmlRpcWikiInterface in place of their native backend/page database. WikiGateway will then be used to provide a WikiXmlRpcInterface for wikis which do not support it.

Example

Let's say that you want to view the page MeatBall:SandBox through OddMuse. Let's say there was an OddMuse MeatballWiki window set up at http://interwiki.sourceforge.net/cgi-bin/mbOddMuse.cgi. You point your browser at the page http://interwiki.sourceforge.net/cgi-bin/mbOddMuse.cgi?SandBox.

:The OddMuse CGI script at mbOddMuse.cgi has been modified so that instead of looking into its native PageDatabase? for the requested page, it makes an XmlRpcToWiki request to a WikiGateway, which let's say resides at http://usemod.com/cgi-bin/mbWikiGateway.cgi.

::The script mbWikiGateway.cgi accepts the XmlRpcToWiki request and emits a normal HTTP page browse request to http://usemod.com/cgi-bin/mb.pl. mb.pl sees this as just another user asking for a page, and sends the page to mbWikiGateway.cgi.

:mbWikiGateway.cgi then replies to the XmlRpcToWiki request from mbOddMuse.cgi.

Finally, mbOddMuse.cgi acts as if it got the page from it's own PageDatabase?, and displays it to you.

The flow of data is:

::user < modified OddMuse < WikiGateway < MeatballWiki server.

You can edit the page through the OddMuse window, too. It works similarly.

(ok, some technical details; to speed things up, you'd probably use WikiGateway in Perl module mode, rather than having an XmlRpcWikiInterface step; that way there are only two HTTP connections in the data stream; from the user to mbOddMuse.cgi, and from mbOddMuse.cgi to mb.pl. Also, OddMuse would probably be modified so that it is interrupted when it tries to compute the HTML for the page, rather than getting the raw wiki markup text and then interpreting the MeatballWiki markup according to its own possibily variant markup rules).

I haven't started the project yet, but I have been working on the necessary WikiGateway backend. The backend is sufficiently done that it could be used in this capacity, if someone else wants to write the WikiWindow. I was going to start by making a UseMod WikiWindow, and then do an OddMuse one.

-- BayleShanks

todo: rename WikiFacade


CategoryWikiWindow