Extension:跨wiki
发行状态: 稳定版 |
|
|---|---|
| 实现 | 特殊页面 |
| 描述 | 添加一個特殊頁面以查看和操作interwiki的数据表 |
| 作者 | Stephanie Amanda Stevens, SPQRobin |
| 最新版本 | 4.0 |
| MediaWiki | 1.36—1.43 |
| 数据库更改 | 否 |
| 许可协议 | GNU通用公眾授權條款2.0或更新版本 |
| 下載 | |
| 示例 | Special:Interwiki |
|
|
|
interwiki |
|
| 前往translatewiki.net翻譯Interwiki扩展 | |
| 問題 | 开启的任务 · 报告错误 |
Interwiki 扩展将Special:Interwiki页面添加到MediaWiki、用以查看和编辑interwiki数据表,還有添加一個以它所做出來的任何操作的日誌。
此扩展與$wgInterwikiCache变量配合使用。
使用它對interwiki数据表所做的更改可能會影響嵌入和跨維基連結的行为。
Special:Interwiki的列表与 API api.php?action=query&meta=siteinfo&siprop=interwikimap 相同,只是iw_api字段不可用。
安裝
- 下载文件,并解压
Interwiki文件夹到extensions/目录中。
开发者和代码贡献人员应改从Git安装此扩展,输入:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Interwiki
- 請新增下列代码到您的LocalSettings.php文件的底部:
wfLoadExtension( 'Interwiki' ); // 授予某個群組(例如「系統管理员」群組)权限以编辑跨维基数据 $wgGroupPermissions['sysop']['interwiki'] = true;
完成 – 請导航至您的wiki上的Special:Version,以验证此扩展已成功安装。
- MediaWiki 自带的配置不会授予任何用户组权限。 因此,您需要自己添加配置,否则没有人能够编辑跨维基数据。
- 要启用来自其他站点的嵌入,您需要启用
$wgEnableScaryTranscluding。 - 要禁用通过
Special:Interwiki接口添加前缀,请将$wgInterwikiViewOnly设置为true。
SpecialInterwiki.i18n.php 中每个语言环境定义的 interwiki 消息项定义。 它的值为查看和编辑跨wiki数据。
配置
跨语言链接
要使用此擴展功能建立跨語言的連結,請確保$wgInterwikiMagic設定為true、$wgHideInterlanguageLinks設定為false(它們預設為此設定,通常是無需去更改)。
$wgInterwikiViewOnly也需要設定為false(這是預設值)。
然後以能夠編輯跨維基連結的用戶身份前往 Special:Interwiki。
這由interwiki的權限控制,默認情況下,不會有任何用戶組擁有此權限,因此需要將其添加到用戶組中,例如:
$wgGroupPermissions['sysop']['interwiki'] = true;
您一旦在Special:Interwiki了,可以二者擇一,點擊表格頂部的添加跨wiki或语言前缀鏈接、或编辑、或是點擊現有跨維基前綴表格行中的Delete鏈接。
選擇添加跨維基或編輯跨維基的前綴將帶您到一個獨立的頁面,該頁面包含一個需要填寫多個欄位的表單。
主要的欄位有「name」,這是連結所使用的前綴;以及「URL」,您可以在其中輸入完整的URL樣式。
例如,設定name=foowiki和URL=http://fr.foowiki.tld/wiki/$1將使[[foowiki:Blah]]指向http://fr.foowiki.tld/wiki/Blah。
還有兩個標示為「轉發」和「嵌入」的复选框。
請參閱Manual:Interwiki table,以了解轉發(iw_local)和嵌入(iw_trans)位元的完整說明。
簡而言之:
- 通常,在同一群組中會啟用所有語言和專案之間的轉發功能('local'是
local=true),因為這樣可以將任何一種語言的連結作為通往其他語言的通道。 例如,英語維基百科對全部的別種語言維基百科以及其他的共享資源、維基新聞、或維基導遊等项目都設置了'local'位元為true。 某個用戶在維基百科以外的維基上,在此處的跨維基前綴wikipedia:就是指向en.wikipedia.org,他就可以藉此創建一個如同wikipedia:fr:Encyclopédie的鏈接。 此鏈接一開始是前往英語維基百科的“fr:Encyclopédie”。 而伺服器en.wikipedia會立即將fr:識別為一個「本地(local)」的跨維基連結,因此會回覆一個到法語維基百科的重定向,此處的fr.wikipedia.org/wiki/Encyclopédie會呈現示出所要求的法語維基百科頁面[[Encyclopédie]],就完成了。 - 啟用轉發功能的情況很少見,因為它允許在一個維基上的條目使用其他維基上的模板。 這被稱為「未爆彈轉發」,因為如果另一個維基在預期之外更改了模板,就會造成問題。 一些維基農場使用此功能創建一個「中央維基」,其中包含各種模板,這些模板可給那些同在一農場的其他維基使用。 如果您不需要此功能,請不要啟用它。
全域跨wiki
自第3版以來,跨维基功能可讓你定義某個全域/中央資料庫,並從該資料庫以及本地数据表中提取已定義好的跨维基。 這本質上是一個数据表合併的功能,帶有可將中央資料庫的定義覆蓋掉的本地跨維基定義。 語言的連結不會從中央数据表中提取;由於中央数据表可能為多個專案提供服務(每個專案都有自己的語言),因此這些連結被設定為僅限本地使用。
中央数据表是中央維基的跨維基数据表。 這意味著就中央維基而言,它基本上只是個普通的非全域設置。 因此,中央(全域)表格沒有任何特殊權限,儘管您可能希望在指派此維基上的“跨維基”編輯的權限上更加吹毛求疵。
- 這是通過考察當前可能的用例(ShoutWiki的中心、偽維基的中央維基和元維基)得出的結論,這些用例中,中央維基本身並不會增加任何額外功能。
- 這可能在未來會發生變化,但任何更智能的功能都將需要更新架構。
- 這可能無法與資料表前綴一起使用,因為資料表的存取方式不同。
要建造一個中央跨維基資料表,只需提供您想要使用的維基資料庫的名稱即可:
// 啟用從中央資料庫提取全域跨維基的功能
$wgInterwikiCentralDB = 'mw_central';
將 ''mw_central'' 改為資料庫名稱。
對於使用資料表前綴的使用者,這裡有一個「pool_example_wiki」資料表的替代解決方案。
$wgSharedDB = 'example_wiki'; # 存放主要跨維基資料表的wiki資料庫的$wgDBname
$wgSharedPrefix = 'pool_'; # 資料庫的$wgDBprefix。如果未指定,則預設為當前wiki的前綴。
$wgSharedTables = ['interwiki'];
协议相对 URL
您可以使用 相對協議URL(PRURL),以便通過 HTTP 或 HTTPS 存取您的維基的用戶可以使用相同的協議訪問跨維基連結。
要使用 PRURL,首先確保目標伺服器支援HTTPS;如果支援,則只需從連結資料表中的URL中刪除https:部份即可。
例如:變更
https://en.wikipedia.org/wiki/$1
為:
//en.wikipedia.org/wiki/$1
| 此扩展用于一个或多个维基媒体项目。 这可能意味着扩展足够稳定、运作足够良好,可以用在这样的高流量的网站上。 请在维基媒体的CommonSettings.php和InitialiseSettings.php配置文件中查找此扩展的名称以查看哪些网站安装了该扩展。 特定wiki上的已安装的扩展的完整列表位于Special:Version页面。 |
| 此扩展在以下wiki农场/托管网站和/或软件包中提供: |
- Stable extensions/zh
- Special page extensions/zh
- GPL licensed extensions/zh
- Extensions in Wikimedia version control/zh
- Extensions which add rights/zh
- All extensions/zh
- Pages using deprecated NoteTA template
- Extensions bundled with MediaWiki 1.21/zh
- Extensions used on Wikimedia/zh
- Extensions included in BlueSpice/zh
- Extensions included in Canasta/zh
- Extensions available as Debian packages/zh
- Extensions included in Miraheze/zh
- Extensions included in MyWikis/zh
- Extensions included in ProWiki/zh
- Extensions included in semantic::core/zh
- Extensions included in ShoutWiki/zh
- Extensions included in Telepedia/zh
- Extensions included in wiki.gg/zh
- Interwiki extensions/zh
