DokuWiki を軽量 CMS として利用する
Wiki は、もともとはとても開かれた環境で協力しあって仕事をする手段として意図されていました。この方針は DokuWiki でも変わりません。しかし DokuWiki は、それ自身をもう少し型にはまったコンテンツマネジメントシステム (CMS) として利用できるようにする、いくつかの機能を提供しています。このページでは、DokuWiki を CMS として利用する際に必要となりそうなことについて、概要を示します。
いくつかのステップは DokuWiki をブログツールとして使用する場合の作業と多少似ているところがありますので、そちらのページも読むことをおすすめします。
作成中です。
DokuWiki のロック
Wiki と従来型の CMS との主要な相違点は、誰が編集を許可されているか、ということです。CMS では、編集をとても小さなグループ、もしくは 1 人のユーザーに制限すべきです。これは Dokuwiki のアクセス制御機能で簡単に実現することができます。
名前空間 *
(ルート名前空間) で、@ALL
グループに対して「読取」権限を付与する必要があります。編集者のグループに対しては、当然ながら、それ以上の権限をその名前空間で付与しなければなりません。
Wiki 的な機能の無効化
DokuWiki の多くの機能は、CMS 構成シナリオにとってはあまり有益でないか、むしろ好ましからざる機能となります。DokuWiki では特定の機能を設定項目: disableactions から無効化できるようになっています。CMS 構成のためには、おそらく register
および backlinks
、index
、recent
、revisions
、subscribe
、subscribens
、source
を無効化すべきでしょう。
メッセージの編集
DokuWiki が生成する一部のメッセージは CMS 環境にはふさわしくないかもしれません。ページが存在しない際に表示されるページの作成を提案するメッセージなどは、まさにこれに該当します。inc/lang/<言語名>/*.txt
にあるメッセージファイルを確認し、必要があればこれを編集したほうがよいでしょう。
次回の DokuWiki のアップグレードによってファイルが上書きされるため、変更したファイルのバックアップは必ず行うようにしてください。
設定項目: send404 を有効にすることは、本件に関するもう 1 つのよいアイデアです。
テンプレートの修正
テンプレートでは、すべての編集ボタンと Wiki 的な機能を、権限の無いユーザから隠すようにしたほうがよいでしょう。これは $_SERVER['REMOTE_USER']
変数を確認することで行うことができます。
ここにもう少し情報を追加してください。既存の CMS テンプレートを示してください。
http://www.dokuwiki.org/template:dokucms http://www.dokuwiki.org/template:mcz
常に見えるナビゲーションの追加
常に見えるナビゲーションの追加は、sidebar プラグインや sidebarng プラグインのようなサイドバープラグインを利用すると簡単です。