2011-02-16 73 views
6

我試圖克制對Wiki(使用MediaWiki),我創建作爲我公司的內部項目的編輯。MediaWiki:頁面編輯只允許創作者或批准

我們希望能夠讓網頁製作者指定沒有或以下兩個選項之一:除了這個頁面的創建者

  • 沒有人可以編輯這個頁面
  • 任何人都可以的內容編輯此頁面的內容,但必須先獲得頁面創建者的批准,然後才能看到更改(無論是直接郵寄,直接在Wiki上還是其他內容 - 無關緊要)。

如果創建者未指定2個選項中的任何一個,任何人都可以編輯頁面,並且這些更改立即可見(默認行爲)。

我一直在瀏覽網絡,但我沒有找到一個開箱即用的解決方案。由於LocalSettings文件的版本,我們設法做出了一些很好的自定義的東西,但不是這樣。

該功能是否有解決方案?

+0

(將此添加爲評論,因爲這不是*您的問題的直接答案)您意識到這樣的事實,即這與維基的整個目的相反,即促進低閾值精益編輯?考慮到這一點,我們以不同的方式解決這個問題:1.在特定頁面上添加一個標籤(使用模板)告訴正在調節它的用戶以及用於編輯頁面的指令是什麼(例如錯別字可以修復)和2.鼓勵作者觀看頁面並在發生更改時收到電子郵件。還問問自己 - 作者不在時會發生什麼? – Wikis 2011-02-17 08:42:30

回答

2

我不知道一個擴展會讓這個變得簡單。

我認爲你可以做的是採取Flagged RevsApproved Revs這樣的擴展名,並且使其不使用組作爲審批狀態的確定者,而是使用用戶名。這可能不是太困難。這有意義嗎?

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; 

,它會工作,你希望它是IE(你做的改變將不會反映,直到您批准的方式)