扩展:维基孵育场

This page is a translated version of the page Extension:WikimediaIncubator and the translation is 100% complete.
MediaWiki擴充功能手冊
OOjs UI icon advanced-invert.svg
WikimediaIncubator
发布状态: 稳定版
实现 特殊页面 , 变量
描述 此插件为维基孵育场所应用。
作者 SPQRobin讨论
最新版本 5.3.1 (持续更新)
MediaWiki 1.28.1+
许可协议 GNU通用公眾授權條款2.0或更新版本
下载
例子 维基孵育场
  • $wmincLangCodeLength
  • $wmincSisterProjects
  • $wmincProjects
  • $wmincClosedWikis
  • $wmincExistingWikis
  • $wmincMultilingualProjects
  • $wmincPseudoCategoryNSes
  • $wmincProjectDatabases
  • $wmincTestWikiNamespaces
  • $wmincPref
  • $wmincProjectSite
  • viewuserlang
翻譯WikimediaIncubator擴充功能如在translatewiki.net可用

检查使用和版本矩阵。

问题 尚未完成的工作 · 回報錯誤

此扩展添加了最初为维基孵育场设计的测试Wiki系统。 它也可以适用于wiki虚拟化,即真实Wiki中的Wiki。 每个虚拟Wiki(又称为测试Wiki)都链接到一个项目(例如维基百科)和一种语言,它们构成了页面的前缀(Wx/xyz)。

A brief overview of the features:

  • A preference where you can enter the test wiki you are working on
  • A special page "Special:ViewUserLang" to view the language and test wiki preference of a user
  • Special:RecentChanges displays edits on the user's wiki test
  • A magic word {{USERTESTWIKI}} that returns the user's test wiki (prefix)
  • For pages in test wiki namespaces
    • check if the page is not prefixed — page creation is disallowed (unless the user submitted "Incubator" as preference) and an error message is shown (with suggestion for a prefixed title if possible)
    • check if the wiki exists — page editing/creation is disallowed and a message is shown
  • A user group "test-sysop" with limited admin rights
  • Special:MyMainPage going to the main page of your test wiki (or the default Main Page if your preference is set to None or Incubator).
  • Special:RandomByTest going to a random page in a test wiki
  • Logo can be set per test wiki
  • Special:ListUsers can be filtered by test wiki
  • Search in test wiki (if supported by search engine)
  • Special:IncubatorFirstSteps

安装

  • 下载文件,并将其放置在您extensions/文件夹中的WikimediaIncubator目录内。
  • 将下列代码放置在您的LocalSettings.php的底部:
    wfLoadExtension( 'WikimediaIncubator' );
    
    It is recommended to install the CLDR extension as well.
  •   完成 – 在您的wiki上导航至Special:Version,以验证已成功安装扩展。

配置

The extension is configured by default for the Wikimedia Incubator. With some configuration changes, it may also work for other wikis using a "virtual wiki" system. These are general configuration settings; specific settings can be found in the section "Features".

The project codes with their names. The extension might break if you use more than one letter for the code.

$wmincProjects = array(
	'p' => 'Wikipedia',
	'b' => 'Wikibooks',
	't' => 'Wiktionary',
	'q' => 'Wikiquote',
	'n' => 'Wikinews',
	'y' => 'Wikivoyage',
);

The project codes and names of sister projects, i.e. related projects for which the test wikis are hosted somewhere else. Idem: the extension might break if you use more than one letter for the code.

$wmincSisterProjects = array(
	's' => 'Wikisource',
	'v' => 'Wikiversity',
);

The name and key used by the preference for administrators who do maintenance work and are not working on a test wiki.

$wmincProjectSite = array(
	'name' => 'Incubator',
	'short' => 'inc',
);

The maximum length of a language code. Pretty useless actually.

$wmincLangCodeLength = 12;

An array containing the database suffixes per project (the key should match the ones of $wmincProjects). The language codes are put in front of these names, e.g. "eswikibooks" or "xmfwiki").

$wmincProjectDatabases = array( 
	'p' => 'wiki',
	'b' => 'wikibooks',
	't' => 'wiktionary',
	'q' => 'wikiquote',
	'n' => 'wikinews',
	's' => 'wikisource',
	'v' => 'wikiversity',
	'y' => 'wikivoyage',
);

An array of database names for which there is an existing subdomain, i.e. no test wiki. Defaults to $wgLocalDatabases .

$wmincExistingWikis = $wgLocalDatabases;

An array or file name containing all closed wikis. It is assumed that wikis in this list are also in $wgExistingWikis. Defaults to $wgSiteMatrixClosedSites.

$wmincClosedWikis = isset( $wgSiteMatrixClosedSites ) ? $wgSiteMatrixClosedSites : null;

功能

参考资料

 
Preferences

On Special:Preferences, beneath the language selector, you can select the test wiki you are working on. You can select the project (Wikipedia, Wikibooks, ...) and the language code. It defaults to "None/All". Another option, "Maintenance" is intended for users, mostly administrators, who do maintenance and are not working on a test wiki.

A magic word "{{USERTESTWIKI}}" which displays the prefix depending on the value you selected. Using &testwiki=wx/xyz in the URL should alter this value in principle, but this is not reflected on the page due to the cache. In general, &testwiki=wx/xyz works in a similar way as &uselang=xx, respectively for the test wiki and language preference.

The name of the preference (not really important, shouldn't be changed):

$wmincPref = 'incubatortestwiki';

特殊页面

 
Special:ViewUserLang
 
Special:SearchWiki

A special pages, Special:ViewUserLang is added where users with the 'viewuserlang' right, can view the interface language and selected test wiki of a user. This can be useful information when a user has a problem with the test wiki system.

The default configuration:

$wgGroupPermissions['*']['viewuserlang'] = false;
$wgGroupPermissions['sysop']['viewuserlang'] = true;

Special:MyMainPage redirects you to the Main Page of the test wiki that you selected, i.e. "Wx/xyz?goto=mainpage" (see section "Info pages"). If no preference selected or "Incubator" is selected, you are redirected to the regular Main Page.

Special:RandomByTest redirects you to a random page in your test wiki. If &testwiki=wx/xyz is specified in the URL, it will redirect you to a random page in that test wiki. If your preference is set to "Incubator" it behaves like Special:Random below version 1.18; or goes to a random help or project page in 1.18 and above.

Special:SearchWiki allows to find an existing wiki as well as test wikis. You can select the project you are looking for, and the language name or language code. It will redirect automatically if the wiki is found. The special page can be transcluded on normal pages.

Special:IncubatorFirstSteps guides the user through setting up their account, their test wiki preference and starting a test wiki.

 
Recent changes

最近更改

The recent changes special page is adapted to display the edits in the test wiki of your preference. "None/All" returns the normal display, and "Incubator" displays all edits that are not made in a test wiki. You can select the project and enter a language code to view the recent changes of a specific test wiki, or you can use &testwiki=wx/xyz in the URL.

内容页面

On root "Wx/xyz" pages, a placeholder is shown if that page does not exist (following redlinks redirects you to viewing the page instead of editing it). For non-existing wikis, it shows a welcome page and invites the user to start a test wiki in this language and project. There are also links to sister projects and multilingual projects, according to the configuration.

The project URLs and names of multilingual projects, i.e. related projects for which there are no translated versions and thus no test wikis.

$wmincMultilingualProjects = array(
	'meta.wikimedia.org' => 'Meta-Wiki',
	'commons.wikimedia.org' => 'Wikimedia Commons',
	'species.wikimedia.org' => 'Wikispecies',
	'mediawiki.org' => 'MediaWiki',
);

If the URL includes &goto=mainpage, it redirects to to the existing subdomain in case that exists; otherwise it redirects you to a subpage "Wx/xyz/Main Page" where "Main Page" is translated depending on the MediaWiki localisation of the language of that test wiki.

Pages in test wiki namespaces

Namespaces used for test wikis (e.g. "Wx/xyz/Page" and "Template:Wx/xyz/Page" are allowed, but not "Help:Wx/xyz/Page").

$wmincTestWikiNamespaces = array(
	NS_MAIN, NS_TALK,
	NS_TEMPLATE, NS_TEMPLATE_TALK,
	NS_CATEGORY, NS_CATEGORY_TALK,
	828, 829 // NS_MODULE, NS_MODULE_TALK
);

Pseudo-category namespaces, e.g. "Category:Maintenance:Delete". Creating unprefixed pages in category namespaces is restricted by default, but for some categories related to the site itself, it is useful to allow creating subcategories. It only allows colons (:) as delimiter. (See incubator:Category:Users:By_language as an example.)

$wmincPseudoCategoryNSes = array( 'Incubator', 'Help', 'Users', 'Maintenance', 'Files' );

Pages belonging to test wikis that have an existing subdomain, cannot be edited nor created and display a message linking to the existing wiki. If your test wiki preference is set to that test wiki, or if &testwiki=wx/xyz equals to that test wiki, you are redirected to the wiki.

Pages in test wiki namespaces, that lack a prefix, cannot be created (but existing unprefixed pages can be edited). It shows an error message, and if you have set a test wiki preference, it suggests to create a correctly prefixed page.

Pages in test wiki namespaces are marked as being written in the language depending on the "xyz" language code. This means for example that pages of "Wx/ar" (Arabic) and "Wx/he" (Hebrew) are from right-to-left.

If your preference or &testwiki=wx/xyz is set to the test wiki you are viewing, the logo changes to the image specified in MediaWiki:Incubator-logo-wx-xx if available (where Incubator is the name set in $wmincProjectSite), and otherwise MediaWiki:Wminc-logo-project (where project is the name as in $wmincProjects).

Test admins

Configuration is set by default to create a user group of "test administrators", who have limited administrator rights like delete, undelete, view deleted history, block, block email and rollback. There is no technical restriction (yet) that a test admin can only perform actions within their test wiki.

The default configuration for the test administrator user group.

$wgGroupPermissions['test-sysop']['delete'] = true;
$wgGroupPermissions['test-sysop']['undelete'] = true;
$wgGroupPermissions['test-sysop']['deletedhistory'] = true;
$wgGroupPermissions['test-sysop']['autopatrol'] = true;
$wgGroupPermissions['test-sysop']['block'] = true;
$wgGroupPermissions['test-sysop']['blockemail'] = true;
$wgGroupPermissions['test-sysop']['rollback'] = true;
$wgGroupPermissions['test-sysop']['suppressredirect'] = true;
$wgAddGroups['bureaucrat']['test-sysop'] = true;
$wgRemoveGroups['bureaucrat']['test-sysop'] = true;

Special:ListUsers

Special:ListUsers can be filtered by test wiki. You can input a test wiki prefix ("Wx/xyz") or "Incubator" and it will filter the list of users to those who have set their test wiki preference to that.

Special:Search

You can search in a test wiki if the search engine supports it (which is true on WMF wikis). It will do so by default in your test wiki, but you can change it by using the input form that is shown in the advanced search form.

Also, a custom message will be shown, either "Set your test wiki preference so we can tell you which page to create!" or "You can create Wx/xyz/Search_term!".

链接