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