]> git.evergreen-ils.org Git - Evergreen.git/blob - docs/TechRef/notify_csv.txt
LP#1657282: fix redirect of one-hit metarecord searches
[Evergreen.git] / docs / TechRef / notify_csv.txt
1 New Feature: Generic CSV Notification Generator/Receiver
2 ========================================================
3
4 New Action/Trigger template and sample event definitions for creating a CSV
5 export file for various patron actions, primarily for the purpose of creating
6 patron notices via external notification mechanisms.
7
8 The reference implementation for this development is the TalkingTech iTiva
9 product, which consumes CSV files for generating phone/text notifications and
10 produces CSV results files for informing the ILS of notification statuses.  
11 The template and send/receive scripts, however, should be generic enough to 
12 create CSV for any type of 3rd-party notification product.
13
14 Action/Trigger Event Definition Configuration
15 ---------------------------------------------
16
17   * Supported hook core types include *circ*, *ahr*, *ausp*, and *au*
18   * Reactor is *ProcessTemplate*
19
20 Event Environment Requirements
21 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22
23   * Patron object with card
24   * copy object
25     ** circ.target_copy
26     ** hold.current_copy
27   * Org unit
28     ** circ.circ_lib
29     ** ahr.pickup_lib
30     ** ausp.org_unit
31     ** patron.home_ou
32
33 Not all fields are relevant to all notice types.
34
35 Required Event Parameters
36 ~~~~~~~~~~~~~~~~~~~~~~~~~
37
38   * notify_media (e.g. phone)
39   * notify_type  (e.g. overdue)
40   * notify_level (e.g. "1" -- first overdue)
41
42 The set of options for each event parameter is dependent on the 3rd-party
43 processing the CSV file.  
44
45 iTiva Event Parameter Options
46 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
47
48   * notify_media
49     ** V (voice)
50     ** T (text)
51   * notify_level
52     ** 1 (1st notice)
53     ** 2 (2nd notice)
54     ** 3 (3rd notice)
55   * notify_type 
56     ** FINES 
57     ** OVERDUE 
58     ** PREOVERDUE 
59     ** PRERESERVE 
60     ** RECALL 
61     ** RESERVE 
62     ** RESERVECANCEL 
63     ** RESERVEEXPIRE 
64     ** SUSPEND
65
66 Push/Fetch Scripts
67 ------------------
68
69   * action_trigger_aggregator.pl collects event output from requested event 
70     definitions and stitches them together into a single file, which is sent 
71     via (s)FTP to the 3rd party.
72   * Why don't we use the SendFile reactor directly?
73     ** The final file is meant to be a collection of event-def outputs, not
74        the output from a single event def
75     ** The final file may be too large to reasonably store directly in a 
76        single action/trigger event_output row.
77   * csv_notify_fetcher.pl retrieves responses from the 3rd party and applies
78     the statuses to the async_output of each notified event.