Breaking the wiki borders by adopting pages from other wikis

This page is part of NetworkOfMoinMoinWikis group. See alternative IrcEventSystem for alternative implementation.

By now the borders between wikis are quite strong. Although we have InterWiki links, cooperation across wikis is more or less impossible. This is more or less because external pages don't show up in the local RecentChanges and people don't check RecentChanges in all wikis that have probably interesting content.

There are some InterWiki features that have tried to improve the situation but with no real success. To name some:

I think they have failed because their authors did not understand what a wiki is: A community that communicates about a specific topic. I think we need features that keeps the wiki as a bundle of pages about a specific topic, but don't stop at the server borders.

We add another magical page (AdoptedPages) that contain a list of InterWiki links. Changes of these pages show up in the local RecentChanges. That's all.

This allows the wikizens to add external pages to the focus of the wiki and makes discussion with other wiki communities possible.

-- FlorianFesti 2004-08-25 10:10:04

To make this more clear: Here is an example list of Pages that I would like to subscribe to: /ExamplePages and /WhyAdoptedPagesIsUseful

The name "AdoptedPages" does not tell much about how it works. So a better name would be appreciated. Perhaps something with RecentChanges?

Wiki Embassy

Each wiki instance could have an "embassy" in neighboring wikis. This is a kind of home page like a user home page but for a whole wiki. As this page is of course an adopted page the other community can talk to us directly in their wiki.

XmlRpc Server

First try:

XMLRPC interface wiki side

XMLRPC interface server side

Wikis are encouraged to support the server interface, too.

see also: WikiRPCInterface2

Alternatively the server can offer a RSS feed.

I started implementing this XMLRPC server. It will support WikiRpc v2 and RSS feeds as sources (see MoinMoinSyndication) and offer the above XMLRPC interface.

/!\ We have to avoid that changes of AdoptedPages don't get back to the server as own changes! The wiki instance should offer an RSS feed or XmlRpc interface that does only include the own changes or we'll really mess up...

Implementation Log

MoinMoin side implementation

Server Web Interface

Can this be done by a wiki? Do we really need this?

Wikiside Interface

Wiki engines may implement any user interface to allow AdoptedPages. Here are some ideas:

Personal RecentChanges

The AdopedPages server could offer a human user interface to offer personalized RecentChanges. Functionality is more or less the same as for AdoptedPages, but the audience are individuals and not wiki instances/communities.

Performance Requirements

Scenario: AdoptedPaged are widely used.

Implementation Ideas

Subscription

Make the foreign wiki notify us if the page we are interested in is changed.

Mail notification:

HTTP Protocol:

Discussion

This is great idea. A nice example will be a link pattern pages. A page like this is:

We can adopt such a page - but don't stop with RecentChanges - we should be able to edit the page, as if it was a page on our server. First we should implement this in moinmoin, so every moinmoin wiki can adopt other moinmoin wiki pages. This will be a big mess and great fun. Next, other engines will join.

Here is a related example I wrote yesterday while learning Twisted, it's a remote wiki server - you run this on your machine and it serves pages from another wiki. It's just a stupid example, but it's amusing to use. remote.tac -- NirSoffer 2004-08-25 10:39:52

Emulating external pages as locals is not that easy. Main problem are the local links that point to the remote site. I was just talking about listing them in the RC (of cause marked as external pages) and setting links to remote wiki from the RC. -- FlorianFesti 2004-08-25 12:22:07

Editing the wiki page as a local page is indeed impossible, as it can not have two namespaces for the same links. They are either links to one wiki or another. So maybe we should start with the easy solution of displaying the changes in RC, with links to the original wiki for viewing and editing.

Another candidate for adopted pages are all the help pages. Instead of keeping copies of the help pages in every wiki, we can just share MoinMaster pages. We can use local caching, updated automatically by a message from MoinMaster. -- NirSoffer 2004-08-25 12:49:52

How about an InterWikiInclude?


Btw: Shouldn't we use URC to insert the MoinMaster RecentChanges in MoinMoin, too?


Can this feature be OFF by default for at least the first version? I'm worried about scaling issues, giving spammers an amplified channel, and getting nasty emails from my hosting site. -- JohnWhitlock 2004-09-21 22:16:07

It will be off by default because you will have to configure which servers to use. -- FlorianFesti 2004-09-22 06:56:41

MoinMoin: AdoptedPages (last edited 2007-10-29 19:19:29 by localhost)