Email Notifier
General
Daisy can send out emails when changes are made to documents. To make use of this the SMTP host must be correctly configured, which is usually done as part of the installation, but can be changed afterwards (see below). In the Daisy Wiki, individual users can subscribe to get notifications by selecting the "User Settings" link, making sure their email address is filled in, and checking the checkbox next to "Receive email notifications of document-related changes.".
Users will only receive events of documents to which they have at least read (not 'read live') access rights. It is possible to receive notifications for individual documents, for all documents belonging to a certain collection, or for all documents. The mails will notify document creation, document updates or version state changes.
While we usually talk about documents, the actual notifications happen on the document variant level.
As you can see on the User Settings page, it is also possible to subscribe to other events: user, schema, collection and ACL related changes. However, for these events proper formatting of the mails is not yet implemented, they simply contain an XML dump of the event.
Configuration
Configuration of the email options happens in the <DAISY_DATA>/conf/myconfig.xml file. There you can configure:
- the SMTP server
- the from address for the emails
- the URLs for documents, so that the URL of the changed document can be included in the emails
After making any changes to the myconfig.xml file, the repository server needs to be restarted.
Implementation notes
The email notifier is an extension component running inside the repository server. It is independent of the Daisy Wiki. The email notifier provides a Java API for managing the subscriptions, as well as additions to the HTTP+XML interface (logical, because that's how the implementation of the Java API talks to the repository).



error:
java.lang.RuntimeException: Database-related problem in emailer-thread.
at org.outerj.daisy.emailer.serverimpl.CommonEmailer$EmailerThread.run(CommonEmailer.java(Compiled Code))
at java.lang.Thread.run(Thread.java:567)
Caused by: java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused
Please use the Daisy mailing list for asking support questions. These comments are rather meant for commenting on the content of the document.
As for the problem, the emailer component uses the same database settings, and shares the same database connection pool, as the rest of the repository server. So if the emailer fails to connect to the database, I would expect that all database access by the repository server should fail. Maybe this what just a temporary issue?
If the problem stays and you need more help, please use the mailing list. Thanks.