DokuWiki allows individual users to “subscribe” to page changes. When a page is changed by a user all other users who have subscribed to that page will receive an email describing the changes. The email shows the changes in unified diff format, a sample email is shown at the bottom of this page.
The subscription facility is controlled using the subscribers configuration setting. It is turned off by default.
Note for wiki admins
Be careful in switching this facility on. In a busy wiki, with both frequent changes and many subscribers, emailing the changes to those subscribers can put a heavy strain on the webserver. In a public wiki it may also provide unscrupulous people with a way to send spam to your wiki's users.
RSS Feeds provide an alternative (and lighter) mechanism for receiving details of updates to the wiki.
Using the Subscriptions will create files with the extension .mlist in the ~/data/meta/-Folders and Namespace-subfolders. In each .mlist-files are the usernames stored.
If you have stored the Wiki on a Windowssystem, you can use the following Windows-cmd command to have a look to all files and entries ():
findstr /s "." *.mlist
Change your Directory to your “htdocs-root”/data/meta first!
— Mark Wolfgruber 2009/07/03
Edit the file inc/template.php. Find the function tpl_button($type). Find case 'subscription': Replace:
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',));
}
With this:
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',));
}
}
* It would be nice if the email also said who made the changes (either the logged-in username, or the IP address) - especially useful for non-public wikis. * Aha! I did some digging, and found that I simply need to include the string @USER@ in the file inc/lang/en/subscribermail.txt - sweet! This is now included by default in version 2009-02-14
Hello! The page sample_page in the Wiki Name wiki changed. Here are the changes: -------------------------------------------------------- @@ -3,18 +3,18 @@ ===== Section Title ===== - (This is some example text) + (This is some different example text.) -------------------------------------------------------- To unsubscribe from this page log into the wiki at http://www.example.com/ then visit http://www.example.com/doku.php?id=sample_page and choose 'Unsubscribe Changes'. -- This mail was generated by DokuWiki at http://www.example.com/