Wiki Web Service: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(correct links (Imported from MoinMoin))
(move stuff to correct place (Imported from MoinMoin))
Line 7: Line 7:
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.
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===
==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]]:
[[User:MatthiasFriedrich|MatthiasFriedrich]] explained me how the content of a [[Moin Moin|MoinMoin]] wiki page is displayed on the [[MusicBrainz]] [[Main Site|MainSite]]:
Line 13: Line 13:
* 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 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).
* 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).
* The component conversion (only a tiny subset of what is listed on [[WikiDocs Conversion|WikiDocsConversion]]).
* 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).
* Finally the page is displayed on the website, inside ouf our usual framework (header, sidebar, footer).


Line 20: Line 20:
* 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 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 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 webservice must perform the full set fo [[WikiDocs Conversion|WikiDocsConversion]]<code><nowiki></nowiki></code>s.


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 [[WikiDocs Conversion|WikiDocsConversion]], 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]]
[[Category:To Be Reviewed]] [[Category:Development]]

Revision as of 14:57, 29 October 2005

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:

New /doc/ Meachnism