Open main menu

Extension:Teahouse

MediaWiki extensions manual
OOjs UI icon advanced.svg
Teahouse
Release status: unmaintained
Description Provides a modern interface to submit questions about Wikipedia to a community board page
Author(s) Robert Vogel (Talk)
License No license specified
Download
Translate the Teahouse extension if it is available at translatewiki.net
Check usage and version matrix.
Issues Open tasks · Report a bug

The "Teahouse" extension was being developed on behalf of Wikimedia Deutschland e.V.. It is inspired by the English Wikipedia Teahouse project and aims to provide a modern interface for new or potential community members to ask questions about the Wikipedia project.

Information about the current state of development can be found at /Development.

Instructions for deployment on German Wikipedia can be found at /DE.

ScreenshotsEdit

DownloadEdit

The extension can be retrieved directly from Git [?]:

  • Browse code
  • Some extensions have tags for stable releases.
  • Each branch is associated with a past MediaWiki release. There is also a "master" branch containing the latest alpha version (might require an alpha version of MediaWiki).

Extract the snapshot and place it in the extensions/Teahouse/ directory of your MediaWiki installation.

If you are familiar with git and have shell access to your server, you can also obtain the extension as follows:

cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Teahouse.git

InstallationEdit

  • Download and place the file(s) in a directory called Teahouse in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    require_once "$IP/extensions/Teahouse/Teahouse.php";
    
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

How to set upEdit

This extension provides a MediaWiki gadget, which normally is just JavaScript code within the MediaWiki namespace. To make development more easy it supports two ways to be set up.

DevelopmentEdit

There is not much to do but to follow the steps above. In development the extensions runs as standard MediaWiki extension which just adds the JavaScripts/CSS files to ResourceLoader.

ProductionEdit

Gadgetize.phpEdit

The extension includes the mediawiki/Gadgetize.php maintenance script. This script reads in the gadgetize.json file in the root directory and publishes the extensions source files to a target wiki instance.

php maintenance/Gadgetize.php --targetapi=http://mywikiserver/w/api.php --u=MyUserName --p=$3cR3Tp4$$w0rd

MediaWiki:Gadgets-definitionEdit

To enable the gadget you will have to edit the MediaWiki:Gadgets-definition page of your wiki and add the line

* teahouse[ResourceLoader|dependencies=mediawiki.user,mediawiki.cookie|default]|teahouse/main.js|teahouse/config.js|teahouse/teahouse.css
* teahouse-opt-in[ResourceLoader]|teahouse-opt-in/main.js

ConfigurationEdit

Default configuration:

{
	basePage: 'Wikipedia:Teahouse/Questions', //This is where 'templates.questionWrapper' gets appended to and where questions are created as subpages
	insertMarker: '<!-- INSERTMARKER -->',
	resourcesPath: mw.config.get('wgScript') + "?title=MediaWiki:Gadget-teahouse",
	showLinkMaxEditCount: 100,
	questionTitleMaxLength: 255, //Not implemented yet
	questionTextMaxLength: 4000, //Not implemented yet
	templates: {
		pendingQuestion: "\n\n{{Teahouse/Pending_question}}", //Gets appended as {{…}} to the question by mw.teahouse.board.publishQuestion()
		answeredQuestion: "\n\n{{Teahouse/Answered_question}}", //Not implemented yet
		questionWrapper: "\n{{Teahouse/Question|title=###title###|question=###question###}}\n"  //Gets added as {{…}} after 'insertMarker' on 'basePage' and with parameter 'title' set to the (basename (!) of the) questions title.
	},

	i18n: {  } //Content from i18n/en.json
}

Example configuration by init call:

mw.util.teahouse.init({
	basePage: 'Projekt:Teehaus/Fragen',
	resourcesPath: mw.config.get('wgScriptPath') + '/extensions/Teahouse/resources'
	i18n: {
		"teahouse-button-text": "Stelle deine Frage",
		"teahouse-button-title": "Lerne die Community kennen",
		"teahouse-dialog-title": "Stelle deine Frage",
		 //further contents from i18n/de.json
	}
});