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:页面编辑仅允许创建者或经批准的主要内容,如果未能解决你的问题,请参考以下文章

MediaWiki:允许用户在私人 wiki 上创建帐户

Linux服务器---百科mediawiki

MediaWiki 上的 GraphViz 点在编辑后被拉长

仅从 MediaWiki 中的子页面 url 获取页面名称

php 允许用户仅编辑某些页面

Google oAuth登录 - 如何仅允许列入白名单的电子邮件登录我的应用