“Project:扩展维护”的版本间差异

来自Kanade
→‎特殊页面Investigate:​ 图片示例
 
第187行: 第187行:
 
详细说明可以参阅[[metawikimedia:Help:Special Investigate#Blocking:|Blocking]]章节。
 
详细说明可以参阅[[metawikimedia:Help:Special Investigate#Blocking:|Blocking]]章节。
 
<gallery>
 
<gallery>
Wikia Block user.PNG | 正常管理页
+
Wikia Block user.PNG | 旧封禁页面
Special InvestigateBlock pagescreenshot.png | 拥有权限后
+
Special InvestigateBlock page screenshot.png | 新封禁页面
 
</gallery>
 
</gallery>
  

2023年2月26日 (日) 23:21的最新版本

Parsoid

  • 要使得Parsoid在LNMP 1.7环境安装包下顺利使用可视化编辑功能需要进行如下修改:
  1. 注释掉/usr/local/nginx/conf/enable-php.conf中的#try_files $uri =404;
  2. 注释掉/usr/local/php/etc/php.ini中的; cgi.fix_pathinfo=0
  3. 与数据库无关,重启nginx和php-fpm即可。

Extension:CentralAuth

注意:以下方法仅在MW 1.19、1.23、1.27 测试成功,现在仅供参考。

使用共享数据库

$wgDBtype = "mysql";
$wgDBserver = "localhost";
$wgDBname = "wiki_wiki"; # 所在的数据库
$wgDBuser = "wiki"; # 用户被授予对以wiki_开头的数据库进行操作权限
$wgDBpassword = "(hidden)";
$wgSharedDB = 'wiki_www'; # 所共享的数据库
$wgSharedPrefix = 'www_'; # 共享数据表前缀
# ↓必须勾选记住我的登录状态,否则打开另一个wiki后之前的账号自动退出
$wgCookieDomain = ".example.org"; 
# 默认开启表'user', 'user_properties'的共享(同一账号登录所有wiki)
$wgSharedTables[] = 'ipblocks'; # 共享封禁表(伪全域封禁)
$wgSharedTables[] = 'interwiki'; # 共享跨维基表

使用CentralAuth

  • 使用CentralAuth建立多Wiki并启用SSO单点登录(基于Walkthrough归纳):
    • 下载CentralAuth,拷贝至每个Wiki的扩展目录。
    • 在LocalSettings.php中添加以下内容,并做相应修改。
    • 将扩展目录下的centralauth.sql导入中央Wiki所在的数据库,并执行以下语句:
INSERT INTO global_group_permissions (ggp_group,ggp_permission) VALUES ('steward','globalgrouppermissions'),('steward','globalgroupmembership');
    • 执行扩展目录中的php migratePass0.phpphp migratePass1.phpphp migrateStewards.php
      其中前两个命令也可以通过访问Special:MergeAccount完成。第三个命令需要先授予自己steward身份,然后在终端中运行,成功执行后该账户将变成全域steward。
    • 若需要禁用行政员授予他人steward权限,以下为示例。
    • 至此安装已经完成。

Extension:CheckUser

缺少useragent报错

注释掉/home/wwwroot/default/mw/extensions/CheckUser/src/TimelineRowFormatter.php中的第99行//'userAgent' => $this->getUserAgent( $row->cuc_agent ),(该行报错)后Special:Investigate中可以使用Timeline功能,但缺少useragent信息项。

    1. 猜想1:因为不是一开始就安装了Checkuser,所有有一部分信息出现了缺失(空值),而代码未对空置进行过滤而导致问题。
    2. 猜想2:若随MediaWiki一同安装可能不会出现此问题。
    3. 猜想3:应该只影响CheckUser安装前的用户。
    • 结论: 对数据库中受影响的空值进行填充,可以得知: 历史记录是50项/页的,所以只要满足操作次数则可避免报错。

特殊页面Investigate

新的特殊页面带来了新的特性,当用户拥有investigate权限后特殊页面会以Special:InvestigateBlock替代Special:Block页面。但原先页面依旧可用,只是隐藏了入口。现在的处理方式是分离该权限,仅在需要时使用。

详细说明可以参阅Blocking章节。

Extension:Display Title

DisplayTitle被用于显示与页面名称不一样的标题。根据扩展说明页面,在1.5.3版本之后,所有与重定向相关的页面都会受到影响,例如:特殊:重定向页列表特殊:链入页面、重定向的页面。

原有的页面名称将显示为重定向目标页面的名称,与用户的直觉不符。解决方案是安装低版本扩展。

Extension:PdfHandler

PDFHandler是一个MediaWiki安装时捆绑的一个扩展,理解的用途是在文章中展示PDF页面。但是现代浏览器chrome类和firefox列都能够打开网页上的PDF文件,似乎也不是怎么的重要了。一般来说,这个扩展未经配置是无法展现PDF页面的,取而代之的是一个Logo。

要让该扩展正常使用首先需要apt安装which gs convert pdfinfo pdftotext。 在LocalSettings.php中的配置如下:

 1$wgFileExtensions[] = 'pdf';
 2$wgUseImageMagick = true;
 3wfLoadExtension( 'PdfHandler' );
 4# Ubuntu
 5$wgPdfProcessor = 'gs';
 6// if defined via ImageMagick
 7$wgPdfPostProcessor = $wgImageMagickConvertCommand; 
 8// if not defined via ImageMagick
 9// $wgPdfPostProcessor = 'convert'; 
10$wgPdfInfo = 'pdfinfo';
11$wgPdftoText = 'pdftotext';
12# Debian
13$wgPdfProcessor = '/usr/bin/gs'; 
14// if defined via ImageMagick
15$wgPdfPostProcessor = $wgImageMagickConvertCommand; 
16// if not defined via ImageMagick
17// $wgPdfPostProcessor = '/usr/bin/convert';  
18$wgPdfInfo = '/usr/bin/pdfinfo'; 
19$wgPdftoText = '/usr/bin/pdftotext';
  • 在迁移时发现pdfinfo pdftotext不安装亦可正常使用。

Extension:Semantic MediaWiki

在使用新版本Composer更新SMW时,Composer会提示报错 Package::setProvides must be called with a map of lowercased package name.。目前找到的解决方法是使用旧版Composer(如版本2.1.14)进行更新。[1]如果遇到莫名其妙的包 冲突/丢失 的问题,可以尝试更换composer的源。

Extension:VisualEditor

此章节仅针对旧版VisualEditor,新版MediaWiki(1.35版本起)已内置相关组件无需额外安装。
  • Parsoid服务的单服务器多站点的示例配置内容(位于/etc/mediawiki/parsoid/config.yaml)建议拷贝源代码:

其他

语言

设置界面语言时,用户语言 要与 维基使用语言 保持一致;即便是相似的简体中文,其计算机编码也可能是不一样额。 目前这两个选项在配置文件中设置成一样的,也隐藏了前台的修改选项。