]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/examples/opensrf.xml.example
e9d72c2eacee1be6300c470a6fae73828cb1bc32
[working/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             <!-- load the OpenLibrary added content module -->
266             <module>OpenILS::WWW::AddedContent::OpenLibrary</module>
267
268             <!--
269             Max number of seconds to wait for an added content request to 
270             return data.  Data not returned within the timeout is considered
271             a failure
272             -->
273             <timeout>1</timeout>
274
275             <!--
276             After added content lookups have been disabled due to too many
277             lookup failures, this is the amount of time to wait before
278             we try again
279             -->
280             <retry_timeout>600</retry_timeout>
281
282             <!--
283             maximum number of consecutive lookup errors a given process can 
284             have before added content lookups are disabled for everyone
285             -->
286             <max_errors>15</max_errors>
287
288             <!-- If a userid is required to access the added content.. -->
289             <userid>MY_USER_ID</userid>
290
291             <!--
292             Base URL for Amazon added content fetching. Not needed by OpenLibrary
293             <base_url>http://images.amazon.com/images/P/</base_url>
294             -->
295
296             <!--
297             Segregating the details for ContentCafe out for easier use.  At some point, we
298             may want to support multiple services at one time.
299             -->
300             <ContentCafe>
301                 <userid>MY_USER_ID</userid>
302                 <password>MY_PASSWORD</password>
303
304                 <!--
305                 If no cover/jacket image exists for a given ISBN, then a value of T here will
306                 return an 80x120 pixel image containing the text "No Image Available".  A
307                 value of 1 will return a 1x1 pixel image.
308                 -->
309                 <return_behavior_on_no_jacket_image>T</return_behavior_on_no_jacket_image>
310             </ContentCafe>
311
312             <!--
313  
314             You can add free-form settings here and they will be accessible
315             within the added content module
316             -->
317
318         </added_content>
319
320
321
322         <!-- no apps are enabled globally by default -->
323         <activeapps/> 
324
325         <cache>
326             <!-- memcache servers -->
327             <global>
328                 <servers>
329                     <server>localhost:11211</server>
330                 </servers>
331                 <max_cache_time>86400</max_cache_time>
332             </global>
333             <anon>
334                 <!-- anonymous cache.  currently, primarily used for web session caching -->
335                 <servers>
336                     <server>localhost:11211</server>
337                 </servers>
338                 <max_cache_time>1800</max_cache_time>
339                 <!-- maximum size of a single cache entry / default = 100k-->
340                 <max_cache_size>102400</max_cache_size>
341             </anon>
342         </cache>
343
344         <apps>
345             <!-- Acquisitions server -->
346             <open-ils.acq>
347                 <keepalive>5</keepalive>
348                 <stateless>1</stateless>
349                 <language>perl</language>
350                 <implementation>OpenILS::Application::Acq</implementation>
351                 <max_requests>100</max_requests>
352                 <unix_config>
353                     <unix_sock>open-ils.acq_unix.sock</unix_sock>
354                     <unix_pid>open-ils.acq_unix.pid</unix_pid>
355                     <unix_log>open-ils.acq_unix.log</unix_log>
356                     <max_requests>100</max_requests>
357                     <min_children>1</min_children>
358                     <max_children>15</max_children>
359                     <min_spare_children>1</min_spare_children>
360                     <max_spare_children>5</max_spare_children>
361                 </unix_config>
362             </open-ils.acq>
363
364             <!-- Authentication server -->
365             <open-ils.auth>
366
367                 <!-- how long to wait between stateful requests before the child process re-joins the pool -->
368                 <keepalive>5</keepalive>
369
370                 <!-- true if this service support stateless requests -->
371                 <stateless>1</stateless>
372
373                 <!-- implementation language -->
374                 <language>c</language>
375
376                 <!-- library to plugin -->
377                 <implementation>oils_auth.so</implementation>
378
379                 <!-- maximum required opensrf requests within a stateful connection -->
380                 <max_requests>93</max_requests>
381
382                 <unix_config>
383                     <!--
384                     maximum number of top level requests coming to 
385                     this child before the child is recycled
386                     -->
387                     <max_requests>1000</max_requests>
388                     <!-- min children to fork -->
389                     <min_children>1</min_children>
390                     <!-- max possible children to fork -->
391                     <max_children>15</max_children>
392
393                     <!--
394                     C forking implementation does not support 
395                     min/max idle children, but may in the future
396                     -->
397
398                     <!-- min idle children -->
399                     <min_spare_children>1</min_spare_children>
400                     <!-- max idle children -->
401                     <max_spare_children>5</max_spare_children>
402
403                 </unix_config>
404
405                 <app_settings>
406                     <!-- defined app-specific settings here -->
407                     <default_timeout>
408                         <!-- default login timeouts based on login type -->
409                         <opac>420</opac>
410                         <staff>7200</staff>
411                         <temp>300</temp>
412                                                 <persist>2 weeks</persist>
413                     </default_timeout>
414                 </app_settings>
415             </open-ils.auth>
416
417
418             <!-- Generic search server -->
419             <open-ils.search>
420                 <keepalive>5</keepalive>
421                 <stateless>1</stateless>
422                 <language>perl</language>
423                 <implementation>OpenILS::Application::Search</implementation>
424                 <max_requests>93</max_requests>
425                 <unix_config>
426
427                     <!-- the following 3 settings are currently used by Perl services only -->
428                     <unix_sock>open-ils.search_unix.sock</unix_sock>
429                     <unix_pid>open-ils.search_unix.pid</unix_pid>
430                     <unix_log>open-ils.search_unix.log</unix_log>
431
432                     <max_requests>1000</max_requests>
433                     <min_children>1</min_children>
434                     <max_children>15</max_children>
435                     <min_spare_children>1</min_spare_children>
436                     <max_spare_children>5</max_spare_children>
437                 </unix_config>
438                 <app_settings>
439                     <marc_html_xsl>oilsMARC21slim2HTML.xsl</marc_html_xsl>
440                     <marc_html_xsl_slim>oilsMARC21slim2HTMLslim.xsl</marc_html_xsl_slim>
441
442                     <spelling_dictionary>
443                         <!-- 
444                             Optionally configure different dictionaries depending on search context.  
445                             If no dictionaries are defined, the default Aspell dictionary is used.
446                         -->
447                         <!--
448                         <default>LOCALSTATEDIR/data/default_dict.txt</default>
449                         <title>LOCALSTATEDIR/data/title_dict.txt</title>
450                         <author>LOCALSTATEDIR/data/author_dict.txt</author>
451                         <subject>LOCALSTATEDIR/data/subject_dict.txt</subject>
452                         <series>LOCALSTATEDIR/data/series_dict.txt</series>
453                         -->
454                     </spelling_dictionary>
455
456                     <!-- Default to using staged search -->
457                     <use_staged_search>true</use_staged_search>
458
459                     <!--
460                         For staged search, we estimate hits based on inclusion or exclusion.
461
462                         Valid settings:
463                             inclusion - visible ratio on superpage
464                             exclusion - excluded ratio on superpage
465                             delete_adjusted_inclusion - included ratio on superpage, ratio adjusted by deleted count
466                             delete_adjusted_exclusion - excluded ratio on superpage, ratio adjusted by deleted count
467
468                         Under normal circumstances, inclusion is the best strategy, and both delete_adjusted variants
469                         will return the same value +/- 1.  The exclusion strategy is the original, and works well
470                         when there are few deleted or excluded records, in other words, when the superpage is not
471                         sparsely populated with visible records.
472                     -->
473                     <estimation_strategy>inclusion</estimation_strategy>
474
475                     <!-- Baseline number of records to check for hit estimation. -->
476                     <superpage_size>1000</superpage_size>
477
478                     <!-- How many superpages to consider for searching overall. -->
479                     <max_superpages>10</max_superpages>
480
481                     <!-- zip code database file -->
482                     <!--<zips_file>LOCALSTATEDIR/data/zips.txt</zips_file>-->
483                 </app_settings>
484             </open-ils.search>
485
486             <!-- server for accessing user info -->
487             <open-ils.actor>
488                 <keepalive>5</keepalive>
489                 <stateless>1</stateless>
490                 <language>perl</language>
491                 <implementation>OpenILS::Application::Actor</implementation>
492                 <max_requests>93</max_requests>
493                 <unix_config>
494                     <unix_sock>open-ils.actor_unix.sock</unix_sock>
495                     <unix_pid>open-ils.actor_unix.pid</unix_pid>
496                     <max_requests>1000</max_requests>
497                     <unix_log>open-ils.actor_unix.log</unix_log>
498                     <min_children>1</min_children>
499                     <max_children>15</max_children>
500                     <min_spare_children>1</min_spare_children>
501                     <max_spare_children>5</max_spare_children>
502                 </unix_config>
503                 <!-- set this to 'true' to have barcode search also search patron records by unique ID -->
504                 <app_settings>
505                     <id_as_barcode>false</id_as_barcode>
506                 </app_settings>
507
508             </open-ils.actor>
509
510             <open-ils.booking>
511                 <keepalive>5</keepalive>
512                 <stateless>1</stateless>
513                 <language>perl</language>
514                 <implementation>OpenILS::Application::Booking</implementation>
515                 <max_requests>199</max_requests>
516                 <unix_config>
517                     <unix_sock>open-ils.booking_unix.sock</unix_sock>
518                     <unix_pid>open-ils.booking_unix.pid</unix_pid>
519                     <max_requests>1000</max_requests>
520                     <unix_log>open-ils.booking_unix.log</unix_log>
521                     <min_children>1</min_children>
522                     <max_children>15</max_children>
523                     <min_spare_children>1</min_spare_children>
524                     <max_spare_children>5</max_spare_children>
525                 </unix_config>
526                 <app_settings>
527                     <marctemplates>
528                         <K_book>LOCALSTATEDIR/templates/marc/k_book.xml</K_book>
529                     </marctemplates>
530                 </app_settings>
531             </open-ils.booking>
532
533             <open-ils.cat>
534                 <keepalive>5</keepalive>
535                 <stateless>1</stateless>
536                 <language>perl</language>
537                 <implementation>OpenILS::Application::Cat</implementation>
538                 <max_requests>199</max_requests>
539                 <unix_config>
540                     <unix_sock>open-ils.cat_unix.sock</unix_sock>
541                     <unix_pid>open-ils.cat_unix.pid</unix_pid>
542                     <max_requests>1000</max_requests>
543                     <unix_log>open-ils.cat_unix.log</unix_log>
544                     <min_children>1</min_children>
545                     <max_children>15</max_children>
546                     <min_spare_children>1</min_spare_children>
547                     <max_spare_children>5</max_spare_children>
548                 </unix_config>
549                 <app_settings>
550                     <marctemplates>
551                         <K_book>LOCALSTATEDIR/templates/marc/k_book.xml</K_book>
552                     </marctemplates>
553                 </app_settings>
554             </open-ils.cat>
555
556             <open-ils.supercat>
557                 <keepalive>5</keepalive>
558                 <stateless>1</stateless>
559                 <language>perl</language>
560                 <implementation>OpenILS::Application::SuperCat</implementation>
561                 <max_requests>199</max_requests>
562                 <unix_config>
563                     <unix_sock>open-ils.supercat_unix.sock</unix_sock>
564                     <unix_pid>open-ils.supercat_unix.pid</unix_pid>
565                     <max_requests>1000</max_requests>
566                     <unix_log>open-ils.supercat_unix.log</unix_log>
567                     <min_children>1</min_children>
568                     <max_children>15</max_children>
569                     <min_spare_children>1</min_spare_children>
570                     <max_spare_children>5</max_spare_children>
571                 </unix_config>
572             </open-ils.supercat>
573
574             <!-- server for accessing user info -->
575             <open-ils.trigger>
576                 <keepalive>5</keepalive>
577                 <stateless>1</stateless>
578                 <language>perl</language>
579                 <implementation>OpenILS::Application::Trigger</implementation>
580                 <max_requests>93</max_requests>
581                 <unix_config>
582                     <unix_sock>open-ils.trigger_unix.sock</unix_sock>
583                     <unix_pid>open-ils.trigger_unix.pid</unix_pid>
584                     <max_requests>1000</max_requests>
585                     <unix_log>open-ils.trigger_unix.log</unix_log>
586                     <min_children>1</min_children>
587                     <max_children>15</max_children>
588                     <min_spare_children>1</min_spare_children>
589                     <max_spare_children>5</max_spare_children>
590                 </unix_config>
591             </open-ils.trigger>
592
593             <opensrf.math>
594                 <keepalive>3</keepalive>
595                 <stateless>1</stateless>
596                 <language>c</language>
597                 <implementation>osrf_math.so</implementation>
598                 <max_requests>97</max_requests>
599                 <unix_config>
600                     <unix_sock>opensrf.math_unix.sock</unix_sock>
601                     <unix_pid>opensrf.math_unix.pid</unix_pid>
602                     <max_requests>1000</max_requests>
603                     <unix_log>opensrf.math_unix.log</unix_log>
604                     <min_children>1</min_children>
605                     <max_children>15</max_children>
606                     <min_spare_children>1</min_spare_children>
607                     <max_spare_children>5</max_spare_children>
608                 </unix_config>
609             </opensrf.math>
610
611             <opensrf.dbmath> 
612                 <keepalive>3</keepalive>
613                 <stateless>1</stateless>
614                 <language>c</language>
615                 <implementation>osrf_dbmath.so</implementation>
616                 <max_requests>99</max_requests>
617                 <unix_config>
618                     <max_requests>1000</max_requests>
619                     <unix_log>opensrf.dbmath_unix.log</unix_log>
620                     <unix_sock>opensrf.dbmath_unix.sock</unix_sock>
621                     <unix_pid>opensrf.dbmath_unix.pid</unix_pid>
622                     <min_children>1</min_children>
623                     <max_children>15</max_children>
624                     <min_spare_children>1</min_spare_children> 
625                     <max_spare_children>5</max_spare_children>
626                 </unix_config>
627             </opensrf.dbmath>
628
629             <open-ils.penalty>
630                 <keepalive>3</keepalive>
631                 <stateless>1</stateless>
632                 <language>perl</language>
633                 <implementation>OpenILS::Application::Penalty</implementation>
634                 <max_requests>99</max_requests>
635                 <unix_config>
636                     <max_requests>1000</max_requests>
637                     <unix_log>open-ils.penalty_unix.log</unix_log>
638                     <unix_sock>open-ils.penalty_unix.sock</unix_sock>
639                     <unix_pid>open-ils.penalty_unix.pid</unix_pid>
640                     <min_children>1</min_children>
641                     <max_children>15</max_children>
642                     <min_spare_children>1</min_spare_children>
643                     <max_spare_children>5</max_spare_children>
644                 </unix_config>
645                 <app_settings>
646                     <patron_penalty>penalty/patron_penalty.js</patron_penalty>
647                     <script_path>LIBDIR/javascript</script_path>
648                     <script_path>LOCALSTATEDIR</script_path>
649                     <script_path>LOCALSTATEDIR/catalog</script_path>
650                 </app_settings>
651             </open-ils.penalty>
652
653             <open-ils.circ> 
654                 <keepalive>3</keepalive>
655                 <stateless>1</stateless>
656                 <language>perl</language>
657                 <implementation>OpenILS::Application::Circ</implementation>
658                 <max_requests>99</max_requests>
659                 <unix_config>
660                     <max_requests>1000</max_requests>
661                     <unix_log>open-ils.circ_unix.log</unix_log>
662                     <unix_sock>open-ils.circ_unix.sock</unix_sock>
663                     <unix_pid>open-ils.circ_unix.pid</unix_pid>
664                     <min_children>1</min_children>
665                     <max_children>15</max_children>
666                     <min_spare_children>1</min_spare_children> 
667                     <max_spare_children>5</max_spare_children>
668                 </unix_config>
669                 <app_settings>
670                     <notify_hold>
671                         <email>true</email> <!-- set to false to disable hold notice emails -->
672                     </notify_hold>
673
674                     <!-- circulation policy scripts -->
675                     <script_path>LIBDIR/javascript</script_path>
676                     <script_path>LOCALSTATEDIR</script_path>
677                     <script_path>LOCALSTATEDIR/catalog</script_path>
678                     <legacy_script_support>false</legacy_script_support>
679                     <scripts> 
680                         <circ_permit_patron>circ/circ_permit_patron.js</circ_permit_patron>
681                         <circ_permit_copy>circ/circ_permit_copy.js</circ_permit_copy>
682                         <circ_duration>circ/circ_duration.js</circ_duration>
683                         <circ_recurring_fines>circ/circ_recurring_fines.js</circ_recurring_fines>
684                         <circ_max_fines>circ/circ_max_fines.js</circ_max_fines>
685                         <circ_permit_renew>circ/circ_permit_renew.js</circ_permit_renew>
686                         <circ_permit_hold>circ/circ_permit_hold.js</circ_permit_hold>
687                     </scripts>               
688
689                     <circ_modifiers>
690                         <mod>art</mod>
691                         <mod>atlas</mod>
692                         <mod>audiobook</mod>
693                         <mod>av</mod>
694                         <mod>new-av</mod>
695                         <mod>bestseller</mod>
696                         <mod>bestsellernh</mod>
697                         <mod>book</mod>
698                         <mod>cd</mod>
699                         <mod>dvd</mod>
700                         <mod>dvd-long</mod>
701                         <mod>e-book</mod>
702                         <mod>equipment</mod>
703                         <mod>filmstrip</mod>
704                         <mod>kit</mod>
705                         <mod>magazine</mod>
706                         <mod>map</mod>
707                         <mod>microform</mod>
708                         <mod>music</mod>
709                         <mod>record</mod>
710                         <mod>software</mod>
711                         <mod>softwrlong</mod>
712                         <mod>equip-long</mod>
713                         <mod>talking book</mod>
714                         <mod>toy</mod>
715                         <mod>video</mod>
716                         <mod>video-long</mod>
717                     </circ_modifiers>
718
719                     <billing_types>
720                         <type>Miscellaneous</type>
721                         <type>Overdue materials</type>
722                         <type>Fee for placing a hold</type>
723                         <type>Fee for checking out a book</type>
724                         <type>Fee for library card</type>
725                         <type>Miscellaneous charges</type>
726                         <type>Lost materials</type>
727                         <type>Damaged material</type>
728                         <type>Overdue Reserves charge</type>
729                         <type>Recall overdue</type>
730                         <type>Fee for processing lost library materials</type>
731                         <type>Fee for sending patron bills to collection agency</type>
732                         <type>Fee for interlibrary loan</type>
733                         <type>Fee for copies</type>
734                         <type>Money advanced to pay for telephone use</type>
735                         <type>Deposit fee</type>
736                         <type>Fee for disk</type>
737                         <type>Fee for faxing</type>
738                         <type>Fee for laminating</type>
739                         <type>Fee for room cleaning</type>
740                         <type>Deposit returned; fee refund</type>
741                         <type>Sale items</type>
742                         <type>Fee for lost card</type>
743                         <type>Long overdue items</type>
744                         <type>Lost/Replacement Cassette</type>
745                         <type>Returned Check</type>
746                     </billing_types>
747                 </app_settings>
748             </open-ils.circ>
749
750             <open-ils.ingest>
751                 <keepalive>3</keepalive>
752                 <stateless>1</stateless>
753                 <implementation>OpenILS::Application::Ingest</implementation>
754                 <language>perl</language>
755                 <max_requests>1000000</max_requests>
756                 <unix_config>
757                     <max_requests>1000000</max_requests>
758                     <unix_log>open-ils.ingest-unix.log</unix_log>
759                     <unix_sock>open-ils.ingest-unix.sock</unix_sock>
760                     <unix_pid>open-ils.ingest-unix.pid</unix_pid>
761                     <min_children>5</min_children>
762                     <max_children>20</max_children>
763                     <min_spare_children>2</min_spare_children>
764                     <max_spare_children>5</max_spare_children>
765                 </unix_config>
766                 <app_settings>
767                     <script_path>LIBDIR/javascript/</script_path>
768                     <script_path>LOCALSTATEDIR/catalog/</script_path>
769                     <script_path>LOCALSTATEDIR/web/opac/common/js/</script_path>
770                     <scripts>
771                         <biblio_fingerprint>biblio_fingerprint.js</biblio_fingerprint>
772                         <biblio_descriptor>biblio_descriptor.js</biblio_descriptor>
773                     </scripts>
774                 </app_settings>
775             </open-ils.ingest>
776
777             <open-ils.storage>
778                 <keepalive>10</keepalive>
779                 <stateless>1</stateless>
780                 <language>perl</language>
781                 <implementation>OpenILS::Application::Storage</implementation>
782                 <unix_config>
783                     <max_requests>1000</max_requests>
784                     <unix_log>open-ils.storage_unix.log</unix_log>
785                     <unix_sock>open-ils.storage_unix.sock</unix_sock>
786                     <unix_pid>open-ils.storage_unix.pid</unix_pid>
787                     <min_children>1</min_children>
788                     <max_children>10</max_children>
789                     <min_spare_children>1</min_spare_children>
790                     <max_spare_children>5</max_spare_children>
791                 </unix_config>
792                 <app_settings>
793                     <!-- default_preferred_language: Set the global, default preferred languange -->
794                     <default_preferred_language>eng</default_preferred_language>
795
796                     <!-- default_preferred_language_weight: Set the weight (higher is "better") for the preferred language -->
797                     <default_preferred_language_weight>5</default_preferred_language_weight>
798
799                     <script_path>LIBDIR/javascript/</script_path>
800                     <script_path>LOCALSTATEDIR/catalog/</script_path>
801                     <scripts>
802                         <biblio_fingerprint>biblio_fingerprint.js</biblio_fingerprint>
803                     </scripts>
804                     <databases>
805                         <driver>Pg</driver>
806                         <database>
807                             <type>master</type>
808                             <weight>2</weight>
809                             <user>postgres</user>
810                             <host>localhost</host>
811                             <port>5432</port>
812                             <pw>postgres</pw>
813                             <db>evergreen</db>
814                             <client_encoding>UTF-8</client_encoding>
815                         </database>
816                     </databases>
817                 </app_settings>
818             </open-ils.storage>
819
820
821             <open-ils.cstore>
822                 <keepalive>6</keepalive>
823                 <stateless>1</stateless>
824                 <language>C</language>
825                 <implementation>oils_cstore.so</implementation>
826                 <max_requests>200</max_requests>
827                 <unix_config>
828                     <max_requests>1000</max_requests>
829                     <min_children>1</min_children>
830                     <max_children>15</max_children>
831                     <min_spare_children>1</min_spare_children>
832                     <max_spare_children>5</max_spare_children>
833                 </unix_config>
834                 <app_settings>
835                     <max_query_recursion>100</max_query_recursion>
836                     <driver>pgsql</driver>
837                     <database>
838                         <type>master</type>
839                         <weight>2</weight>
840                         <user>postgres</user>
841                         <host>localhost</host>
842                         <port>5432</port>
843                         <pw>postgres</pw>
844                         <db>evergreen</db>
845                         <client_encoding>UTF-8</client_encoding>
846                     </database>
847                 </app_settings>
848             </open-ils.cstore>
849
850
851             <open-ils.pcrud>
852                 <keepalive>6</keepalive>
853                 <migratable>1</migratable>
854                 <stateless>1</stateless>
855                 <language>C</language>
856                 <implementation>oils_pcrud.so</implementation>
857                 <max_requests>200</max_requests>
858
859                 <unix_config>
860                     <unix_log>open-ils.pcrud.log</unix_log>
861                     <unix_sock>open-ils.pcrud.sock</unix_sock>
862                     <unix_pid>open-ils.pcrud.pid</unix_pid>
863                     <max_requests>1000</max_requests>
864                     <min_children>1</min_children>
865                     <max_children>15</max_children>
866                     <min_spare_children>1</min_spare_children>
867                     <max_spare_children>5</max_spare_children>
868                 </unix_config>
869
870                 <app_settings>
871                     <IDL>SYSCONFDIR/fm_IDL.xml</IDL>
872                     <driver>pgsql</driver>
873                     <database>
874                         <type>master</type>
875                         <weight>2</weight>
876                         <user>postgres</user>
877                         <host>localhost</host>
878                         <port>5432</port>
879                         <pw>postgres</pw>
880                         <db>evergreen</db>
881                         <client_encoding>UTF-8</client_encoding>
882                     </database>
883                 </app_settings>
884             </open-ils.pcrud>
885
886
887             <open-ils.qstore>
888                 <keepalive>6</keepalive>
889                 <stateless>1</stateless>
890                 <language>C</language>
891                 <implementation>oils_qstore.so</implementation>
892                 <max_requests>200</max_requests>
893                 <unix_config>
894                     <max_requests>1000</max_requests>
895                     <min_children>1</min_children>
896                     <max_children>15</max_children>
897                     <min_spare_children>1</min_spare_children>
898                     <max_spare_children>5</max_spare_children>
899                 </unix_config>
900                 <app_settings>
901                     <driver>pgsql</driver>
902                     <database>
903                         <type>master</type>
904                         <weight>2</weight>
905                         <user>postgres</user>
906                         <host>localhost</host>
907                         <port>5432</port>
908                         <pw>postgres</pw>
909                         <db>evergreen</db>
910                         <client_encoding>UTF-8</client_encoding>
911                     </database>
912                 </app_settings>
913             </open-ils.qstore>
914
915
916             <opensrf.settings>
917                 <keepalive>1</keepalive>
918                 <stateless>1</stateless>
919                 <language>perl</language>
920                 <implementation>OpenSRF::Application::Settings</implementation>
921                 <max_requests>17</max_requests>
922                 <unix_config>
923                     <unix_sock>opensrf.settings_unix.sock</unix_sock>
924                     <unix_pid>opensrf.settings_unix.pid</unix_pid>
925                     <max_requests>300</max_requests>
926                     <unix_log>opensrf.settings_unix.log</unix_log>
927                     <min_children>5</min_children>
928                     <max_children>15</max_children>
929                     <min_spare_children>3</min_spare_children>
930                     <max_spare_children>5</max_spare_children>
931                 </unix_config>
932             </opensrf.settings>
933
934             <open-ils.collections>
935                 <keepalive>3</keepalive>
936                 <stateless>1</stateless>
937                 <language>perl</language>
938                 <implementation>OpenILS::Application::Collections</implementation>
939                 <max_requests>17</max_requests>
940                 <unix_config>
941                     <unix_sock>open-ils.collections_unix.sock</unix_sock>
942                     <unix_pid>open-ils.collections_unix.pid</unix_pid>
943                     <max_requests>1000</max_requests>
944                     <unix_log>open-ils.collections_unix.log</unix_log>
945                     <min_children>1</min_children>
946                     <max_children>10</max_children>
947                     <min_spare_children>1</min_spare_children>
948                     <max_spare_children>5</max_spare_children>
949                 </unix_config>
950             </open-ils.collections>
951
952             <open-ils.reporter>
953                 <keepalive>3</keepalive>
954                 <stateless>1</stateless>
955                 <language>perl</language>
956                 <implementation>OpenILS::Application::Reporter</implementation>
957                 <max_requests>99</max_requests>
958                 <unix_config>
959                     <unix_sock>open-ils.reporter_unix.sock</unix_sock>
960                     <unix_pid>open-ils.reporter_unix.pid</unix_pid>
961                     <max_requests>1000</max_requests>
962                     <unix_log>open-ils.reporter_unix.log</unix_log>
963                     <min_children>1</min_children>
964                     <max_children>10</max_children>
965                     <min_spare_children>1</min_spare_children>
966                     <max_spare_children>5</max_spare_children>
967                 </unix_config>
968             </open-ils.reporter>
969
970
971             <open-ils.reporter-store>
972                 <keepalive>6</keepalive>
973                 <stateless>1</stateless>
974                 <language>C</language>
975                 <implementation>oils_rstore.so</implementation>
976                 <max_requests>95</max_requests>
977                 <unix_config>
978                     <max_requests>400</max_requests>
979                     <min_children>1</min_children>
980                     <max_children>10</max_children>
981                     <min_spare_children>1</min_spare_children>
982                     <max_spare_children>5</max_spare_children>
983                 </unix_config>
984                 <app_settings>
985                     <driver>pgsql</driver>
986                     <database>
987                         <type>master</type>
988                         <weight>2</weight>
989                         <user>postgres</user>
990                         <host>localhost</host>
991                         <port>5432</port>
992                         <pw>postgres</pw>
993                         <db>evergreen</db>
994                         <client_encoding>UTF-8</client_encoding>
995                     </database>
996                 </app_settings>
997             </open-ils.reporter-store>
998
999             <open-ils.permacrud>
1000                <keepalive>3</keepalive>
1001                <stateless>1</stateless>
1002                <language>perl</language>
1003                <implementation>OpenILS::Application::PermaCrud</implementation>
1004                <max_requests>17</max_requests>
1005                <unix_config>
1006                   <unix_sock>open-ils.permacrud_unix.sock</unix_sock>
1007                   <unix_pid>open-ils.permacrud_unix.pid</unix_pid>
1008                   <max_requests>1000</max_requests>
1009                   <unix_log>open-ils.permacrud_unix.log</unix_log>
1010                   <min_children>5</min_children>
1011                   <max_children>15</max_children>
1012                   <min_spare_children>3</min_spare_children>
1013                   <max_spare_children>5</max_spare_children>
1014                </unix_config>
1015             </open-ils.permacrud>
1016
1017             <open-ils.fielder>
1018                <keepalive>3</keepalive>
1019                <stateless>1</stateless>
1020                <language>perl</language>
1021                <implementation>OpenILS::Application::Fielder</implementation>
1022                <max_requests>17</max_requests>
1023                <unix_config>
1024                   <unix_sock>open-ils.fielder_unix.sock</unix_sock>
1025                   <unix_pid>open-ils.fielder_unix.pid</unix_pid>
1026                   <max_requests>1000</max_requests>
1027                   <unix_log>open-ils.fielder_unix.log</unix_log>
1028                   <min_children>5</min_children>
1029                   <max_children>15</max_children>
1030                   <min_spare_children>3</min_spare_children>
1031                   <max_spare_children>5</max_spare_children>
1032                </unix_config>
1033             </open-ils.fielder>
1034
1035             <open-ils.vandelay>
1036                 <keepalive>5</keepalive>
1037                 <stateless>1</stateless>
1038                 <language>perl</language>
1039                 <implementation>OpenILS::Application::Vandelay</implementation>
1040                 <max_requests>100</max_requests>
1041                 <unix_config>
1042                     <unix_sock>vandelay_unix.sock</unix_sock>
1043                     <unix_pid>vandelay_unix.pid</unix_pid>
1044                     <unix_log>vandelay_unix.log</unix_log>
1045                     <max_requests>100</max_requests>
1046                     <min_children>1</min_children>
1047                     <max_children>15</max_children>
1048                     <min_spare_children>1</min_spare_children>
1049                     <max_spare_children>5</max_spare_children>
1050                 </unix_config>
1051                 <app_settings>
1052                     <databases>
1053                         <!-- temporary location for MARC import files.  
1054                             Files will be deleted after records are spooled.
1055                             *note:  in a multi-brick environment, this will need to
1056                             be on a write-able NFS share.  -->
1057                         <importer>/tmp</importer>
1058                     </databases>
1059                 </app_settings>
1060             </open-ils.vandelay>
1061
1062             <open-ils.serial>
1063                 <keepalive>3</keepalive>
1064                 <stateless>1</stateless>
1065                 <language>perl</language>
1066                 <implementation>OpenILS::Application::Serial</implementation>
1067                 <max_requests>17</max_requests>
1068                 <unix_config>
1069                     <unix_sock>open-ils.serial_unix.sock</unix_sock>
1070                     <unix_pid>open-ils.serial_unix.pid</unix_pid>
1071                     <max_requests>1000</max_requests>
1072                     <unix_log>open-ils.serial_unix.log</unix_log>
1073                     <min_children>5</min_children>
1074                     <max_children>15</max_children>
1075                     <min_spare_children>3</min_spare_children>
1076                     <max_spare_children>5</max_spare_children>
1077                 </unix_config>
1078                 <app_settings>
1079                 </app_settings>
1080             </open-ils.serial>
1081
1082         </apps>
1083     </default>
1084
1085     <hosts>
1086
1087         <localhost> 
1088             <!-- ^-=- 
1089             Should match the fully qualified domain name of the host.
1090
1091             On Linux, the output of the following command is authoritative:
1092             $ perl -MNet::Domain -e 'print Net::Domain::hostfqdn() . "\n";'
1093
1094             To use 'localhost' instead, run osrf_ctl.sh with the -l flag
1095             -->
1096
1097             <activeapps>
1098                 <!-- services hosted on this machine -->
1099                 <appname>opensrf.settings</appname> 
1100                 <appname>opensrf.math</appname> 
1101                 <appname>opensrf.dbmath</appname> 
1102                 <appname>open-ils.acq</appname> 
1103                 <appname>open-ils.booking</appname>
1104                 <appname>open-ils.cat</appname> 
1105                 <appname>open-ils.supercat</appname> 
1106                 <appname>open-ils.search</appname> 
1107                 <appname>open-ils.circ</appname> 
1108                 <appname>open-ils.actor</appname> 
1109                 <appname>open-ils.auth</appname> 
1110                 <appname>open-ils.storage</appname>  
1111                 <appname>open-ils.penalty</appname>  
1112                 <appname>open-ils.cstore</appname>  
1113                 <appname>open-ils.collections</appname>  
1114                 <appname>open-ils.ingest</appname>  
1115                 <appname>open-ils.reporter</appname>  
1116                 <appname>open-ils.reporter-store</appname>  
1117                 <appname>open-ils.permacrud</appname>  
1118                 <appname>open-ils.pcrud</appname>  
1119                 <appname>open-ils.trigger</appname>  
1120                 <appname>open-ils.fielder</appname>  
1121                 <appname>open-ils.vandelay</appname>  
1122                 <appname>open-ils.serial</appname>  
1123             </activeapps>
1124         </localhost>
1125     </hosts>
1126
1127 </opensrf>