[OPEN-ILS-DEV] overdue and pre-due notice config

Dan Scott denials at gmail.com
Wed Aug 6 13:00:48 EDT 2008


Hi Bill:

2008/8/6 Bill Erickson <erickson at esilibrary.com>:
>
> I'm beginning work on courtesy (predue) notices and a re-architecture of the
> existing overdue notice script for better templating and configuration.

Excellent!

>  Attached is a sample configuration section (from opensrf.xml) I created for
> setting these up.  I wanted to work backwards from the configuration to the
> code to make sure the requirements are accurately represented.  This
> configuration is only for email notices and generating a local XML file (for
> sending to a vendor, creating local mail notices, etc.).  This is not the
> full-blown notication system (telephony, etc.) described in
> http://open-ils.org/dokuwiki/doku.php?id=scratchpad:notification_system&s=notices.
>  However, I'd like to think that this is at least a step in that direction.
>
> For predue notices, there was a discussion of basing the notice date on a
> percentage of the total circulation duration.  I toyed with that some and
> decided in the end to model predue notices on duration date ranges instead.
>  It's just easier on the eyes.  I'm open to discussion on that one, though.

I think you've made the right choice, although I have some suggestions
for the duration range configuration syntax (below).

> For 1.4.0, the plan is to have locale-aware templates, built with Perl's
> Template Toolkit.  1.4.X will introduce per-org-unit templates.

Excellent!

> Suggestions and comments on the configuration welcome.

Some general comments:
It's not explicit, but I suspect this could be used/abused for items
like laptops that might have a four hour circulation period, so that
you could send an email 30 mins in advance to remind the user that
it's due real soon now.

For the pre-overdues, it would be nice to take advantage of the
system's knowledge of the circ rule in play to offer a link to a
renewal page (if applicable for each item) and specify the fines that
will be accrued.

I'm also hoping that this will group items together in some way,
rather than generating one email per item.

Specific comment on the configuration syntax:
At first glance, I didn't find the circ_duration_range syntax
particularly intuitive. "5 days, 13 days" looked like an OR set of
items, and "14 days" on its own looked like, well, just 14 days, not
14 days or more. At the risk of making the XML even more verbose, but
perhaps more intuitive, I would propose something more like the
following:

<!-- rather than "5 days, 13 days" notation -->
<circ_duration_range>
  <from>5 days</from>
  <to>13 days</to>
</circ_duration_range>

<!-- for items with a circ duration of exactly 28 days, set <from> == <to> -->
<circ_duration_range>
  <from>28 days</from>
  <to>28 days</to>
</circ_duration_range>

<!-- if <to> element is missing, then the range extends to the end of time -->
<circ_duration_range>
  <from>14 days</from>
</circ_duration_range>

<!-- if <from> element is missing, then the range extends from the
start (0 mins) to <to> -->
<circ_duration_range>
  <to>5 days</to>
</circ_duration_range>

<!-- and if circ_duration_range holds neither <from> nor <to>, then it
encompasses all circ_duration ranges -->
<circ_duration_range></circ_duration_range>

-- 
Dan Scott
Laurentian University


More information about the Open-ils-dev mailing list