MediaWiki:页面编辑仅允许创建者或经批准
Posted
技术标签:
【中文标题】MediaWiki:页面编辑仅允许创建者或经批准【英文标题】:MediaWiki: page editing allowed by creator only or with approval 【发布时间】:2011-06-28 08:36:20 【问题描述】:我正试图限制对我作为公司内部项目创建的 Wiki(使用 MediaWiki)进行编辑。
我们希望能够让页面创建者不指定或指定以下两个选项之一:
除此页面的创建者外,任何人都不能编辑此页面的内容 任何人都可以编辑此页面的内容,但在更改可见之前必须得到页面创建者的批准(无论是通过邮件、直接在 wiki 上还是其他方式 - 无所谓)。如果创建者没有指定这两个选项中的任何一个,任何人都可以编辑页面,并且更改立即可见(默认行为)。
我一直在浏览网络,但没有找到开箱即用的解决方案。由于 LocalSettings 文件的版本,我们设法制作了一些很棒的自定义东西,但不是这个。
该功能有解决方案吗?
【问题讨论】:
(将其添加为评论,因为这不是对您的问题的直接回答)您知道这与 wiki 的全部目的背道而驰,即促进低门槛,精益编辑?考虑到这一点,我们以不同的方式解决这个问题: 1. 在某些页面上方添加一个标签(使用模板),告诉人们谁正在审核它以及编辑页面的说明是什么(例如可以修复错别字)和2. 鼓励作者查看页面并在更改时接收电子邮件。还要问问自己——当作者不在时会发生什么? 我也有同样的问题! 【参考方案1】:我和你有同样的问题,现在我解决了,这里是解决方案:
我正在使用http://www.mediawiki.org/wiki/Extension%3aApproved_Revs 来保护文章,但它不能满足我的需要,它允许用户更改文章当前批准的修订,因此更改立即反映在主页上,所以我稍微修改了一下,基本上你只需要一个改变
转到 ApprovedRevs/ApprovedRevs.hooks.php
并找到以下代码:
static public function setLatestAsApproved( &$article , &$user, $text,
$summary, $flags, $unused1, $unused2, &$flags, $revision,
&$status, $baseRevId )
这是添加以下代码后的函数声明:
return false;
它将按照您希望的方式工作,即(您所做的更改在您批准之前不会反映)
【讨论】:
【参考方案2】:我不知道有什么扩展可以让这变得简单。
我认为您可以做的是采用像Flagged Revs 或Approved Revs 这样的扩展名,并使其不使用组作为批准状态的确定者,而是使用用户名。这可能不是太难。这有意义吗?
【讨论】:
以上是关于MediaWiki:页面编辑仅允许创建者或经批准的主要内容,如果未能解决你的问题,请参考以下文章