2010-10-28 113 views
1

在MediaWiki中,我想更改历史记录中的用户名和最近对用户首选项中输入的“真实姓名”的更改。例如,在最近的变化我看到这一点:在Mediawiki中显示“真实姓名”,而不是用户名

(diff) (hist) . . Somepage‎; 11:03 . . (+285) . . Coolguy123 (Talk | contribs | block) 

但我想看到这一点:

(diff) (hist) . . Somepage‎; 11:03 . . (+285) . . Billy Bob (Talk | contribs | block) 

不过,我没有访问到后端,所以我不能破解PHP。这可能只是使用JavascriptCSS? (我可以编辑MediaWiki:Common.jsMediaWiki:Common.css

回答

1

你真的想把每个用户的用户名改成他的真实姓名。取决于您拥有的用户数量,可能需要一段时间,用户必须以真实姓名登录(旧用户名将不再有效)。除非您的系统管理员安装了Extension:Renameuser并且您被赋予了“官僚主义”权限,否则您也不可能自己去做。

对于页面历史记录,可以使用AJAX-请求使用?action=credits的同一页面来获取所有用户名 - 真实名称对(试图“解析”HTML),尽管这样的一个额外的HTTP请求大量使用的功能。我将只有客户端JavaScript请求,并在用户单击按钮时显示真实姓名。这样,只要使用历史记录快速识别维基百科破坏行为,希望不会受到性能损失的影响。

Extension:PageHistoryRealnames将是服务器管理员可以安装的,而不是重命名用户(不确定最近的更改部分)。但是,对性能的影响可能是他拒绝这样做的一个原因。虽然MediaWiki除了存储用户ID号码之外,还存储用户用户名和修订信息的单独副本,但真实姓名不是(部分原因是因为用户的偏好可以改变)。 (这就是为什么当维基百科的大型贡献者要求更改用户名时,可能需要一段时间,因为每个历史记录条目都需要更新。)这意味着必须使用SQL“LEFT JOIN”,这会导致速度放慢。

0

如果你可以编辑MediaWiki命名空间,你有管理员权限,是吗?你可以看看Extension:ShowRealUsernames。理想地说服后端人员安装它,或者看看是否可以将它合并到您提到的常见页面中。

注意:即使您可以从某个位置导入实名,每个用户都可以使用MY PREFERENCES覆盖这些名称。

相关问题