6

我试图限制对我作为公司内部项目创建的 Wiki(使用 MediaWiki)的编辑。

我们希望能够让页面创建者不指定或指定以下两个选项之一:

  • 除了此页面的创建者之外,任何人都不能编辑此页面的内容
  • 任何人都可以编辑此页面的内容,但在更改可见之前必须得到页面创建者的批准(无论是通过邮件、直接在 wiki 上还是其他方式 - 无所谓)。

如果创建者没有指定 2 个选项中的任何一个,任何人都可以编辑页面,并且更改立即可见(默认行为)。

我一直在浏览网络,但我没有找到一个开箱即用的解决方案。由于 LocalSettings 文件的版本,我们设法制作了一些很棒的自定义东西,但不是这个。

该功能有解决方案吗?

4

2 回答 2

2

我不知道有什么扩展可以让这变得简单。

我认为你可以做的是采用像Flagged RevsApproved Revs这样的扩展,并使其使用用户名而不是使用组作为批准状态的确定者。这可能不是太难。这有意义吗?

于 2011-02-16T16:49:25.933 回答
0

我遇到了和你一样的问题,现在解决了,解决方法如下:

我正在使用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;

它会按照您希望的方式工作,即(您所做的更改在您批准之前不会反映)

于 2011-06-10T13:28:38.943 回答