65a667f631ad09fe5dd5626b8a6678ca3ff65ce4
[working/Evergreen.git] / docs / admin / phonelist.txt
1 Phonelist.pm Module
2 ===================
3
4 PhoneList.pm is a mod_perl module for Apache that works with Evergreen
5 to generate callings lists for patron holds. It outputs a csv file
6 that can be fed into an auto-dialer script to call patrons with little
7 or no staff intervention.  It is accessed and configured via a special
8 URL and passing any parameters as a ``Query String'' on the URL.  The
9 parameters are listed in the table below.
10
11 .Parameters for the phonelist program:
12 |=====================================
13 | user |  Your Evergreen login. Typically your library's circ account. If you leave this off, you will be prompted to login.
14 | passwd | The password for your Evergreen login. If you leave this off you will be prompted to login.
15 | ws_ou | The ID of the system or branch you want to generate the list for (optional). If your account does not have the appropriate permissions for the location whose ID number you have entered, you will get an error.
16 | skipemail | If present, skip patrons with email notification (optional).
17 | addcount | Add a count of items on hold (optional). Only makes sense for holds.
18 | overdue | Makes a list of patrons with overdues instead of holds. If an additional, numeric parameter is supplied, it will be used as the number of days overdue. If no such extra parameter is supplied, then the default of 14 days is used.
19 |=====================================
20
21 The URL is
22
23 `https://your.evergreen-server.tld/phonelist`
24
25 A couple of examples follow:
26
27 `https://your.evergreen-server.tld/phonelist?user=circuser&passwd=password&skipemail
28
29 The above example would sign in as user circuser with password of
30 ``password'' and get a list of patrons with holds to call who do not
31 have email notification turned on. It would run at whatever branch is
32 normally associated with circuser. 
33
34 `https://your.evergreen-server.tld/phonelist?skipemail`
35
36 The above example would do more or less the same, but you would be
37 prompted by your browser for the user name and password.
38
39 If your browser or download script support it, you may also use
40 conventional HTTP authentication parameters.
41
42 `https://user:password@your.evergreen-server.tld/phonelist?overdue&ws_ou=2`
43
44 The above logs in as ``user'' with ``password'' and runs overdues for location ID 2.
45
46 The following sections provide more information on getting what you want in your output.
47
48 Adding Parameters
49 -----------------
50
51 If you are not familiar with HTTP/URL query strings, the format is
52 quite simple.
53
54 You add parameters to the end of the URL, the first parameter is
55 separated from the URL page with a question mark (``?'') character. If
56 the parameter is to be given an extra value, then that value follows
57 the parameter name after an equals sign (``=''). Subsequent parameters
58 are separated from the previous parameter by an ampersand (``&'').
59
60 Here is an example with 1 parameter that has no value:
61
62 `https://your.evergreen-server.tld/phonelist?skipemail`
63
64 An example of 1 argument with a value:
65
66 `https://your.evergreen-server.tld/phonelist?overdue=21`
67
68 An example of 2 arguments, 1 with a value and 1 without:
69
70 `https://your.evergreen-server.tld/phonelist?overdue=21&skipemail`
71
72 Any misspelled or parameters not listed in the table above will be
73 ignored by the program.
74
75 Output
76 ------
77
78 On a successful run, the program will return a CSV file named
79 phone.csv. Depending on your browser or settings you will alternately
80 be prompted to open or save the file. Your browser may also
81 automatically save the file in your Downloads or other designated
82 folder. You should be able to open this CSV file in Excel, LibreOffice
83 Base, any other spread sheet program, or a text editor.
84
85 If you have made a mistake and have mistyped your user name or
86 password, or if you supply a ws_ou parameter with an ID where your
87 user name does not have permission to look up holds or overdue
88 information, then you will get an error returned in your browser.
89
90 Should your browser appear to do absolutely nothing at all. This is
91 normal. When there is no information for you to download, the server
92 will return a 200 NO CONTENT message to your browser. Most browsers
93 respond to this message by doing nothing at all. It is possible for
94 there to be no information for you to retrieve if you added the
95 `skipemail` option and all of your notices for that day were sent via
96 email, or if you ran this in the morning and then again in the
97 afternoon and there was no new information to gather.
98
99 The program does indicate that it has already looked at a particular
100 hold or overdue and will skip it on later runs. This prevents
101 duplicates to the same patron in the same run. It will, however,
102 create a ``duplicate'' for the same patron if a different copy is put
103 on hold for that patron in between two runs.
104
105 The specific content of the CSV file will vary if you are looking at
106 holds or overdues. The specific contents are described in the
107 appropriate sections below.
108
109 Holds
110 -----
111
112 The `phonelist` program will return a list of patrons with copies on
113 hold by default, so long as you do not use the `overdue`
114 parameter. You may optionally get a number of items that patron
115 currently has on hold by adding the `addcount` parameter.
116
117 As always, you can add the skipemail parameter to skip patrons with
118 email notifications of their overdues, [#0.5.Skipping patrons with
119 email notification of holds|outline as described below].
120
121 .Columns in the holds CSV file:
122 |=====================================
123 | Name | Patron's name first and last.
124 | Phone | Patron's phone number.
125 | Barcode | Patron's barcode.
126 | Count | Number of copies on hold, if `addcount` parameter is used, otherwise this column is not present in the file.
127 |=====================================
128
129 Overdues
130 --------
131
132 If you add the `overdue` parameter, you can get a list of patrons with
133 overdue copies instead of a list of patrons with copies on the hold
134 shelf. By default, this will give you a list of patrons with copies
135 that are 14 days overdue. If you'd like to specify a different number
136 of days you can add the number after the parameter with an equals
137 sign:
138
139 `https://your.evergreen-server.tld/phonelist?overdue=21&ws_ou=2`
140
141 The above will retrieve a list of patrons who have items that are 21
142 days overdue at the location with ID of 2.
143
144 The number of days is an exact lookup. This means that the program
145 will look only at patrons who have items exactly 14 days or exactly
146 the number of days specified overdue. It does not pull up any that are
147 less than or greater than the number of days specified.
148
149 As always, you can add the skipemail parameter to skip patrons with
150 email notifications of their overdues, [#0.5.Skipping patrons with
151 email notification of holds|outline as described below].
152
153 .Columns in the overdues CSV file:
154 |=================================
155 | Name | Patron's name first and last.
156 | Phone | Patron's phone number.
157 | Barcode | Patron's barcode.
158 | Titles | A colon-separated list of titles that the patron has overdue.
159 |=================================
160
161 Skipping patrons with email notification of holds
162 -------------------------------------------------
163
164 Skipping patrons who have email notification for their holds or
165 overdues is very simple. You just need to add the `skipemail`
166 parameter on the URL query string. Doing so will produce the list
167 without the patrons who have email notification for overdues, or for
168 all of their holds. Please note that if a patron has multiple holds
169 available, and even one of these holds requests a phone-only
170 notification, then that patron will still show on the list. For this
171 option to exclude a patron from the holds list, the patron must
172 request email notification on all of their current holds. In practice,
173 we find that this is usually the case.
174
175 Using the ws_ou parameter
176 -------------------------
177
178 Generally, you will not need to use the ws_ou parameter when using the
179 phonelist program. The phonelist will look up the branch where your
180 login account works and use that location when generating the list.
181 However, if you are part of a multi-branch systems in a consortium,
182 then the ws_ou parameter will be of interest to you.  You can use it
183 to specify which branch, or the whole system, you wish to search when
184 running the program.
185
186 Automating the download
187 -----------------------
188
189 If you'd like to automate the download of these files, you should be
190 able to do so using any HTTP programming toolkit. Your client must
191 accept cookies and follow any redirects in order to function.