Wiki Web Service: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(correct links (Imported from MoinMoin))
(Relevant content moved to WikiDocs.)
 
(10 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 <code><nowiki><div class="WikiDocsContent"></nowiki></code>.
* If it is not, it pulls the current revision of the page and serves that inside a <code><nowiki><div class="WikiContent"></nowiki></code>.

Additionally the webservice has to do a lot of [[Wiki Doc Conversion|WikiDocConversion]] 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. I renamed that page to [[Wiki Doc Conversion|WikiDocConversion]], and wil try to update it.

Not that [[Moin Moin|MoinMoin]] has a [[MoinMoin:ThemesMacro|ThemesMacro]]. If you install that you can call a theme via the url like this [http://moinmoin.wikiwikiweb.de/ThemeMarket?action=theme&theme=matrix http://moinmoin.wikiwikiweb.de/ThemeMarket?action=theme&theme=matrix]. So if the [[WikiDocs Conversion|WikiDocsConversion]] starts to become complex, it might be a solution to do all this stuff with a theme, instead of with Perl meddling with html.
[[Category:To Be Reviewed]] [[Category:Development]]

Latest revision as of 04:18, 25 October 2009

Redirect to: