Basing the Documentation on the Wiki
This is CurrentWork.
We want to base more of the main site's content on the very good documentation that has evolved in this wiki.
The main idea of the WikiDocs is that there will be no separate documentation. All docs will be in the MusicBrainzWiki. Think of it like an open source project with a development and a stable release: The wiki markup text and the versions stored in the wiki are like the source code in CVS. The wiki as rendered by the wiki engine is like the development release, it contains the bleeding edge ideas, docs, discussions etc. This is good but confusing for new users. Thus we make something like a stable release of the wiki which consists of a structured portal to a moderated mirror of the wiki. See WikiDocsConcept for more details.
The components of the WikiDocs
- All content will reside in the MusicBrainzWiki. The WikiMigration to MoinMoin was an essential precondition.
- WikiDocsModerators select important wiki pages and register their last stable revision as ModeratedRevision in the ModeratedRevisionTable.
- Users visiting the MusicBrainzWiki will see no difference.
- Users visiting the MainSite will be served content from the ModeratedRevision of moderated wiki pages via the WikiWebService. If there is no ModeratedRevision, the webservice serves the content of the normal wiki page, but with a warning that this is unmoderated content. The pages served by the webservice will not be editable.
- the MusicBrainzWiki (which will be ported to MoinMoin),
- a ModeratedWikiMirror (probably realized through a ShadowWiki),
- a WikiDocConverter by which WikiDocModerators can copy a specific version of a wiki page to the ModeratedWikiMirror,
- a WikiWebService that serves the content of the ModeratedWikiMirror or the real MusicBrainzWiki where appropriate
- a new and reduced MainSiteStructure that serves as a portal to the ModeratedWikiMirror.
Related projects and ideas on other wikis:
- The general idea we are trying to realize is described as StagedCommits on the WikiFeaturesWiki.
- RhizomeWiki is written in python and has a label attribute that can be set to "draft" or "released". The Wiki engine will display the latest released version. Search for "Label" on this page.
- There is some discussion on MeatBall on this: LayeredWikiInterface and StableCopy.
- There is a StableCopy (also called StableView) mechanism implemented on PeriPeri. This is not identical to the WikiDocs concept but it might be an alternative. Periperi is written in perl; see the source. Captain solo tried to install Periperi and encountered some problems. Perhaps his experience helps.
- WikiTransclusion used by the High Availability Linux project for their documentation.
Progress of this Project
There has been a first attempt to do this in a separate wiki, but this has been stopped because of some concerns for this wiki.