The purpose of this document is to define how Evergreen components generate and manage notifications. It does not attempt to define notification triggers (e.g. hold available) or delivery mechanisms (e.g. email). It only attempts to lay out the inter-module and database communication for managing the data. For more on proposed triggers and delivery mechanisms, see http://open-ils.org/dokuwiki/doku.php?id=scratchpad:notification_system.
# DB table id usr create_time notification_type delivery_protocol notify_time # The big question, how do we manage delivery times? # what else?
There are two main points to consider:
Ideally, templates would live in the database, however, that would require a template editor of some sort. For now, we may just want to leave them on the file system with org-unit settings that map to the relevant template file.
The open-ils.penalty server already understands max overdues and max fines. It's here that fine, overdue, and other penalty-related events will be generated and canceled. Other events will be managed on a per-type basis.