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