Wiki Web Service: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(trying to update this to the new scheme (Imported from MoinMoin))
(Relevant content moved to WikiDocs.)
 
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
#REDIRECT [[WikiDocs]]
The WikiWebService is a component of the planned [[WikiDocs]]. This component will display pages from the [[MusicBrainz Wiki|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 [[Moderated Revision Table|ModeratedRevisionTable]].
* If it is, it pulls the last moderated revision from the [[MusicBrainz Wiki|MusicBrainzWiki]] and serves that inside a <div class="[[Wiki Docs Content|WikiDocsContent]]">.
* If it is not, it pulls the current revision of the page and serves that inside a <div class="[[Wiki Content|WikiContent]]">.

Additionally the webservice has to do a lot of [[WikiDocs Conversion|WikiDocsConversion]] stuff. Since that is quite complex, we will have to make very judicious usage of caching.

===Old /wd/ Mechanism===

[[User:MatthiasFriedrich|MatthiasFriedrich]] explained me how the content of a [[Moin Moin|MoinMoin]] wiki page is displayed on the [[MusicBrainz]] [[Main Site|MainSite]]:
* When you request a page like [http://www.musicbrainz.org/wd/AboutMusicBrainz http://www.musicbrainz.org/wd/AboutMusicBrainz], the <code><nowiki>wd/AboutMusicBrainz</nowiki></code> is rewritten to a different URL: <code><nowiki>/docs.html?id=AboutMusicBrainz</nowiki></code>.
* The code inside of docs.html calls a mason component. This mason component loads a page via HTTP-GET from the [[Moin Moin|MoinMoin]] wiki that is located at [http://wikidocs.musicbrainz.org http://wikidocs.musicbrainz.org] (Note that this is the old and deprectated [[WikiDocs]], that can be edited at [http://wikidocs.musicbrainz.org/write/ http://wikidocs.musicbrainz.org/write/] (restricted access)).
* The mason component reads the wiki via the URL [http://wikidocs.musicbrainz.org/read/AboutMusicBrainz?action=content http://wikidocs.musicbrainz.org/read/AboutMusicBrainz?action=content] (restricted as well).
* some link rewriting is done with the requested content to fix problems with relative links. The the wiki returns some links like '[http:/page.html http:/page.html]' (relative links). These are rewritten to absolute links ([http://www.musicbrainz.org/page.html http://www.musicbrainz.org/page.html])
* 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 [[Moderated Revision Table|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 http://www.musicbrainz.org/doc/AboutMusicBrainz] .

The page about the (old) [[Wiki Docs Converter|WikiDocsConverter]] lists a couple of features that the web service will have to do now.
[[Category:To Be Reviewed]] [[Category:Development]]

Latest revision as of 04:18, 25 October 2009

Redirect to: