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