Wiki Web Service
From MusicBrainz Wiki
Jump to navigationJump to search
The WikiWebService is a component of the planned WikiDocs. This component will display pages from the MusicBrainzWiki as uneditable webpages within the normal header, footer, menubar etc. of the MusicBrainz website.
The webservice has to check, whether the requested page is listed in the ModeratedRevisionTable.
- If it is, it pulls the last moderated revision from the MusicBrainzWiki and serves that inside a
<div class="WikiDocsContent">
. - If it is not, it pulls the current revision of the page and serves that inside a
<div class="WikiContent">
.
Additionally the webservice has to do a lot of WikiDocsConversion stuff. Since that is quite complex, we will have to make very judicious usage of caching.
Old /wd/ Mechanism
MatthiasFriedrich explained me how the content of a MoinMoin wiki page is displayed on the MusicBrainz MainSite:
- When you request a page like http://www.musicbrainz.org/wd/AboutMusicBrainz, the
wd/AboutMusicBrainz
is rewritten to a different URL:/docs.html?id=AboutMusicBrainz
. - The code inside of docs.html calls a mason component. This mason component loads a page via HTTP-GET from the MoinMoin wiki that is located at http://wikidocs.musicbrainz.org (Note that this is the old and deprectated WikiDocs, that can be edited at http://wikidocs.musicbrainz.org/write/ (restricted access)).
- The mason component reads the wiki via the URL http://wikidocs.musicbrainz.org/read/AboutMusicBrainz?action=content (restricted as well).
- The component conversion (only a tiny subset of what is listed on WikiDocsConversion).
- Finally the page is displayed on the website, inside ouf our usual framework (header, sidebar, footer).
New /doc/ Meachnism
- The webservice must differentiate between pages that are listed in the ModeratedRevisionTable and pages which are not listed, and serve the appropriate revision of the page.
- The url should be changed so something more meaningful, since most mb urls will have that form. I suggest http://www.musicbrainz.org/doc/AboutMusicBrainz .
- The webservice must perform the full set fo WikiDocsConversion
s.