DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


サイドバー

この翻訳は元のページよりも更新日が古く、内容が古い可能性があります。 変更点を参照して下さい。
このページの翻訳?:

DokuWiki について知る

開発

法人利用

我々のコミュニティ


FacebookTwitterや他のソーシャル・ネットワークからフォローしてください。

ja:subscription

メール通知の登録

DokuWiki では、各々のユーザーがページの変更を「購読」(メール通知を登録) することができます。ユーザーからページが変更された時に、そのページを購読している他のすべてのユーザーは、変更の内容が記されたメールを受け取ることになります。メールでは、変更点がユニファイド形式の diff で示されます。メールのサンプルをこのページの末尾に示します。

メール通知の登録機能は、設定項目: subscribers で制御されます。デフォルトではこの機能は無効になっています。

Wiki 管理者への注意

この機能を有効化する場合は注意してください。頻繁に編集され、多数の購読者を持つ活発な Wiki では、購読者への変更点のメール送信が Web サーバへの重い負荷となってしまうことがあります。公開している Wiki では、Wiki ユーザーにスパムを送りつける手段を心ない人々に対して提供してしまうことにもなります。

RSS フィードは、Wiki の更新情報の詳細を受け取るための、代替の (そして低負荷な) 仕組みを提供します。

.mlist ファイル

メール通知の登録機能を使用すると、拡張子 .mlist を持つファイルが data/meta/ フォルダとその下にある名前空間のフォルダに作成されます。それぞれの .mlist ファイルにはユーザー名が格納されています。

もし Windows システム上に Wiki を設置している場合は、Windows の cmd.exe 用の以下のコマンドを実行することにより、すべての .mlist ファイルとその購読者を閲覧することができます。

findstr /s "." *.mlist

このコマンドを実行するには、まず cd コマンドで data/meta ディレクトリに移動しておいてください。

問題

  • 変更の通知メールは、編集を行ったユーザーがページを購読している場合は、そのユーザーに対しても送信されます。現在のところ、ページを購読しているユーザーが、自分自身の編集に関する変更の通知メールを受け取らないようにする方法はありません。しかし、そうするためのヒントはあります。:!: この機能は DokuWiki 2009-02-14 で搭載されました。
  • 購読者宛てのメールは、ページを保存する度に生成されます。従って、もし編集者が編集作業の間に何回も保存を繰り返す傾向がある場合は、購読者は大量のメールを受け取ることになります。日ごとの変更点のダイジェスト版などを送信するよう、この機能の変更が求められるかもしれません。
  • この機能が有効化されている場合は、「変更履歴配信の登録」と「名前空間変更配信の登録」という 2 つのボタンが表示されます。管理画面の「サイト設定」から名前空間変更配信の登録を無効化することはできますが、名前空間変更配信の登録を無効化したらボタンも表示されなくなるのが望ましいです。:!: この機能は DokuWiki 2009-02-14 で搭載されました。
    • 機能の無効化とともにボタンを隠す方法は以下の通りです。:!: Dokuwiki 2008-05-05 向けです。
      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',));
                }
          }
  • 誰が変更を行ったのか (ユーザー名、もしくは IP アドレスのどちらか) についてもメールに含められるとよいのですが。特に公開していない Wiki で便利だと思います。– * なるほど! 少し調べたところ、inc/lang/[言語名]/subscribermail.txt@USER@ という文字列を含める必要があることに気づきました。ばっちりです! :!: DokuWiki 2009-02-14 からはデフォルトで @USER@ が含められるようになりました (日本語版の通知メールには DokuWiki 2009-12-25 の段階でまだ含められていません)。

通知メールの例

こんにちは

wiki 内のページ sample_page は変更されました。
変更内容は以下の通りです。

--------------------------------------------------------
@@ -3,18 +3,18 @@
  
  ===== セクションタイトル =====
 
- (これはテキストの例です)
+ (これは違うテキストの例です)
  

--------------------------------------------------------

ページ変更履歴配信サービスの解除は、
http://example.com/ の http://example.com/doku.php?id=sample_page
にある'変更履歴配信の解除'で行うことができます。

-- 
このメールは次のDokuWikiより自動的に送信されています。
http://example.com/
ja/subscription.txt · 最終更新: 2009-12-26 11:57 by kazmiya