[OPEN-ILS-DEV] Notification system design
Mike Rylander
mrylander at gmail.com
Fri Dec 22 14:15:16 EST 2006
On 12/21/06, Josh Stompro <stomproj at larl.org> wrote:
> Are there any design docs or wish list on how Evergreen handles various
> types of notices and delivery methods, and how they will work together?
> If not could I start one? I am incredibly frustrated with the
> notification systems of the other ILS's I have worked with and would
> like to help design the "Notification Of Triggers Customer Resource
> Announcement Process - Evergreen" system, or NOTCRAP-E system for
> short. The name could probably use some work though.
AAAAAAAAAAAAAAAAAHAHAHHAHAHAHAH... holy moly... ahhhh. Man, that name
... whew! ... it just kinda snuck up on me, and then POW! It's a
perfect working title, methinks.
There are no design docs for the notification infrastructure as yet.
This was nearly all Bill's stuff, so I don't know how far we should go
while he's not around to defend himself ;), but a generalized
notification service is something we've discussed (and makes sense, if
more than email notification is desired).
There are two competing types of "triggers" we'll need to consider
here: real-time, action based triggers (hold arrives at its
destination; fine is generated on an overdue item), and time span
expiration triggers (item is 14 days overdue; hold fulfillment is
taking forever, would you like to try other formats/editions?).
The first of those, in our experience, is served well by a full
fledged OpenSRF service. An example of this is the penalty server,
where any change to a user's circulation, hold, or fine standing
causes a recalculation of their penalties (blocked, delinquent, etc).
The second type, examples of which are the current overdue notices and
collections listing, is usually handled by a nightly process. Both
end up in some sort of notification to someone, and collecting them in
a pluggable service sound like a good idea to me.
Some things to think about:
* we'll need a persistence model -- if reporting on notifications is
desired then it should probably be rolled into the central database
schema
* should there be two service types -- "action" triggers and
"scheduled" triggers -- or should there simply be a polling process
that fires time-based events, OR should all be scheduled allowing for
a delay in "actions" (for example, a held item arrives but is damaged
and can't fulfill the hold -- so no notification should be sent)
* where do we delimit plugins -- should there be plugins for both
accepting/recording events and firing/performing notifications
> I know where the email notification files are at now, and I see that
> automated phone notification is on the feature list for a future
> release, is there anything about how it all is going to be tied
> together, or about what events trigger notices, and about other forms of
> notification (SMS, IM, Telegraph, Smoke Signals, Exchange Calendar
> Events, etc).
The nice thing about email is that there are gateways from it to other
services like IM and SMS. Even a phone notification system could use
text-to-speech to allow an email gateway, I think. (Asterisk may even
have this today ... not sure.)
Hmm... It's not a server-side notification thing, but a feed-based or
RESTful infrastructure for events is a very interesting idea. Like an
iCal generator for a patron's current checkouts, perhaps?
> Josh
>
>
>
--
Mike Rylander
mrylander at gmail.com
GPLS -- PINES Development
Database Developer
http://open-ils.org
More information about the Open-ils-dev
mailing list