WikiDocs Conversion

From MusicBrainz Wiki
Revision as of 21:30, 26 October 2005 by DonRedman (talk | contribs) ((Imported from MoinMoin))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The WikiDocsConverter is an component of the planned WikiDocs. It is a script that can be activated by WikiDocsModerators and which will copy a specified wiki page from the MusicBrainzWiki to the ModeratedWikiMirror.

The wiki mirror will be implemented as a ShadowWiki. Therefore both the MusicBrainzWiki and the wiki mirror will be MoinMoin wikis. The script has not much to do:

  • Take the wiki source from one MusicBrainzWiki page and make a new version of that same page on the ShadowWiki.
  • Convert urls so that non-WikiDocs pages have an InterWikiLink (see below).
  • convert relative urls to absolute urls or something like that ( This is something that is currently done by the WikiWebService. I did not really understand exactly what it does and why it does it).
  • Remove unofficial content.

Convert to Inter Wiki Links

When a user sees a WikiDocs page via the WikiWebService, those links that point to other WikiDocs pages should look like normal links, while those links that point to pages which only exist in the MusicBrainzWiki should look like links to somewhere else.

One possible solution is to register the MusicBrainzWiki as a SisterSite to the ShadowWiki. The links to non-WikiDocs pages would then be converted from, say [[Style Guideline|StyleGuideline]] to MBW:StyleGuideline.

In this case, everytime someone copies a page to the ModeratedWikiMirror, the converter has to look over all pages in the ShadowWiki and update the InterWikiLinks. All WikiNames that are not in http://wikidocs.musicbrainz.org/write/TitleIndex?action=titleindex get the "MBW:" prefix.

The inconvenient is that visitors would really be sent to the real MusicBrainzWiki. I do not know if MoinMoin can be configured in a way that they are sent to an instance of the wiki that is uneditable and which has a theme that looks similar to the MainSite.

Perhaps this can be overcome by using something else than InterWikiLinks. The converter could also change the links to external links to, say, [http://musicbrainz.org/wiki/StyleGuideline http://musicbrainz.org/wiki/StyleGuideline], which would trigger another WikiWebService located at /wiki/ which serves content from the MusicBrainzWiki.

Also, pages that do not exist on the MusicBrainzWiki should not get links. So the converter will probably have to look at the TitleIndex of both the MusicBrainzWiki and the ShadowWiki to do the right thing. Problem: The TitleIndex of the MusicBrainzWiki has to be read in real time. This is no job for the converter, is it?

Page in TitleIndex of MusicBrainzWiki Page in TitleIndex of ShadowWiki Action taken
Yes Yes ShadowWiki points to itself
Yes No Link should look different and point to WikiWebService of MusicBrainzWiki
No Yes Uh? Send a warning to admin. Someone has deleted an official page! Still, ShadowWiki can point to itself
No No WikiName should not be presented as a link at all

God, is this complicated. I will leave the implementation details to Robert.

Remove Unofficial Content

I am not 100% sure, we need this.

We could add our own "official" tag to the MusicBrainz wiki: an XML-style:

<official> 
 
  bla bla 
 
</official> 
 

The MoinMion engine will of course ignore these tags. It will just display them. That is ok. Users will see the tags (when accessing the wiki via MoinMoin) and it will have meaning to them.

When you feed a page to the converter, it will look for this tag, and if it finds such tags, it will remove everything outside the tags and then the tags tehmselves in the ShadowWiki version of that page.

This way the source of a wiki page can contain stuff that will not be visible on the MainSite.


initial author: DonRedman