dokuwiki 的管理和使用
文章目錄
- 版本控制
- 頁(yè)面間互相引用
- 插件 indexmenu
- 增加頁(yè)面
- 刪除頁(yè)面
- 上傳文檔
- 頁(yè)面里引用文件
- 文檔管理
- 用戶管理
- 權(quán)限管理
dokuwiki 很適合作為中小團(tuán)隊(duì)的知識(shí)庫(kù),在公司內(nèi)網(wǎng)部署。考慮到我所在公司的現(xiàn)狀,我認(rèn)為 dokuwiki 要有以下的功能:
知識(shí)管理。用于知識(shí)的沉淀和分享,每個(gè)人都可以創(chuàng)建頁(yè)面,也可以多人協(xié)同編輯頁(yè)面;歷史版本可追溯,可恢復(fù)。頁(yè)面之間可以互相引用。
樹(shù)形結(jié)構(gòu)。
陽(yáng)志平老師在他的博文中提到:
我提過(guò)多次的 MIT 認(rèn)知科學(xué)家 Joshua B. Tenenbaum 發(fā)表在 PNAS 的論文( The discovery of structural form )中,比較了抽象知識(shí)的不同表征結(jié)構(gòu)……最終還是意識(shí)到,人類的最佳知識(shí)結(jié)構(gòu)是樹(shù)形結(jié)構(gòu)。只有樹(shù)形結(jié)構(gòu),才是最符合人類認(rèn)知特點(diǎn)的一種結(jié)構(gòu),從樹(shù)的上一層到下一層,是具備唯一通道,便于大腦將知識(shí)從記憶底層快速提取出來(lái),符合人類大腦是個(gè)認(rèn)知吝嗇鬼的特點(diǎn);樹(shù)又是兼具橫向擴(kuò)展與縱向擴(kuò)展能力的最優(yōu)雅的結(jié)構(gòu)。
——Zotero(2):作為知識(shí)管理工具的Zotero - 陽(yáng)志平的網(wǎng)志
權(quán)限管理。比如 Leaders 有權(quán)限刪除頁(yè)面,普通成員僅可以創(chuàng)建,但不能刪除。再比如 A 部門的員工看不到 B 部門的頁(yè)面。
文檔管理。可以把文檔上傳到服務(wù)器,頁(yè)面可以引用文檔;搜索文檔方便;有管理文檔的接口,便于增刪改查。
上傳附件方便。編輯頁(yè)面的時(shí)候,可以很方便地插入圖片,上傳附件。
下載文件方便。
如果有 PDF、DOC 等格式的預(yù)覽就更好了。
咱們一個(gè)一個(gè)說(shuō),看看 dokuwiki 是否支持這些功能,如果不支持怎么弄。
對(duì)于 1,dokuwiki 天然就有。關(guān)于版本控制,后文會(huì)專門用一節(jié)介紹。
對(duì)于 2,其實(shí) dokuwiki 的頁(yè)面存儲(chǔ)本來(lái)就是樹(shù)形結(jié)構(gòu),我們只是需要一個(gè)插件 indexmenu,把目錄樹(shù)顯示出來(lái),見(jiàn)后文的“插件 indexmenu”、“增加頁(yè)面”
對(duì)于 3,dokuwiki 也是天然支持,后文會(huì)講。
對(duì)于 4,參見(jiàn)后文的“上傳文檔”、“頁(yè)面里引用文件”、“文檔管理”
對(duì)于 5,上傳附件已經(jīng)說(shuō)過(guò)了,插入粘貼的圖片可以用插件 imgpaste,請(qǐng)參考我的上一篇博文。
對(duì)于 6,很簡(jiǎn)單,點(diǎn)擊鏈接就可以。
對(duì)于 7,PDF 是自帶預(yù)覽的,其他格式似乎預(yù)覽不了。
版本控制
DokuWiki 存儲(chǔ)每一個(gè) Wiki 頁(yè)面的所有版本,允許用戶比較當(dāng)前版本和任何歷史版本。使用了和 MediaWiki 類似的差異引擎(比較版本間的差異的軟件)。通過(guò)計(jì)時(shí)鎖定機(jī)制,可以防止不同用戶編輯同一個(gè)頁(yè)面時(shí)產(chǎn)生沖突。2012 年 1 月發(fā)布的新版中,加入了媒體文件版本控制。
點(diǎn)擊頁(yè)面右邊的“修訂記錄”,如下圖
點(diǎn)擊眼鏡圖標(biāo)就可以看到差異,第一次用這個(gè)功能的時(shí)候,是真的驚艷到我了。
頁(yè)面間互相引用
可以用語(yǔ)法
Internal links are created by using square brackets. You can either just give a [[pagename]] or use an additional [[pagename|link text]].也可以用按鈕
插件 indexmenu
下載地址: https://www.dokuwiki.org/plugin:indexmenu
這個(gè)插件最有用的地方是可以在邊欄增加一個(gè)導(dǎo)航列表。
設(shè)置方法:安裝完之后,在 sidebar 頁(yè)面的尾部添加
{{indexmenu>:}}
增加頁(yè)面
上面圖片的左上角,有一個(gè)增加頁(yè)面的小工具,因?yàn)槲野惭b了 addnewpage 插件
下載地址:http://www.dokuwiki.org/plugin:addnewpage
設(shè)置方法可以參考我的上一篇博文。
在 wiki 頁(yè)面的任何位置放置{{ NEWPAGE }},以獲得一個(gè)新的頁(yè)面標(biāo)題文本輸入框和一個(gè)名稱空間選擇下拉菜單。一般都放在 sidebar 頁(yè)面。
你可以在下拉菜單中選擇某個(gè)名稱空間,然后輸入頁(yè)面名稱,創(chuàng)建新的頁(yè)面,系統(tǒng)會(huì)直接跳到新頁(yè)面讓你編輯。你也可以同時(shí)創(chuàng)建名稱空間和頁(yè)面,用英文的冒號(hào)分隔,例如在輸入框里面輸入:
研究院:物理所:凝聚態(tài)物理
這將創(chuàng)建命名空間研究院,子命名空間物理所,最后在物理所下面創(chuàng)建頁(yè)面凝聚態(tài)物理
刪除頁(yè)面
把文章內(nèi)容刪空,頁(yè)面就自動(dòng)刪除了。沒(méi)有文章的命名空間也會(huì)被自動(dòng)刪除。
上傳文檔
上傳文件就點(diǎn)這個(gè)按鈕。
上傳的時(shí)候,要注意命名空間,看看是不是你想要的。
首先,選擇本地文件,然后確認(rèn)命名空間。如果想創(chuàng)建命名空間,那就用前文介紹過(guò)的冒號(hào)語(yǔ)法,比如我要?jiǎng)?chuàng)建命名空間 chezi,那就手動(dòng)在文件名的前面加上 chezi:
最后點(diǎn)擊上傳。
因?yàn)槭巧蟼髅襟w文件,而不是創(chuàng)建頁(yè)面,在側(cè)邊欄是看不到新的命名空間的,需要點(diǎn)擊媒體管理器。
可以看到 chezi 被成功創(chuàng)建。
頁(yè)面里引用文件
還是剛才那個(gè)按鈕,搜索你要引用的文件,點(diǎn)擊文件名就可以了。
這時(shí)候文本編輯框會(huì)自動(dòng)插入
{{ :軟件部:協(xié)議組:chezi:the_eighty_five_percent_rule_for_optimal_learning.pdf |}}
保存后的效果是:
文檔管理
先說(shuō)搜索文檔,其實(shí)很簡(jiǎn)單,在右上角的搜索框輸入關(guān)鍵字。這里就不演示了。
dokuwiki 自帶的管理文檔的接口是“媒體管理器”
其實(shí)功能還比較全,比如有上傳、搜索、刪除、歷史等。
但是我發(fā)現(xiàn)了一個(gè)缺點(diǎn),就是無(wú)法顯示出所有文件,只能分命名空間來(lái)顯示,一次只能展示一個(gè)命名空間。
如何一次展示出所有文件呢?有一個(gè)插件:filelisting
下載地址:https://www.dokuwiki.org/plugin:filelisting
我在根部命名空間增加了一個(gè)頁(yè)面,叫文件目錄,在它的編輯欄里面輸入 {{filelisting}}
就有了這樣的效果:
總歸可以展示出所有文件了。
Filter 這個(gè)框子可以輸入文件名過(guò)濾。
用戶管理
這里的“組”要說(shuō)明一下。
在用戶管理中,用戶總是屬于某個(gè)組。有兩個(gè)組有點(diǎn)特別:
- @ALL。每個(gè)人,即便是沒(méi)有登錄的人,都屬于這個(gè)組。你可以使用這個(gè)組來(lái)限制所有人的訪問(wèn)權(quán)限(作為默認(rèn)設(shè)置),然后再對(duì)特定用戶放寬權(quán)限。
- @user。所有自主注冊(cè)的用戶,默認(rèn)都屬于這個(gè)組。用這個(gè)組來(lái)給予“已登入”用戶權(quán)限。這個(gè)組的名字可以通過(guò)默認(rèn)組選項(xiàng)配置。與虛擬的“ALL”組不同,“user”組是真實(shí)的組,是在使用簡(jiǎn)單身份驗(yàn)證后端時(shí)所有用戶默認(rèn)加入的組。如果你使用不同的驗(yàn)證后端,你需要使用這個(gè)后端所提供的組。
在內(nèi)部以及 ACL(訪問(wèn)控制列表)管理器中,組由“@”前綴和組名來(lái)表示。
添加用戶的時(shí)候,不用事先創(chuàng)建組名,直接輸入新的組名就可以。
權(quán)限管理
可以參考 https://www.dokuwiki.org/zh:acl
這里簡(jiǎn)單說(shuō)一下。
訪問(wèn)控制可以針對(duì)頁(yè)面或者命名空間。共有7種權(quán)限:無(wú)、讀取、編輯、創(chuàng)建、上傳、刪除以及管理。高權(quán)限會(huì)包含低權(quán)限,其中讀取是最低的權(quán)限,刪除是最高的權(quán)限。需要注意的是,創(chuàng)建、上傳和刪除權(quán)限只能應(yīng)用于命名空間。
為命名空間設(shè)置的規(guī)則也會(huì)應(yīng)用到其下的媒體文件和頁(yè)面。
當(dāng) Dokuwiki 檢查它應(yīng)該給用戶何種權(quán)限時(shí),它會(huì)使用所有匹配該用戶及其所在組的規(guī)則。最終應(yīng)用的權(quán)限規(guī)則由以下方式選出:
- 規(guī)則的應(yīng)用范圍越接近指定的頁(yè)面,優(yōu)先級(jí)就越高 —— 我們稱之為“specific matching”
- 當(dāng)多個(gè)規(guī)則的應(yīng)用范圍相同,給予最高權(quán)限的那個(gè)規(guī)則會(huì)被采用。
想方便地添加新規(guī)則或更改已存在的規(guī)則,你需要使用“管理”菜單中的 ACL 管理器。如下圖:
注意: 刪除權(quán)限僅影響媒體文件。頁(yè)面可以刪除(和恢復(fù))這個(gè)屬于編輯權(quán)限。有上傳權(quán)限但沒(méi)有刪除權(quán)限的人不能覆蓋現(xiàn)有的媒體文件。
基本上,增加一條新的 ACL 規(guī)則有三個(gè)步驟:
已有規(guī)則可以在 ACL 管理器下面的表格中修改或者刪除。
文中舉了一個(gè)例子,我們看看。規(guī)則列表如下:
This time we look what rules will match for different users when trying to access the page private:bobspage.
當(dāng)訪問(wèn)命名空間 private 下的 bobspage 頁(yè)面的時(shí)候,我們看看對(duì)每個(gè)用戶要應(yīng)用什么規(guī)則。
abby, 普通用戶
根據(jù)她所屬的組,#1, #2, #4 都匹配;規(guī)則的應(yīng)用范圍越接近指定的頁(yè)面,優(yōu)先級(jí)就越高,所以應(yīng)用規(guī)則 #4,所以 abby’s permissions level is 0
bob, 普通用戶
#1, #2, #4, #6 都匹配,#6 對(duì)應(yīng)的范圍完全匹配指定的頁(yè)面,所以 bob’s permission level is 16
bob 忘記了登錄,但是要訪問(wèn) private:bobspage.
#1 & #4 匹配,#4 的范圍更接近,所以 bob’s permission level while not logged in is 0
charlie, @staff 組的成員
#1 - #5 這 5 個(gè)規(guī)則都匹配,#4 和 #5 對(duì)應(yīng)的范圍最接近指定頁(yè)面,根據(jù)當(dāng)多個(gè)規(guī)則的應(yīng)用范圍相同,給予最高權(quán)限的那個(gè)規(guī)則會(huì)被采用,所以應(yīng)用規(guī)則 5,charlie’s permission level is 16
高級(jí)話題:可以在 acl 中使用用戶通配符,本文就略了。
回到現(xiàn)實(shí)應(yīng)用,對(duì)于企業(yè)來(lái)說(shuō),經(jīng)常是 A 部門不能訪問(wèn) B 部門的頁(yè)面,反之亦然。針對(duì)這個(gè)應(yīng)用場(chǎng)景,如何設(shè)定 ACL 規(guī)則呢?
前文已經(jīng)說(shuō)了:
@ALL。每個(gè)人,即便是沒(méi)有登錄的人,都屬于這個(gè)組。你可以使用這個(gè)組來(lái)限制所有人的訪問(wèn)權(quán)限(作為默認(rèn)設(shè)置),然后再對(duì)特定用戶放寬權(quán)限。
也就是說(shuō),指導(dǎo)思想是先寬再嚴(yán)
說(shuō)明:
這樣一來(lái),只有硬件組 @hw 的用戶可以訪問(wèn)“硬件部”這個(gè)命名空間。軟件部的設(shè)置也是類似的,就不贅述了。
以某個(gè)硬件組成員的身份登錄,可以看到:
同理,以某個(gè)軟件組成員的身份登錄,可以看到:
當(dāng)然,要達(dá)到這種效果,肯定還有其他制定規(guī)則的方法,本文僅是拋磚引玉。
【end】
總結(jié)
以上是生活随笔為你收集整理的dokuwiki 的管理和使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dokuwiki 部署笔记
- 下一篇: 使用函数求奇数和