DokuWiki では、各々のユーザーがページの変更を「購読」(メール通知を登録) することができます。ユーザーからページが変更された時に、そのページを購読している他のすべてのユーザーは、変更の内容が記されたメールを受け取ることになります。メールでは、変更点がユニファイド形式の diff で示されます。メールのサンプルをこのページの末尾に示します。
メール通知の登録機能は、設定項目: subscribers で制御されます。デフォルトではこの機能は無効になっています。
Wiki 管理者への注意
この機能を有効化する場合は注意してください。頻繁に編集され、多数の購読者を持つ活発な Wiki では、購読者への変更点のメール送信が Web サーバへの重い負荷となってしまうことがあります。公開している Wiki では、Wiki ユーザーにスパムを送りつける手段を心ない人々に対して提供してしまうことにもなります。
RSS フィードは、Wiki の更新情報の詳細を受け取るための、代替の (そして低負荷な) 仕組みを提供します。
メール通知の登録機能を使用すると、拡張子 .mlist を持つファイルが data/meta/ フォルダとその下にある名前空間のフォルダに作成されます。それぞれの .mlist ファイルにはユーザー名が格納されています。
もし Windows システム上に Wiki を設置している場合は、Windows の cmd.exe 用の以下のコマンドを実行することにより、すべての .mlist ファイルとその購読者を閲覧することができます。
findstr /s "." *.mlist
このコマンドを実行するには、まず cd コマンドで data/meta ディレクトリに移動しておいてください。
inc/template.php ファイルを開き、tpl_button($type) 関数の中から case 'subscription'を探します。if($INFO['subscribed']){ print html_btn('unsubscribe',$ID,'',array('do' => 'unsubscribe',)); } else { print html_btn('subscribe',$ID,'',array('do' => 'subscribe',)); } if($INFO['subscribedns']){ print html_btn('unsubscribens',$ID,'',array('do' => 'unsubscribens',)); } else { print html_btn('subscribens',$ID,'',array('do' => 'subscribens',)); }
上記のコードを、以下のように書き換えてください。
if(actionOK('subscribe')){ if($INFO['subscribed']){ print html_btn('unsubscribe',$ID,'',array('do' => 'unsubscribe',)); } else { print html_btn('subscribe',$ID,'',array('do' => 'subscribe',)); } } if(actionOK('subscribens')){ if($INFO['subscribedns']){ print html_btn('unsubscribens',$ID,'',array('do' => 'unsubscribens',)); } else { print html_btn('subscribens',$ID,'',array('do' => 'subscribens',)); } }
inc/lang/[言語名]/subscribermail.txt に @USER@ という文字列を含める必要があることに気づきました。ばっちりです!こんにちは wiki 内のページ sample_page は変更されました。 変更内容は以下の通りです。 -------------------------------------------------------- @@ -3,18 +3,18 @@ ===== セクションタイトル ===== - (これはテキストの例です) + (これは違うテキストの例です) -------------------------------------------------------- ページ変更履歴配信サービスの解除は、 http://example.com/ の http://example.com/doku.php?id=sample_page にある'変更履歴配信の解除'で行うことができます。 -- このメールは次のDokuWikiより自動的に送信されています。 http://example.com/