]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/examples/opensrf.xml.example
Add a configuration entry for the qstore server. This entry will look just
[Evergreen.git] / Open-ILS / examples / opensrf.xml.example
1 <?xml version='1.0'?>
2
3 <!-- 
4 Example opensrf config file for OpenILS
5 vim:et:ts=4:sw=4:
6 -->
7
8 <opensrf version='0.0.3'>
9
10     <default>
11
12         <!-- unless otherwise overidden, use this locale -->
13         <default_locale>en-US</default_locale>
14
15         <dirs>
16             <log>LOCALSTATEDIR/log</log> <!-- unix::server log files -->
17             <sock>LOCALSTATEDIR/lock</sock> <!-- unix::server sock files -->
18             <pid>LOCALSTATEDIR/run</pid>
19             <xsl>LOCALSTATEDIR/xsl</xsl>
20             <script>LOCALSTATEDIR</script>
21             <script_lib>LOCALSTATEDIR</script_lib>
22             <templates>LOCALSTATEDIR/templates</templates>
23         </dirs>
24
25         <!-- global data visibility settings -->
26         <share>
27             <user>
28                 <!-- Set to "true" to require patron opt-in for foreign (non-home_ou) transactions -->
29                 <opt_in>false</opt_in>
30             </user>
31         </share>
32
33         <IDL>SYSCONFDIR/fm_IDL.xml</IDL> <!-- top level IDL file -->
34
35         <server_type>prefork</server_type> <!-- net::server type -->
36
37         <ils_events>LOCALSTATEDIR/data/ils_events.xml</ils_events> <!-- ILS events description file -->
38
39         <email_notify> <!-- this will eventually move into the notifications section below... -->
40             <!-- global email notification settings -->
41             <template>LOCALSTATEDIR/data/hold_notification_template.example</template>
42             <smtp_server>localhost</smtp_server>
43
44             <!--
45             in most cases, this is overridden by location 
46             specific config settings.  this is just the default
47             -->
48             <sender_address>evergreen@localhost</sender_address>
49         </email_notify>
50
51
52       <notifications>
53         <!-- global mail server settings -->
54         <smtp_server>localhost</smtp_server>
55         <sender_address>evergreen@localhost</sender_address>
56
57         <!-- global telephony (asterisk) settings -->
58         <telephony>
59             <!-- replace all values below when telephony server is configured -->
60             <enabled>0</enabled>
61             <driver>SIP</driver>    <!-- SIP (default) or multi -->
62             <channels>              <!-- explicit list of channels used if multi -->
63                                     <!-- A channel specifies technology/resource -->
64                 <channel>Zap/1</channel>
65                 <channel>Zap/2</channel>
66                 <channel>IAX/user:secret@widgets.biz</channel>
67             </channels>
68             <host>localhost</host>
69             <port>10080</port>
70             <user>evergreen</user>
71             <pw>evergreen</pw>
72             <!--
73                 The overall composition of callfiles is determined by the
74                 relevant template, but this section can be invoked for callfile
75                 configs common to all outbound calls.
76                 callfile_lines will be inserted into ALL generated callfiles
77                 after the Channel line.  This content mat be overridden
78                 (in whole) by the org unit setting callfile_lines.
79                 Warning: Invalid syntax may break ALL outbound calls.
80             -->
81             <!-- <callfile_lines>
82                 MaxRetries: 3
83                 RetryTime: 60
84                 WaitTime: 30
85                 Archive: 1
86                 Extension: 10
87             </callfile_lines> -->
88         </telephony>
89
90         <!-- Overdue notices -->
91         <overdue>
92
93             <!-- optionally, you can define a sender address per notice type -->
94             <sender_address>overdue@localhost</sender_address>
95
96             <!-- The system can generate an XML file of overdue notices.  This is the
97                 directory where they are stored.  Files are named overdue.YYYY-MM-DD.xml -->
98             <notice_dir>LOCALSTATEDIR/data/overdue</notice_dir>
99             <combined_template>LOCALSTATEDIR/data/templates/overdue_combined_xml.example</combined_template>
100
101             <notice>
102                 <!-- Notify at 7 days overdue -->
103                 <notify_interval>7 days</notify_interval>
104                 <!-- Options include always, noemail, and never.  'noemail' means a notice
105                      will be appended to the notice file only if the patron has no valid email address.  -->
106                 <file_append>noemail</file_append>
107                 <!-- do we attempt email notification? -->
108                 <email_notify>true</email_notify>
109                 <!-- notice template file -->
110                 <email_template>LOCALSTATEDIR/data/templates/overdue_7day.example</email_template>
111             </notice>
112         </overdue>
113
114         <!-- Courtesy notices -->
115         <predue>
116             <notice>
117                 <!-- All circulations that circulate between 5 and 13 days -->
118                 <circ_duration_range>
119                     <from>5 days</from>
120                     <to>13 days</to>
121                 </circ_duration_range>
122                 <!-- notify at 1 day before the due date -->
123                 <notify_interval>1 day</notify_interval>
124                 <file_append>false</file_append>
125                 <email_notify>true</email_notify>
126                 <email_template>LOCALSTATEDIR/data/templates/predue_1day.example</email_template>
127             </notice>
128         </predue>
129       </notifications>
130
131         <reporter>
132             <!--
133             Settings for the reporter daemon process 
134             -->
135             <setup>
136                 <base_uri>https://localhost/reporter/</base_uri>
137                 <database>
138                     <driver>Pg</driver>
139                     <host>localhost</host>
140                     <port>5432</port>
141                     <db>evergreen</db>
142                     <user>postgres</user>
143                     <pw>postgres</pw>
144                 </database>
145                 <state_store>
146                     <driver>Pg</driver>
147                     <host>localhost</host>
148                     <port>5432</port>
149                     <db>evergreen</db>
150                     <user>postgres</user>
151                     <pw>postgres</pw>
152                 </state_store>
153                 <files>
154                     <!-- successful report outputs go here -->
155                     <output_base>LOCALSTATEDIR/web/reporter</output_base>
156                     <success_template>LOCALSTATEDIR/data/report-success</success_template>
157                     <fail_template>LOCALSTATEDIR/data/report-fail</fail_template>
158                 </files>
159             </setup>
160         </reporter>
161
162
163
164         <xml-rpc>
165             <!-- XML-RPC gateway.  Do NOT publish unprotected services here -->
166             <allowed_services>
167                 <!-- list of published services -->
168                 <service>opensrf.math</service>
169                 <service>opensrf.dbmath</service>
170                 <service>open-ils.cat</service>
171                 <service>open-ils.search</service>
172                 <service>open-ils.circ</service>
173                 <service>open-ils.actor</service>
174                 <service>open-ils.auth</service>
175                 <service>open-ils.collections</service>
176             </allowed_services>
177         </xml-rpc>
178
179
180         <z3950>
181             <default>biblios</default>
182             <services>
183                 <biblios>
184                     <!-- biblios does not require username/password -->
185                     <name>‡biblios.net</name>
186                     <host>z3950.biblios.net</host>
187                     <port>210</port>
188                     <db>bibliographic</db>
189                     <!-- fetch the full record with no holdings. FI is the most common choice -->
190                     <record_format>FI</record_format> 
191
192                     <!-- Record transmission format from the server.  Supported -->
193                     <!-- formats include usmarc and xml (for marcxml).         -->
194                     <transmission_format>usmarc</transmission_format> 
195
196                     <attrs>
197                         <tcn><code>12</code><format>1</format></tcn>
198                         <isbn><code>7</code><format>6</format></isbn>
199                         <lccn><code>9</code><format>1</format></lccn>
200                         <author><code>1003</code><format>6</format></author>
201                         <title><code>4</code><format>6</format></title>
202                         <issn><code>8</code><format>1</format></issn>
203                         <publisher><code>1018</code><format>6</format></publisher>
204                         <pubdate><code>31</code><format>1</format></pubdate>
205                         <item_type><code>1001</code><format>1</format></item_type>
206                     </attrs>
207                 </biblios>
208
209                 <loc>
210                     <!-- LoC does not require username/password -->
211                     <name>loc</name>
212                     <host>z3950.loc.gov</host>
213                     <port>7090</port>
214                     <db>Voyager</db>
215                     <!-- fetch the full record with no holdings. FI is the most common choice -->
216                     <record_format>FI</record_format> 
217
218                     <!-- Record transmission format from the server.  Supported -->
219                     <!-- formats include usmarc and xml (for marcxml).         -->
220                     <transmission_format>usmarc</transmission_format> 
221
222                     <attrs>
223                         <tcn><code>12</code><format>1</format></tcn>
224                         <isbn><code>7</code><format>6</format></isbn>
225                         <lccn><code>9</code><format>1</format></lccn>
226                         <author><code>1003</code><format>6</format></author>
227                         <title><code>4</code><format>6</format></title>
228                         <issn><code>8</code><format>1</format></issn>
229                         <publisher><code>1018</code><format>6</format></publisher>
230                         <pubdate><code>31</code><format>1</format></pubdate>
231                         <item_type><code>1001</code><format>1</format></item_type>
232                     </attrs>
233                 </loc>
234
235                 <oclc>
236                     <!-- Z3950 settings for OCLC.  Note that OCLC requires username/password -->
237                     <host>zcat.oclc.org</host>
238                     <port>210</port>
239                     <db>OLUCWorldCat</db>
240                     <attrs>
241                         <!--
242                         These are directly from the Bib-1 Attribute Set
243                         http://www.loc.gov/z3950/agency/defns/bib1.html
244                         <code> is the "use attribute", <format> is the "structure attribute"
245                         This just puts some friendly names on the data.
246                         -->
247                         <tcn><code>12</code><format>1</format></tcn>
248                         <isbn><code>7</code><format>6</format></isbn>
249                         <lccn><code>9</code><format>1</format></lccn>
250                         <author><code>1003</code><format>6</format></author>
251                         <title><code>4</code><format>6</format></title>
252                         <issn><code>8</code><format>1</format></issn>
253                         <publisher><code>1018</code><format>6</format></publisher>
254                         <pubdate><code>31</code><format>1</format></pubdate>
255                         <item_type><code>1001</code><format>1</format></item_type>
256                     </attrs>
257                 </oclc>
258
259             </services>
260         </z3950>
261
262
263         <added_content>
264
265             <!-- XXX If you use the Amazon plugin, you must link back to Amazon in the OPAC -->
266
267             <!-- load the Amazon added content module -->
268             <module>OpenILS::WWW::AddedContent::Amazon</module>
269             <!--
270             Base URL for Amazon added content fetching.  This URL may
271             need to be shortened when new (read: non-image) content 
272             fetching capabilities are added
273             -->
274             <base_url>http://images.amazon.com/images/P/</base_url>
275
276             <!--
277             Max number of seconds to wait for an added content request to 
278             return data.  Data not returned within the timeout is considered
279             a failure
280             -->
281             <timeout>1</timeout>
282
283             <!--
284             After added content lookups have been disabled due to too many
285             lookup failures, this is the amount of time to wait before
286             we try again
287             -->
288             <retry_timeout>600</retry_timeout>
289
290             <!--
291             maximum number of consecutive lookup errors a given process can 
292             have before added content lookups are disabled for everyone
293             -->
294             <max_errors>15</max_errors>
295
296             <!-- If a userid is required to access the added content.. -->
297             <userid>MY_USER_ID</userid>
298
299             <!--
300             Segregating the details for ContentCafe out for easier use.  At some point, we
301             may want to support multiple services at one time.
302             -->
303             <ContentCafe>
304                 <userid>MY_USER_ID</userid>
305                 <password>MY_PASSWORD</password>
306
307                 <!--
308                 If no cover/jacket image exists for a given ISBN, then a value of T here will
309                 return an 80x120 pixel image containing the text "No Image Available".  A
310                 value of 1 will return a 1x1 pixel image.
311                 -->
312                 <return_behavior_on_no_jacket_image>T</return_behavior_on_no_jacket_image>
313             </ContentCafe>
314
315             <!--
316  
317             You can add free-form settings here and they will be accessible
318             within the added content module
319             -->
320
321         </added_content>
322
323
324
325         <!-- no apps are enabled globally by default -->
326         <activeapps/> 
327
328         <cache>
329             <!-- memcache servers -->
330             <global>
331                 <servers>
332                     <server>localhost:11211</server>
333                 </servers>
334                 <max_cache_time>86400</max_cache_time>
335             </global>
336             <anon>
337                 <!-- anonymous cache.  currently, primarily used for web session caching -->
338                 <servers>
339                     <server>localhost:11211</server>
340                 </servers>
341                 <max_cache_time>1800</max_cache_time>
342                 <!-- maximum size of a single cache entry / default = 100k-->
343                 <max_cache_size>102400</max_cache_size>
344             </anon>
345         </cache>
346
347         <apps>
348             <!-- Acquisitions server -->
349             <open-ils.acq>
350                 <keepalive>5</keepalive>
351                 <stateless>1</stateless>
352                 <language>perl</language>
353                 <implementation>OpenILS::Application::Acq</implementation>
354                 <max_requests>100</max_requests>
355                 <unix_config>
356                     <unix_sock>open-ils.acq_unix.sock</unix_sock>
357                     <unix_pid>open-ils.acq_unix.pid</unix_pid>
358                     <unix_log>open-ils.acq_unix.log</unix_log>
359                     <max_requests>100</max_requests>
360                     <min_children>1</min_children>
361                     <max_children>15</max_children>
362                     <min_spare_children>1</min_spare_children>
363                     <max_spare_children>5</max_spare_children>
364                 </unix_config>
365             </open-ils.acq>
366
367             <!-- Authentication server -->
368             <open-ils.auth>
369
370                 <!-- how long to wait between stateful requests before the child process re-joins the pool -->
371                 <keepalive>5</keepalive>
372
373                 <!-- true if this service support stateless requests -->
374                 <stateless>1</stateless>
375
376                 <!-- implementation language -->
377                 <language>c</language>
378
379                 <!-- library to plugin -->
380                 <implementation>oils_auth.so</implementation>
381
382                 <!-- maximum required opensrf requests within a stateful connection -->
383                 <max_requests>93</max_requests>
384
385                 <unix_config>
386                     <!--
387                     maximum number of top level requests coming to 
388                     this child before the child is recycled
389                     -->
390                     <max_requests>1000</max_requests>
391                     <!-- min children to fork -->
392                     <min_children>1</min_children>
393                     <!-- max possible children to fork -->
394                     <max_children>15</max_children>
395
396                     <!--
397                     C forking implementation does not support 
398                     min/max idle children, but may in the future
399                     -->
400
401                     <!-- min idle children -->
402                     <min_spare_children>1</min_spare_children>
403                     <!-- max idle children -->
404                     <max_spare_children>5</max_spare_children>
405
406                 </unix_config>
407
408                 <app_settings>
409                     <!-- defined app-specific settings here -->
410                     <default_timeout>
411                         <!-- default login timeouts based on login type -->
412                         <opac>420</opac>
413                         <staff>7200</staff>
414                         <temp>300</temp>
415                                                 <persist>2 weeks</persist>
416                     </default_timeout>
417                 </app_settings>
418             </open-ils.auth>
419
420
421             <!-- Generic search server -->
422             <open-ils.search>
423                 <keepalive>5</keepalive>
424                 <stateless>1</stateless>
425                 <language>perl</language>
426                 <implementation>OpenILS::Application::Search</implementation>
427                 <max_requests>93</max_requests>
428                 <unix_config>
429
430                     <!-- the following 3 settings are currently used by Perl services only -->
431                     <unix_sock>open-ils.search_unix.sock</unix_sock>
432                     <unix_pid>open-ils.search_unix.pid</unix_pid>
433                     <unix_log>open-ils.search_unix.log</unix_log>
434
435                     <max_requests>1000</max_requests>
436                     <min_children>1</min_children>
437                     <max_children>15</max_children>
438                     <min_spare_children>1</min_spare_children>
439                     <max_spare_children>5</max_spare_children>
440                 </unix_config>
441                 <app_settings>
442                     <marc_html_xsl>oilsMARC21slim2HTML.xsl</marc_html_xsl>
443                     <marc_html_xsl_slim>oilsMARC21slim2HTMLslim.xsl</marc_html_xsl_slim>
444
445                     <spelling_dictionary>
446                         <!-- 
447                             Optionally configure different dictionaries depending on search context.  
448                             If no dictionaries are defined, the default Aspell dictionary is used.
449                         -->
450                         <!--
451                         <default>LOCALSTATEDIR/data/default_dict.txt</default>
452                         <title>LOCALSTATEDIR/data/title_dict.txt</title>
453                         <author>LOCALSTATEDIR/data/author_dict.txt</author>
454                         <subject>LOCALSTATEDIR/data/subject_dict.txt</subject>
455                         <series>LOCALSTATEDIR/data/series_dict.txt</series>
456                         -->
457                     </spelling_dictionary>
458
459                     <!-- Default to using staged search -->
460                     <use_staged_search>true</use_staged_search>
461
462                     <!--
463                         For staged search, we estimate hits based on inclusion or exclusion.
464
465                         Valid settings:
466                             inclusion - visible ratio on superpage
467                             exclusion - excluded ratio on superpage
468                             delete_adjusted_inclusion - included ratio on superpage, ratio adjusted by deleted count
469                             delete_adjusted_exclusion - excluded ratio on superpage, ratio adjusted by deleted count
470
471                         Under normal circumstances, inclusion is the best strategy, and both delete_adjusted variants
472                         will return the same value +/- 1.  The exclusion strategy is the original, and works well
473                         when there are few deleted or excluded records, in other words, when the superpage is not
474                         sparsely populated with visible records.
475                     -->
476                     <estimation_strategy>inclusion</estimation_strategy>
477
478                     <!-- Baseline number of records to check for hit estimation. -->
479                     <superpage_size>1000</superpage_size>
480
481                     <!-- How many superpages to consider for searching overall. -->
482                     <max_superpages>10</max_superpages>
483
484                     <!-- zip code database file -->
485                     <!--<zips_file>LOCALSTATEDIR/data/zips.txt</zips_file>-->
486                 </app_settings>
487             </open-ils.search>
488
489             <!-- server for accessing user info -->
490             <open-ils.actor>
491                 <keepalive>5</keepalive>
492                 <stateless>1</stateless>
493                 <language>perl</language>
494                 <implementation>OpenILS::Application::Actor</implementation>
495                 <max_requests>93</max_requests>
496                 <unix_config>
497                     <unix_sock>open-ils.actor_unix.sock</unix_sock>
498                     <unix_pid>open-ils.actor_unix.pid</unix_pid>
499                     <max_requests>1000</max_requests>
500                     <unix_log>open-ils.actor_unix.log</unix_log>
501                     <min_children>1</min_children>
502                     <max_children>15</max_children>
503                     <min_spare_children>1</min_spare_children>
504                     <max_spare_children>5</max_spare_children>
505                 </unix_config>
506                 <!-- set this to 'true' to have barcode search also search patron records by unique ID -->
507                 <app_settings>
508                     <id_as_barcode>false</id_as_barcode>
509                 </app_settings>
510
511             </open-ils.actor>
512
513             <open-ils.booking>
514                 <keepalive>5</keepalive>
515                 <stateless>1</stateless>
516                 <language>perl</language>
517                 <implementation>OpenILS::Application::Booking</implementation>
518                 <max_requests>199</max_requests>
519                 <unix_config>
520                     <unix_sock>open-ils.booking_unix.sock</unix_sock>
521                     <unix_pid>open-ils.booking_unix.pid</unix_pid>
522                     <max_requests>1000</max_requests>
523                     <unix_log>open-ils.booking_unix.log</unix_log>
524                     <min_children>1</min_children>
525                     <max_children>15</max_children>
526                     <min_spare_children>1</min_spare_children>
527                     <max_spare_children>5</max_spare_children>
528                 </unix_config>
529                 <app_settings>
530                     <marctemplates>
531                         <K_book>LOCALSTATEDIR/templates/marc/k_book.xml</K_book>
532                     </marctemplates>
533                 </app_settings>
534             </open-ils.booking>
535
536             <open-ils.cat>
537                 <keepalive>5</keepalive>
538                 <stateless>1</stateless>
539                 <language>perl</language>
540                 <implementation>OpenILS::Application::Cat</implementation>
541                 <max_requests>199</max_requests>
542                 <unix_config>
543                     <unix_sock>open-ils.cat_unix.sock</unix_sock>
544                     <unix_pid>open-ils.cat_unix.pid</unix_pid>
545                     <max_requests>1000</max_requests>
546                     <unix_log>open-ils.cat_unix.log</unix_log>
547                     <min_children>1</min_children>
548                     <max_children>15</max_children>
549                     <min_spare_children>1</min_spare_children>
550                     <max_spare_children>5</max_spare_children>
551                 </unix_config>
552                 <app_settings>
553                     <marctemplates>
554                         <K_book>LOCALSTATEDIR/templates/marc/k_book.xml</K_book>
555                     </marctemplates>
556                 </app_settings>
557             </open-ils.cat>
558
559             <open-ils.supercat>
560                 <keepalive>5</keepalive>
561                 <stateless>1</stateless>
562                 <language>perl</language>
563                 <implementation>OpenILS::Application::SuperCat</implementation>
564                 <max_requests>199</max_requests>
565                 <unix_config>
566                     <unix_sock>open-ils.supercat_unix.sock</unix_sock>
567                     <unix_pid>open-ils.supercat_unix.pid</unix_pid>
568                     <max_requests>1000</max_requests>
569                     <unix_log>open-ils.supercat_unix.log</unix_log>
570                     <min_children>1</min_children>
571                     <max_children>15</max_children>
572                     <min_spare_children>1</min_spare_children>
573                     <max_spare_children>5</max_spare_children>
574                 </unix_config>
575             </open-ils.supercat>
576
577             <!-- server for accessing user info -->
578             <open-ils.trigger>
579                 <keepalive>5</keepalive>
580                 <stateless>1</stateless>
581                 <language>perl</language>
582                 <implementation>OpenILS::Application::Trigger</implementation>
583                 <max_requests>93</max_requests>
584                 <unix_config>
585                     <unix_sock>open-ils.trigger_unix.sock</unix_sock>
586                     <unix_pid>open-ils.trigger_unix.pid</unix_pid>
587                     <max_requests>1000</max_requests>
588                     <unix_log>open-ils.trigger_unix.log</unix_log>
589                     <min_children>1</min_children>
590                     <max_children>15</max_children>
591                     <min_spare_children>1</min_spare_children>
592                     <max_spare_children>5</max_spare_children>
593                 </unix_config>
594             </open-ils.trigger>
595
596             <opensrf.math>
597                 <keepalive>3</keepalive>
598                 <stateless>1</stateless>
599                 <language>c</language>
600                 <implementation>osrf_math.so</implementation>
601                 <max_requests>97</max_requests>
602                 <unix_config>
603                     <unix_sock>opensrf.math_unix.sock</unix_sock>
604                     <unix_pid>opensrf.math_unix.pid</unix_pid>
605                     <max_requests>1000</max_requests>
606                     <unix_log>opensrf.math_unix.log</unix_log>
607                     <min_children>1</min_children>
608                     <max_children>15</max_children>
609                     <min_spare_children>1</min_spare_children>
610                     <max_spare_children>5</max_spare_children>
611                 </unix_config>
612             </opensrf.math>
613
614             <opensrf.dbmath> 
615                 <keepalive>3</keepalive>
616                 <stateless>1</stateless>
617                 <language>c</language>
618                 <implementation>osrf_dbmath.so</implementation>
619                 <max_requests>99</max_requests>
620                 <unix_config>
621                     <max_requests>1000</max_requests>
622                     <unix_log>opensrf.dbmath_unix.log</unix_log>
623                     <unix_sock>opensrf.dbmath_unix.sock</unix_sock>
624                     <unix_pid>opensrf.dbmath_unix.pid</unix_pid>
625                     <min_children>1</min_children>
626                     <max_children>15</max_children>
627                     <min_spare_children>1</min_spare_children> 
628                     <max_spare_children>5</max_spare_children>
629                 </unix_config>
630             </opensrf.dbmath>
631
632             <open-ils.penalty>
633                 <keepalive>3</keepalive>
634                 <stateless>1</stateless>
635                 <language>perl</language>
636                 <implementation>OpenILS::Application::Penalty</implementation>
637                 <max_requests>99</max_requests>
638                 <unix_config>
639                     <max_requests>1000</max_requests>
640                     <unix_log>open-ils.penalty_unix.log</unix_log>
641                     <unix_sock>open-ils.penalty_unix.sock</unix_sock>
642                     <unix_pid>open-ils.penalty_unix.pid</unix_pid>
643                     <min_children>1</min_children>
644                     <max_children>15</max_children>
645                     <min_spare_children>1</min_spare_children>
646                     <max_spare_children>5</max_spare_children>
647                 </unix_config>
648                 <app_settings>
649                     <patron_penalty>penalty/patron_penalty.js</patron_penalty>
650                     <script_path>LIBDIR/javascript</script_path>
651                     <script_path>LOCALSTATEDIR</script_path>
652                     <script_path>LOCALSTATEDIR/catalog</script_path>
653                 </app_settings>
654             </open-ils.penalty>
655
656             <open-ils.circ> 
657                 <keepalive>3</keepalive>
658                 <stateless>1</stateless>
659                 <language>perl</language>
660                 <implementation>OpenILS::Application::Circ</implementation>
661                 <max_requests>99</max_requests>
662                 <unix_config>
663                     <max_requests>1000</max_requests>
664                     <unix_log>open-ils.circ_unix.log</unix_log>
665                     <unix_sock>open-ils.circ_unix.sock</unix_sock>
666                     <unix_pid>open-ils.circ_unix.pid</unix_pid>
667                     <min_children>1</min_children>
668                     <max_children>15</max_children>
669                     <min_spare_children>1</min_spare_children> 
670                     <max_spare_children>5</max_spare_children>
671                 </unix_config>
672                 <app_settings>
673                     <notify_hold>
674                         <email>true</email> <!-- set to false to disable hold notice emails -->
675                     </notify_hold>
676
677                     <!-- circulation policy scripts -->
678                     <script_path>LIBDIR/javascript</script_path>
679                     <script_path>LOCALSTATEDIR</script_path>
680                     <script_path>LOCALSTATEDIR/catalog</script_path>
681                     <legacy_script_support>false</legacy_script_support>
682                     <scripts> 
683                         <circ_permit_patron>circ/circ_permit_patron.js</circ_permit_patron>
684                         <circ_permit_copy>circ/circ_permit_copy.js</circ_permit_copy>
685                         <circ_duration>circ/circ_duration.js</circ_duration>
686                         <circ_recurring_fines>circ/circ_recurring_fines.js</circ_recurring_fines>
687                         <circ_max_fines>circ/circ_max_fines.js</circ_max_fines>
688                         <circ_permit_renew>circ/circ_permit_renew.js</circ_permit_renew>
689                         <circ_permit_hold>circ/circ_permit_hold.js</circ_permit_hold>
690                     </scripts>               
691
692                     <circ_modifiers>
693                         <mod>art</mod>
694                         <mod>atlas</mod>
695                         <mod>audiobook</mod>
696                         <mod>av</mod>
697                         <mod>new-av</mod>
698                         <mod>bestseller</mod>
699                         <mod>bestsellernh</mod>
700                         <mod>book</mod>
701                         <mod>cd</mod>
702                         <mod>dvd</mod>
703                         <mod>dvd-long</mod>
704                         <mod>e-book</mod>
705                         <mod>equipment</mod>
706                         <mod>filmstrip</mod>
707                         <mod>kit</mod>
708                         <mod>magazine</mod>
709                         <mod>map</mod>
710                         <mod>microform</mod>
711                         <mod>music</mod>
712                         <mod>record</mod>
713                         <mod>software</mod>
714                         <mod>softwrlong</mod>
715                         <mod>equip-long</mod>
716                         <mod>talking book</mod>
717                         <mod>toy</mod>
718                         <mod>video</mod>
719                         <mod>video-long</mod>
720                     </circ_modifiers>
721
722                     <billing_types>
723                         <type>Miscellaneous</type>
724                         <type>Overdue materials</type>
725                         <type>Fee for placing a hold</type>
726                         <type>Fee for checking out a book</type>
727                         <type>Fee for library card</type>
728                         <type>Miscellaneous charges</type>
729                         <type>Lost materials</type>
730                         <type>Damaged material</type>
731                         <type>Overdue Reserves charge</type>
732                         <type>Recall overdue</type>
733                         <type>Fee for processing lost library materials</type>
734                         <type>Fee for sending patron bills to collection agency</type>
735                         <type>Fee for interlibrary loan</type>
736                         <type>Fee for copies</type>
737                         <type>Money advanced to pay for telephone use</type>
738                         <type>Deposit fee</type>
739                         <type>Fee for disk</type>
740                         <type>Fee for faxing</type>
741                         <type>Fee for laminating</type>
742                         <type>Fee for room cleaning</type>
743                         <type>Deposit returned; fee refund</type>
744                         <type>Sale items</type>
745                         <type>Fee for lost card</type>
746                         <type>Long overdue items</type>
747                         <type>Lost/Replacement Cassette</type>
748                         <type>Returned Check</type>
749                     </billing_types>
750                 </app_settings>
751             </open-ils.circ>
752
753             <open-ils.ingest>
754                 <keepalive>3</keepalive>
755                 <stateless>1</stateless>
756                 <implementation>OpenILS::Application::Ingest</implementation>
757                 <language>perl</language>
758                 <max_requests>1000000</max_requests>
759                 <unix_config>
760                     <max_requests>1000000</max_requests>
761                     <unix_log>open-ils.ingest-unix.log</unix_log>
762                     <unix_sock>open-ils.ingest-unix.sock</unix_sock>
763                     <unix_pid>open-ils.ingest-unix.pid</unix_pid>
764                     <min_children>5</min_children>
765                     <max_children>20</max_children>
766                     <min_spare_children>2</min_spare_children>
767                     <max_spare_children>5</max_spare_children>
768                 </unix_config>
769                 <app_settings>
770                     <script_path>LIBDIR/javascript/</script_path>
771                     <script_path>LOCALSTATEDIR/catalog/</script_path>
772                     <script_path>LOCALSTATEDIR/web/opac/common/js/</script_path>
773                     <scripts>
774                         <biblio_fingerprint>biblio_fingerprint.js</biblio_fingerprint>
775                         <biblio_descriptor>biblio_descriptor.js</biblio_descriptor>
776                     </scripts>
777                 </app_settings>
778             </open-ils.ingest>
779
780             <open-ils.storage>
781                 <keepalive>10</keepalive>
782                 <stateless>1</stateless>
783                 <language>perl</language>
784                 <implementation>OpenILS::Application::Storage</implementation>
785                 <unix_config>
786                     <max_requests>1000</max_requests>
787                     <unix_log>open-ils.storage_unix.log</unix_log>
788                     <unix_sock>open-ils.storage_unix.sock</unix_sock>
789                     <unix_pid>open-ils.storage_unix.pid</unix_pid>
790                     <min_children>1</min_children>
791                     <max_children>10</max_children>
792                     <min_spare_children>1</min_spare_children>
793                     <max_spare_children>5</max_spare_children>
794                 </unix_config>
795                 <app_settings>
796                     <script_path>LIBDIR/javascript/</script_path>
797                     <script_path>LOCALSTATEDIR/catalog/</script_path>
798                     <scripts>
799                         <biblio_fingerprint>biblio_fingerprint.js</biblio_fingerprint>
800                     </scripts>
801                     <databases>
802                         <driver>Pg</driver>
803                         <database>
804                             <type>master</type>
805                             <weight>2</weight>
806                             <user>postgres</user>
807                             <host>localhost</host>
808                             <port>5432</port>
809                             <pw>postgres</pw>
810                             <db>evergreen</db>
811                             <client_encoding>UTF-8</client_encoding>
812                         </database>
813                     </databases>
814                 </app_settings>
815             </open-ils.storage>
816
817
818             <open-ils.cstore>
819                 <keepalive>6</keepalive>
820                 <stateless>1</stateless>
821                 <language>C</language>
822                 <implementation>oils_cstore.so</implementation>
823                 <max_requests>200</max_requests>
824                 <unix_config>
825                     <max_requests>1000</max_requests>
826                     <min_children>1</min_children>
827                     <max_children>15</max_children>
828                     <min_spare_children>1</min_spare_children>
829                     <max_spare_children>5</max_spare_children>
830                 </unix_config>
831                 <app_settings>
832                     <max_query_recursion>100</max_query_recursion>
833                     <driver>pgsql</driver>
834                     <database>
835                         <type>master</type>
836                         <weight>2</weight>
837                         <user>postgres</user>
838                         <host>localhost</host>
839                         <port>5432</port>
840                         <pw>postgres</pw>
841                         <db>evergreen</db>
842                         <client_encoding>UTF-8</client_encoding>
843                     </database>
844                 </app_settings>
845             </open-ils.cstore>
846
847
848             <open-ils.pcrud>
849                 <keepalive>6</keepalive>
850                 <migratable>1</migratable>
851                 <stateless>1</stateless>
852                 <language>C</language>
853                 <implementation>oils_pcrud.so</implementation>
854                 <max_requests>200</max_requests>
855
856                 <unix_config>
857                     <unix_log>open-ils.pcrud.log</unix_log>
858                     <unix_sock>open-ils.pcrud.sock</unix_sock>
859                     <unix_pid>open-ils.pcrud.pid</unix_pid>
860                     <max_requests>1000</max_requests>
861                     <min_children>1</min_children>
862                     <max_children>15</max_children>
863                     <min_spare_children>1</min_spare_children>
864                     <max_spare_children>5</max_spare_children>
865                 </unix_config>
866
867                 <app_settings>
868                     <IDL>SYSCONFDIR/fm_IDL.xml</IDL>
869                     <driver>pgsql</driver>
870                     <database>
871                         <type>master</type>
872                         <weight>2</weight>
873                         <user>postgres</user>
874                         <host>localhost</host>
875                         <port>5432</port>
876                         <pw>postgres</pw>
877                         <db>evergreen</db>
878                         <client_encoding>UTF-8</client_encoding>
879                     </database>
880                 </app_settings>
881             </open-ils.pcrud>
882
883
884             <open-ils.qstore>
885                 <keepalive>6</keepalive>
886                 <stateless>1</stateless>
887                 <language>C</language>
888                 <implementation>oils_qstore.so</implementation>
889                 <max_requests>200</max_requests>
890                 <unix_config>
891                     <max_requests>1000</max_requests>
892                     <min_children>1</min_children>
893                     <max_children>15</max_children>
894                     <min_spare_children>1</min_spare_children>
895                     <max_spare_children>5</max_spare_children>
896                 </unix_config>
897                 <app_settings>
898                     <driver>pgsql</driver>
899                     <database>
900                         <type>master</type>
901                         <weight>2</weight>
902                         <user>postgres</user>
903                         <host>localhost</host>
904                         <port>5432</port>
905                         <pw>postgres</pw>
906                         <db>evergreen</db>
907                         <client_encoding>UTF-8</client_encoding>
908                     </database>
909                 </app_settings>
910             </open-ils.qstore>
911
912
913             <opensrf.settings>
914                 <keepalive>1</keepalive>
915                 <stateless>1</stateless>
916                 <language>perl</language>
917                 <implementation>OpenSRF::Application::Settings</implementation>
918                 <max_requests>17</max_requests>
919                 <unix_config>
920                     <unix_sock>opensrf.settings_unix.sock</unix_sock>
921                     <unix_pid>opensrf.settings_unix.pid</unix_pid>
922                     <max_requests>300</max_requests>
923                     <unix_log>opensrf.settings_unix.log</unix_log>
924                     <min_children>5</min_children>
925                     <max_children>15</max_children>
926                     <min_spare_children>3</min_spare_children>
927                     <max_spare_children>5</max_spare_children>
928                 </unix_config>
929             </opensrf.settings>
930
931             <open-ils.collections>
932                 <keepalive>3</keepalive>
933                 <stateless>1</stateless>
934                 <language>perl</language>
935                 <implementation>OpenILS::Application::Collections</implementation>
936                 <max_requests>17</max_requests>
937                 <unix_config>
938                     <unix_sock>open-ils.collections_unix.sock</unix_sock>
939                     <unix_pid>open-ils.collections_unix.pid</unix_pid>
940                     <max_requests>1000</max_requests>
941                     <unix_log>open-ils.collections_unix.log</unix_log>
942                     <min_children>1</min_children>
943                     <max_children>10</max_children>
944                     <min_spare_children>1</min_spare_children>
945                     <max_spare_children>5</max_spare_children>
946                 </unix_config>
947             </open-ils.collections>
948
949             <open-ils.reporter>
950                 <keepalive>3</keepalive>
951                 <stateless>1</stateless>
952                 <language>perl</language>
953                 <implementation>OpenILS::Application::Reporter</implementation>
954                 <max_requests>99</max_requests>
955                 <unix_config>
956                     <unix_sock>open-ils.reporter_unix.sock</unix_sock>
957                     <unix_pid>open-ils.reporter_unix.pid</unix_pid>
958                     <max_requests>1000</max_requests>
959                     <unix_log>open-ils.reporter_unix.log</unix_log>
960                     <min_children>1</min_children>
961                     <max_children>10</max_children>
962                     <min_spare_children>1</min_spare_children>
963                     <max_spare_children>5</max_spare_children>
964                 </unix_config>
965             </open-ils.reporter>
966
967
968             <open-ils.reporter-store>
969                 <keepalive>6</keepalive>
970                 <stateless>1</stateless>
971                 <language>C</language>
972                 <implementation>oils_rstore.so</implementation>
973                 <max_requests>95</max_requests>
974                 <unix_config>
975                     <max_requests>400</max_requests>
976                     <min_children>1</min_children>
977                     <max_children>10</max_children>
978                     <min_spare_children>1</min_spare_children>
979                     <max_spare_children>5</max_spare_children>
980                 </unix_config>
981                 <app_settings>
982                     <driver>pgsql</driver>
983                     <database>
984                         <type>master</type>
985                         <weight>2</weight>
986                         <user>postgres</user>
987                         <host>localhost</host>
988                         <port>5432</port>
989                         <pw>postgres</pw>
990                         <db>evergreen</db>
991                         <client_encoding>UTF-8</client_encoding>
992                     </database>
993                 </app_settings>
994             </open-ils.reporter-store>
995
996             <open-ils.permacrud>
997                <keepalive>3</keepalive>
998                <stateless>1</stateless>
999                <language>perl</language>
1000                <implementation>OpenILS::Application::PermaCrud</implementation>
1001                <max_requests>17</max_requests>
1002                <unix_config>
1003                   <unix_sock>open-ils.permacrud_unix.sock</unix_sock>
1004                   <unix_pid>open-ils.permacrud_unix.pid</unix_pid>
1005                   <max_requests>1000</max_requests>
1006                   <unix_log>open-ils.permacrud_unix.log</unix_log>
1007                   <min_children>5</min_children>
1008                   <max_children>15</max_children>
1009                   <min_spare_children>3</min_spare_children>
1010                   <max_spare_children>5</max_spare_children>
1011                </unix_config>
1012             </open-ils.permacrud>
1013
1014             <open-ils.fielder>
1015                <keepalive>3</keepalive>
1016                <stateless>1</stateless>
1017                <language>perl</language>
1018                <implementation>OpenILS::Application::Fielder</implementation>
1019                <max_requests>17</max_requests>
1020                <unix_config>
1021                   <unix_sock>open-ils.fielder_unix.sock</unix_sock>
1022                   <unix_pid>open-ils.fielder_unix.pid</unix_pid>
1023                   <max_requests>1000</max_requests>
1024                   <unix_log>open-ils.fielder_unix.log</unix_log>
1025                   <min_children>5</min_children>
1026                   <max_children>15</max_children>
1027                   <min_spare_children>3</min_spare_children>
1028                   <max_spare_children>5</max_spare_children>
1029                </unix_config>
1030             </open-ils.fielder>
1031
1032             <open-ils.vandelay>
1033                 <keepalive>5</keepalive>
1034                 <stateless>1</stateless>
1035                 <language>perl</language>
1036                 <implementation>OpenILS::Application::Vandelay</implementation>
1037                 <max_requests>100</max_requests>
1038                 <unix_config>
1039                     <unix_sock>vandelay_unix.sock</unix_sock>
1040                     <unix_pid>vandelay_unix.pid</unix_pid>
1041                     <unix_log>vandelay_unix.log</unix_log>
1042                     <max_requests>100</max_requests>
1043                     <min_children>1</min_children>
1044                     <max_children>15</max_children>
1045                     <min_spare_children>1</min_spare_children>
1046                     <max_spare_children>5</max_spare_children>
1047                 </unix_config>
1048                 <app_settings>
1049                     <databases>
1050                         <!-- temporary location for MARC import files.  
1051                             Files will be deleted after records are spooled.
1052                             *note:  in a multi-brick environment, this will need to
1053                             be on a write-able NFS share.  -->
1054                         <importer>/tmp</importer>
1055                     </databases>
1056                 </app_settings>
1057             </open-ils.vandelay>
1058
1059         </apps>
1060     </default>
1061
1062     <hosts>
1063
1064         <localhost> 
1065             <!-- ^-=- 
1066             Should match the fully qualified domain name of the host.
1067
1068             On Linux, the output of the following command is authoritative:
1069             $ perl -MNet::Domain -e 'print Net::Domain::hostfqdn() . "\n";'
1070
1071             To use 'localhost' instead, run osrf_ctl.sh with the -l flag
1072             -->
1073
1074             <activeapps>
1075                 <!-- services hosted on this machine -->
1076                 <appname>opensrf.settings</appname> 
1077                 <appname>opensrf.math</appname> 
1078                 <appname>opensrf.dbmath</appname> 
1079                 <appname>open-ils.acq</appname> 
1080                 <appname>open-ils.booking</appname>
1081                 <appname>open-ils.cat</appname> 
1082                 <appname>open-ils.supercat</appname> 
1083                 <appname>open-ils.search</appname> 
1084                 <appname>open-ils.circ</appname> 
1085                 <appname>open-ils.actor</appname> 
1086                 <appname>open-ils.auth</appname> 
1087                 <appname>open-ils.storage</appname>  
1088                 <appname>open-ils.penalty</appname>  
1089                 <appname>open-ils.cstore</appname>  
1090                 <appname>open-ils.collections</appname>  
1091                 <appname>open-ils.ingest</appname>  
1092                 <appname>open-ils.reporter</appname>  
1093                 <appname>open-ils.reporter-store</appname>  
1094                 <appname>open-ils.permacrud</appname>  
1095                 <appname>open-ils.pcrud</appname>  
1096                 <appname>open-ils.trigger</appname>  
1097                 <appname>open-ils.fielder</appname>  
1098                 <appname>open-ils.vandelay</appname>  
1099             </activeapps>
1100         </localhost>
1101     </hosts>
1102
1103 </opensrf>