]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/examples/opensrf.xml.example
Stamping upgrade for truncate-to-max-fine
[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         <IDL2js>fm_IDL2js.xsl</IDL2js> <!-- IDL JS XSLT -->
35
36
37         <server_type>prefork</server_type> <!-- net::server type -->
38
39         <ils_events>LOCALSTATEDIR/data/ils_events.xml</ils_events> <!-- ILS events description file -->
40
41         <email_notify> <!-- this will eventually move into the notifications section below... -->
42             <!-- global email notification settings -->
43             <template>LOCALSTATEDIR/data/hold_notification_template.example</template>
44             <smtp_server>localhost</smtp_server>
45
46             <!--
47             in most cases, this is overridden by location 
48             specific config settings.  this is just the default
49             -->
50             <sender_address>evergreen@localhost</sender_address>
51         </email_notify>
52
53
54       <notifications>
55         <!-- global mail server settings -->
56         <smtp_server>localhost</smtp_server>
57         <sender_address>evergreen@localhost</sender_address>
58
59         <!-- global telephony (asterisk) settings -->
60         <telephony>
61             <!-- replace all values below when telephony server is configured -->
62             <enabled>0</enabled>
63             <driver>SIP</driver>    <!-- SIP (default) or multi -->
64             <channels>              <!-- explicit list of channels used if multi -->
65                                     <!-- A channel specifies technology/resource -->
66                 <channel>Zap/1</channel>
67                 <channel>Zap/2</channel>
68                 <channel>IAX/user:secret@widgets.biz</channel>
69             </channels>
70             <host>localhost</host>
71             <port>10080</port>
72             <user>evergreen</user>
73             <pw>evergreen</pw>
74             <!--
75                 The overall composition of callfiles is determined by the
76                 relevant template, but this section can be invoked for callfile
77                 configs common to all outbound calls.
78                 callfile_lines will be inserted into ALL generated callfiles
79                 after the Channel line.  This content mat be overridden
80                 (in whole) by the org unit setting callfile_lines.
81                 Warning: Invalid syntax may break ALL outbound calls.
82             -->
83             <!-- <callfile_lines>
84                 MaxRetries: 3
85                 RetryTime: 60
86                 WaitTime: 30
87                 Archive: 1
88                 Extension: 10
89             </callfile_lines> -->
90         </telephony>
91
92         <!-- Overdue notices: DEPRECATED in 2.0 in favour of Action/Trigger Notifications -->
93         <overdue>
94
95             <!-- optionally, you can define a sender address per notice type -->
96             <sender_address>overdue@localhost</sender_address>
97
98             <!-- The system can generate an XML file of overdue notices.  This is the
99                 directory where they are stored.  Files are named overdue.YYYY-MM-DD.xml -->
100             <notice_dir>LOCALSTATEDIR/data/overdue</notice_dir>
101             <combined_template>LOCALSTATEDIR/data/templates/overdue_combined_xml.example</combined_template>
102
103             <notice>
104                 <!-- Notify at 7 days overdue -->
105                 <notify_interval>7 days</notify_interval>
106                 <!-- Options include always, noemail, and never.  'noemail' means a notice
107                      will be appended to the notice file only if the patron has no valid email address.  -->
108                 <file_append>noemail</file_append>
109                 <!-- do we attempt email notification? -->
110                 <email_notify>false</email_notify>
111                 <!-- notice template file -->
112                 <email_template>LOCALSTATEDIR/data/templates/overdue_7day.example</email_template>
113             </notice>
114         </overdue>
115
116         <!-- Courtesy notices: DEPRECATED in 2.0 in favour of Action/Trigger Notifications -->
117         <predue>
118             <notice>
119                 <!-- All circulations that circulate between 5 and 13 days -->
120                 <circ_duration_range>
121                     <from>5 days</from>
122                     <to>13 days</to>
123                 </circ_duration_range>
124                 <!-- notify at 1 day before the due date -->
125                 <notify_interval>1 day</notify_interval>
126                 <file_append>false</file_append>
127                 <email_notify>false</email_notify>
128                 <email_template>LOCALSTATEDIR/data/templates/predue_1day.example</email_template>
129             </notice>
130         </predue>
131       </notifications>
132
133         <!-- Settings for the hold targeter cron job -->
134         <hold_targeter>
135             <!-- number of parallel processes to use during hold targeting;
136                  increasing can speed up (re)targeting a large number of
137                  hold requests, but with diminishing returns after a point;
138                  if increasing this value, it is recommend to do so slowly
139             -->
140             <parallel>1</parallel>
141         </hold_targeter>
142
143         <!-- Settings for the fine generator cron job -->
144         <fine_generator>
145             <!-- number of parallel processes to use during fine generation -->
146             <parallel>1</parallel>
147         </fine_generator>
148         
149         <reporter>
150             <!--
151             Settings for the reporter daemon process 
152             -->
153             <setup>
154                 <base_uri>https://localhost/reporter/</base_uri>
155                 <database>
156                     <driver>Pg</driver>
157                     <host>localhost</host>
158                     <port>5432</port>
159                     <db>evergreen</db>
160                     <user>postgres</user>
161                     <pw>postgres</pw>
162                 </database>
163                 <state_store>
164                     <driver>Pg</driver>
165                     <host>localhost</host>
166                     <port>5432</port>
167                     <db>evergreen</db>
168                     <user>postgres</user>
169                     <pw>postgres</pw>
170                 </state_store>
171                 <files>
172                     <!-- successful report outputs go here -->
173                     <output_base>LOCALSTATEDIR/web/reporter</output_base>
174                     <success_template>LOCALSTATEDIR/data/report-success</success_template>
175                     <fail_template>LOCALSTATEDIR/data/report-fail</fail_template>
176                 </files>
177             </setup>
178         </reporter>
179
180
181
182         <xml-rpc>
183             <!-- XML-RPC gateway.  Do NOT publish unprotected services here -->
184             <allowed_services>
185                 <!-- list of published services -->
186                 <service>opensrf.math</service>
187                 <service>opensrf.dbmath</service>
188                 <service>open-ils.cat</service>
189                 <service>open-ils.search</service>
190                 <service>open-ils.circ</service>
191                 <service>open-ils.actor</service>
192                 <service>open-ils.auth</service>
193                 <service>open-ils.auth_proxy</service>
194                 <service>open-ils.collections</service>
195                 <service>open-ils.justintime</service>
196             </allowed_services>
197         </xml-rpc>
198
199         <!--
200         Once upon a time, Z39.50 servers were defined here. As of Evergreen 2.2,
201         they are now defined in the database. See the Release Notes for
202         instructions on mapping the old XML entries to database tables.
203         -->
204
205         <added_content>
206             <!-- load the OpenLibrary added content module -->
207             <module>OpenILS::WWW::AddedContent::OpenLibrary</module>
208
209             <!--
210             Max number of seconds to wait for an added content request to 
211             return data.  Data not returned within the timeout is considered
212             a failure.
213
214             Note that the pool of Apache processes used by the AddedContent
215             module is the same pool used by core Evergreen processes such as
216             search, circulation, etc. Therefore, the higher you set this
217             timeout value, the more likely you are to run out of available
218             Apache processes resulting in an accidental (or purposeful) denial
219             of service - particularly if the added content server starts
220             responding abnormally slowly.
221
222             The safest option is to disable the AddedContent module completely,
223             but 3 seconds is a compromise between the threat of a denial of
224             service and the enhanced user experience offered by successful added
225             content requests.
226             -->
227             <timeout>3</timeout>
228
229             <!--
230             After added content lookups have been disabled due to too many
231             lookup failures, this is the amount of time to wait before
232             we try again
233             -->
234             <retry_timeout>600</retry_timeout>
235
236             <!--
237             maximum number of consecutive lookup errors a given process can 
238             have before added content lookups are disabled for everyone
239             -->
240             <max_errors>15</max_errors>
241
242             <!-- If a userid is required to access the added content.. -->
243             <userid>MY_USER_ID</userid>
244
245             <!--
246             Base URL for Amazon added content fetching. Not needed by OpenLibrary
247             <base_url>http://images.amazon.com/images/P/</base_url>
248             -->
249
250             <!--
251             Segregating the details for ContentCafe out for easier use.  At some point, we
252             may want to support multiple services at one time.
253             -->
254             <ContentCafe>
255                 <userid>MY_USER_ID</userid>
256                 <password>MY_PASSWORD</password>
257
258                 <!--
259                 If no cover/jacket image exists for a given ISBN, then a value of T here will
260                 return an 80x120 pixel image containing the text "No Image Available".  A
261                 value of 1 will return a 1x1 pixel image.
262                 -->
263                 <return_behavior_on_no_jacket_image>T</return_behavior_on_no_jacket_image>
264             </ContentCafe>
265
266             <!--
267  
268             You can add free-form settings here and they will be accessible
269             within the added content module
270             -->
271
272         </added_content>
273
274         <!-- Config section for acq_order_reader.pl script.
275              It reads MARC order record files from disk (presumably
276              an FTP destination) and pushes the order records into ACQ.
277              THIS IS NOT EDI. -->
278         <acq_order_reader>
279
280             <!-- Root directory for all FTP'd ACQ order record files .
281                  If the script is configured to talk to a remote acq server,
282                  this directory has to be a read/write NFS share.  -->
283             <base_dir>/openils/var/data/acq_orders/</base_dir>
284
285             <!-- any files found in the shared subdir must be inspected
286                  (e.g. file name prefix) to determine the provider. -->
287             <shared_subdir>ALL</shared_subdir><!-- SUPPORT PENDING -->
288
289             <!-- providers that don't provide a mechanism to inspect the file
290                  have to push their files to provider-specific locations -->
291             <provider>
292                 <ordering_agency>BR1</ordering_agency> <!-- who gets/manages the order -->
293                 <provider_code>BAB</provider_code>   
294                 <provider_owner>CONS</provider_owner>  <!-- provider provider_owner; org unit shortname -->
295                 <subdir>CONS-BAB</subdir> <!-- file directory;  full path = base_dir + subdir -->
296                 <activate_po>false</activate_po> <!-- activate PO at upload? -->
297                 <vandelay>
298                     <import_no_match>true</import_no_match>
299                     <!-- Most Vandelay options are supported.  For bools, use true/false.
300                         match_quality_ratio 
301                         match_set 
302                         bib_source 
303                         merge_profile
304                         create_assets
305                         import_no_match 
306                         auto_overlay_exact 
307                         auto_overlay_1match 
308                         auto_overlay_best_match
309                     -->
310                 </vandelay>
311             </provider>
312
313             <!-- Add more as needed...
314             <provider>
315                 ...
316             </provider>
317             -->
318
319         </acq_order_reader>
320
321
322         <!-- no apps are enabled globally by default -->
323         <activeapps/> 
324
325         <cache>
326             <!-- memcache servers -->
327             <global>
328                 <servers>
329                     <server>127.0.0.1:11211</server>
330                 </servers>
331                 <max_cache_time>86400</max_cache_time>
332             </global>
333             <anon>
334                 <!-- anonymous cache.  currently, primarily used for web session caching -->
335                 <servers>
336                     <server>127.0.0.1:11211</server>
337                 </servers>
338                 <max_cache_time>1800</max_cache_time>
339                 <!-- maximum size of a single cache entry / default = 100k-->
340                 <max_cache_size>102400</max_cache_size>
341             </anon>
342         </cache>
343
344         <apps>
345             <!-- Acquisitions server -->
346             <open-ils.acq>
347                 <!-- how long to wait between stateful requests before the child process re-joins the pool -->
348                 <keepalive>5</keepalive>
349                 <!-- true if this service support stateless requests -->
350                 <stateless>1</stateless>
351                 <!-- implementation language -->
352                 <language>perl</language>
353                 <!-- name of the library that implements this application -->
354                 <implementation>OpenILS::Application::Acq</implementation>
355                 <!-- maximum OpenSRF REQUEST within a stateful connection -->
356                 <max_requests>100</max_requests>
357                 <unix_config>
358                     <!--
359                     maximum number of top level requests coming to 
360                     this child before the child is recycled
361                     -->
362                     <max_requests>100</max_requests>
363                     <!-- min children to fork -->
364                     <min_children>1</min_children>
365                     <!-- max possible children to fork -->
366                     <max_children>15</max_children>
367                     <!--
368                     C forking implementation does not support 
369                     min/max idle children, but may in the future
370                     -->
371
372                     <!-- min idle children -->
373                     <min_spare_children>1</min_spare_children>
374                     <!-- max idle children -->
375                     <max_spare_children>5</max_spare_children>
376                     <!-- currently, only Perl uses the following 3 settings -->
377                     <unix_sock>open-ils.acq_unix.sock</unix_sock>
378                     <unix_pid>open-ils.acq_unix.pid</unix_pid>
379                     <unix_log>open-ils.acq_unix.log</unix_log>
380                 </unix_config>
381             </open-ils.acq>
382
383             <!-- Authentication server -->
384             <open-ils.auth>
385                 <keepalive>5</keepalive>
386                 <stateless>1</stateless>
387                 <language>c</language>
388                 <implementation>oils_auth.so</implementation>
389                 <unix_config>
390                     <max_requests>1000</max_requests>
391                     <min_children>1</min_children>
392                     <max_children>15</max_children>
393                     <min_spare_children>1</min_spare_children>
394                     <max_spare_children>5</max_spare_children>
395                 </unix_config>
396                 <app_settings>
397                     <!-- defined app-specific settings here -->
398                     <default_timeout>
399                         <!-- default login timeouts based on login type -->
400                         <opac>420</opac>
401                         <staff>7200</staff>
402                         <temp>300</temp>
403                         <persist>2 weeks</persist>
404                     </default_timeout>
405                     <auth_limits>
406                         <seed>30</seed> <!-- amount of time a seed request is valid for -->
407                         <block_time>90</block_time> <!-- amount of time since last auth or seed request to save failure counts -->
408                         <block_count>10</block_count> <!-- number of failures before blocking access -->
409                     </auth_limits>
410                 </app_settings>
411             </open-ils.auth>
412
413             <!-- Authentication proxy server -->
414             <open-ils.auth_proxy>
415                 <keepalive>5</keepalive>
416                 <stateless>1</stateless>
417                 <language>perl</language>
418                 <implementation>OpenILS::Application::AuthProxy</implementation>
419                 <max_requests>93</max_requests>
420
421                 <unix_config>
422                     <max_requests>1000</max_requests>
423                     <unix_log>open-ils.auth-proxy_unix.log</unix_log>
424                     <unix_sock>open-ils.auth-proxy_unix.sock</unix_sock>
425                     <unix_pid>open-ils.auth-proxy_unix.pid</unix_pid>
426                     <min_children>1</min_children>
427                     <max_children>15</max_children>
428                     <min_spare_children>1</min_spare_children>
429                     <max_spare_children>5</max_spare_children>
430                 </unix_config>
431
432                 <app_settings>
433                     <!-- 'enabled' is the master switch; set to 'true' to enable proxied logins -->
434                     <enabled>false</enabled>
435                     <authenticators>
436                         <!-- the following is a sample configuration for the LDAP_Auth module; please adjust as needed -->
437                         <!--
438                         <authenticator>
439                             <name>ldap</name>
440                             <module>OpenILS::Application::AuthProxy::LDAP_Auth</module>
441                             <hostname>name.domain.com</hostname>
442                             <basedn>ou=people,dc=domain,dc=com</basedn>
443                             <authid>cn=username,ou=specials,dc=domain,dc=com</authid>
444                             <id_attr>uid</id_attr>
445                             <password>my_ldap_password_for_authid_user</password>
446                             <login_types>
447                                 <type>staff</type>
448                                 <type>opac</type>
449                             </login_types>
450                             <org_units>
451                                 <unit>103</unit>
452                                 <unit>104</unit>
453                             </org_units>
454                         </authenticator>
455                         -->
456                         <!-- 'native' is a proxied version of Evergreen's standard authentication -->
457                         <authenticator>
458                             <name>native</name>
459                             <!-- you can add 'login_types' and 'org_units' limits to this authenticator as well, if needed -->
460                         </authenticator>
461                     </authenticators>
462                 </app_settings>
463             </open-ils.auth_proxy>
464
465             <!-- Generic search server -->
466             <open-ils.search>
467                 <keepalive>5</keepalive>
468                 <stateless>1</stateless>
469                 <language>perl</language>
470                 <implementation>OpenILS::Application::Search</implementation>
471                 <max_requests>93</max_requests>
472                 <unix_config>
473                     <unix_sock>open-ils.search_unix.sock</unix_sock>
474                     <unix_pid>open-ils.search_unix.pid</unix_pid>
475                     <unix_log>open-ils.search_unix.log</unix_log>
476
477                     <max_requests>1000</max_requests>
478                     <min_children>1</min_children>
479                     <max_children>15</max_children>
480                     <min_spare_children>1</min_spare_children>
481                     <max_spare_children>5</max_spare_children>
482                 </unix_config>
483                 <app_settings>
484                     <marc_html_xsl>oilsMARC21slim2HTML.xsl</marc_html_xsl>
485                     <marc_html_xsl_slim>oilsMARC21slim2HTMLslim.xsl</marc_html_xsl_slim>
486
487                     <spelling_dictionary>
488                         <!-- 
489                             Optionally configure different dictionaries depending on search context.  
490                             If no dictionaries are defined, the default Aspell dictionary is used.
491                         -->
492                         <!--
493                         <default>LOCALSTATEDIR/data/default_dict.txt</default>
494                         <title>LOCALSTATEDIR/data/title_dict.txt</title>
495                         <author>LOCALSTATEDIR/data/author_dict.txt</author>
496                         <subject>LOCALSTATEDIR/data/subject_dict.txt</subject>
497                         <series>LOCALSTATEDIR/data/series_dict.txt</series>
498                         -->
499                     </spelling_dictionary>
500
501                     <!-- Default to using staged search -->
502                     <use_staged_search>true</use_staged_search>
503
504                     <!--
505                         Evergreen uses a cover density algorithm for calculating relative ranking of matches.  There
506                         are several tuning parameters and options available.  By default, no document length normalization
507                         is applied.  From the Postgres documentation on ts_rank_cd() (the function used by Evergreen):
508
509                             Since a longer document has a greater chance of containing a query term it is reasonable 
510                             to take into account document size, e.g., a hundred-word document with five instances of 
511                             a search word is probably more relevant than a thousand-word document with five instances. 
512                             Both ranking functions take an integer normalization option that specifies whether and how 
513                             a document's length should impact its rank. The integer option controls several behaviors, 
514                             so it is a bit mask: you can specify one or more behaviors using | (for example, 2|4).
515
516                                 0 (the default) ignores the document length
517
518                                 1 divides the rank by 1 + the logarithm of the document length
519
520                                 2 divides the rank by the document length
521
522                                 4 divides the rank by the mean harmonic distance between extents (this is implemented only by ts_rank_cd)
523
524                                 8 divides the rank by the number of unique words in document
525
526                                 16 divides the rank by 1 + the logarithm of the number of unique words in document
527
528                                 32 divides the rank by itself + 1
529
530                             If more than one flag bit is specified, the transformations are applied in the order listed.
531
532                             It is important to note that the ranking functions do not use any global information, so it 
533                             is impossible to produce a fair normalization to 1% or 100% as sometimes desired. Normalization 
534                             option 32 (rank/(rank+1)) can be applied to scale all ranks into the range zero to one, but of 
535                             course this is just a cosmetic change; it will not affect the ordering of the search results.
536
537                         In Evergreen, these options are set via search modifiers.  The modifiers are mapped in the
538                         following way:
539
540                             * #CD_logDocumentLength  => 1  :: rank / (1 + LOG(total_word_count))   :: Longer documents slightly less relevant
541                             * #CD_documentLength     => 2  :: rank / total_word_count              :: Longer documents much less relevant
542                             * #CD_meanHarmonic       => 4  :: Word Proximity                       :: Greater matched-word distance is less relevant
543                             * #CD_uniqueWords        => 8  :: rank / unique_word_count             :: Documents with repeated words much less relevant
544                             * #CD_logUniqueWords     => 16 :: rank / (1 + LOG(unique_word_count))  :: Documents with repeated words slightly less relevant
545                             * #CD_selfPlusOne        => 32 :: rank / (1 + rank)                    :: Cosmetic normalization of rank value between 0 and 1
546
547                         Adding one or more of these to the default_CD_modifiers list will cause all searches that use QueryParser to apply them.
548                     -->
549                     <default_CD_modifiers>#CD_documentLength #CD_meanHarmonic #CD_uniqueWords</default_CD_modifiers>
550
551                     <!--
552                         default_preferred_language
553                             Set the global, default preferred languange
554                     -->
555                     <default_preferred_language>eng</default_preferred_language>
556
557                     <!--
558                         default_preferred_language_weight
559                             Set the weight (higher is "better") for the preferred language. Comment out to remove all lanuage weighting by default.
560                     -->
561                     <default_preferred_language_weight>5</default_preferred_language_weight>
562
563                     <!-- How many search results to return. Defaults to superpage_size * max_superpages, if they are defined and it isn't. -->
564                     <max_search_results>10000</max_search_results>
565
566                     <!-- zip code database file -->
567                     <!--<zips_file>LOCALSTATEDIR/data/zips.txt</zips_file>-->
568                 </app_settings>
569             </open-ils.search>
570
571             <!-- server for accessing user info -->
572             <open-ils.actor>
573                 <keepalive>5</keepalive>
574                 <stateless>1</stateless>
575                 <language>perl</language>
576                 <implementation>OpenILS::Application::Actor</implementation>
577                 <max_requests>93</max_requests>
578                 <unix_config>
579                     <unix_sock>open-ils.actor_unix.sock</unix_sock>
580                     <unix_pid>open-ils.actor_unix.pid</unix_pid>
581                     <max_requests>1000</max_requests>
582                     <unix_log>open-ils.actor_unix.log</unix_log>
583                     <min_children>1</min_children>
584                     <max_children>15</max_children>
585                     <min_spare_children>1</min_spare_children>
586                     <max_spare_children>5</max_spare_children>
587                 </unix_config>
588                 <!-- set this to 'true' to have barcode search also search patron records by unique ID -->
589                 <app_settings>
590                     <id_as_barcode>false</id_as_barcode>
591                 </app_settings>
592
593             </open-ils.actor>
594
595             <open-ils.booking>
596                 <keepalive>5</keepalive>
597                 <stateless>1</stateless>
598                 <language>perl</language>
599                 <implementation>OpenILS::Application::Booking</implementation>
600                 <max_requests>199</max_requests>
601                 <unix_config>
602                     <unix_sock>open-ils.booking_unix.sock</unix_sock>
603                     <unix_pid>open-ils.booking_unix.pid</unix_pid>
604                     <max_requests>1000</max_requests>
605                     <unix_log>open-ils.booking_unix.log</unix_log>
606                     <min_children>1</min_children>
607                     <max_children>15</max_children>
608                     <min_spare_children>1</min_spare_children>
609                     <max_spare_children>5</max_spare_children>
610                 </unix_config>
611                 <app_settings>
612                 </app_settings>
613             </open-ils.booking>
614
615             <open-ils.cat>
616                 <keepalive>5</keepalive>
617                 <stateless>1</stateless>
618                 <language>perl</language>
619                 <implementation>OpenILS::Application::Cat</implementation>
620                 <max_requests>199</max_requests>
621                 <unix_config>
622                     <unix_sock>open-ils.cat_unix.sock</unix_sock>
623                     <unix_pid>open-ils.cat_unix.pid</unix_pid>
624                     <max_requests>1000</max_requests>
625                     <unix_log>open-ils.cat_unix.log</unix_log>
626                     <min_children>1</min_children>
627                     <max_children>15</max_children>
628                     <min_spare_children>1</min_spare_children>
629                     <max_spare_children>5</max_spare_children>
630                 </unix_config>
631                 <app_settings>
632                     <marctemplates>
633                         <K_book>LOCALSTATEDIR/templates/marc/k_book.xml</K_book>
634                     </marctemplates>
635                 </app_settings>
636             </open-ils.cat>
637
638             <open-ils.supercat>
639                 <keepalive>5</keepalive>
640                 <stateless>1</stateless>
641                 <language>perl</language>
642                 <implementation>OpenILS::Application::SuperCat</implementation>
643                 <max_requests>199</max_requests>
644                 <unix_config>
645                     <unix_sock>open-ils.supercat_unix.sock</unix_sock>
646                     <unix_pid>open-ils.supercat_unix.pid</unix_pid>
647                     <max_requests>1000</max_requests>
648                     <unix_log>open-ils.supercat_unix.log</unix_log>
649                     <min_children>1</min_children>
650                     <max_children>15</max_children>
651                     <min_spare_children>1</min_spare_children>
652                     <max_spare_children>5</max_spare_children>
653                 </unix_config>
654             </open-ils.supercat>
655
656             <!-- server for accessing user info -->
657             <open-ils.trigger>
658                 <keepalive>5</keepalive>
659                 <stateless>1</stateless>
660                 <language>perl</language>
661                 <implementation>OpenILS::Application::Trigger</implementation>
662                 <max_requests>93</max_requests>
663                 <unix_config>
664                     <unix_sock>open-ils.trigger_unix.sock</unix_sock>
665                     <unix_pid>open-ils.trigger_unix.pid</unix_pid>
666                     <max_requests>1000</max_requests>
667                     <unix_log>open-ils.trigger_unix.log</unix_log>
668                     <min_children>1</min_children>
669                     <max_children>15</max_children>
670                     <min_spare_children>1</min_spare_children>
671                     <max_spare_children>5</max_spare_children>
672                 </unix_config>
673                 <app_settings>
674                     <!-- number of parallel open-ils.trigger processes to use for collection and reaction -->
675                     <!--
676                     <parallel>
677                         <collect>3</collect>
678                         <react>3</react>
679                     </parallel>
680                     -->
681                 </app_settings>
682             </open-ils.trigger>
683
684             <open-ils.url_verify>
685                 <keepalive>5</keepalive>
686                 <stateless>1</stateless>
687                 <language>perl</language>
688                 <implementation>OpenILS::Application::URLVerify</implementation>
689                 <max_requests>199</max_requests>
690                 <unix_config>
691                     <unix_sock>open-ils.url_verify_unix.sock</unix_sock>
692                     <unix_pid>open-ils.url_verify_unix.pid</unix_pid>
693                     <max_requests>1000</max_requests>
694                     <unix_log>open-ils.url_verify_unix.log</unix_log>
695                     <min_children>1</min_children>
696                     <max_children>15</max_children>
697                     <min_spare_children>1</min_spare_children>
698                     <max_spare_children>5</max_spare_children>
699                 </unix_config>
700                 <app_settings>
701                     <user_agent>Evergreen %s Link Checker</user_agent>
702                 </app_settings>
703             </open-ils.url_verify>
704
705             <opensrf.math>
706                 <keepalive>3</keepalive>
707                 <stateless>1</stateless>
708                 <language>c</language>
709                 <implementation>osrf_math.so</implementation>
710                 <unix_config>
711                     <unix_sock>opensrf.math_unix.sock</unix_sock>
712                     <unix_pid>opensrf.math_unix.pid</unix_pid>
713                     <max_requests>1000</max_requests>
714                     <unix_log>opensrf.math_unix.log</unix_log>
715                     <min_children>1</min_children>
716                     <max_children>15</max_children>
717                     <min_spare_children>1</min_spare_children>
718                     <max_spare_children>5</max_spare_children>
719                 </unix_config>
720             </opensrf.math>
721
722             <opensrf.dbmath> 
723                 <keepalive>3</keepalive>
724                 <stateless>1</stateless>
725                 <language>c</language>
726                 <implementation>osrf_dbmath.so</implementation>
727                 <unix_config>
728                     <max_requests>1000</max_requests>
729                     <unix_log>opensrf.dbmath_unix.log</unix_log>
730                     <unix_sock>opensrf.dbmath_unix.sock</unix_sock>
731                     <unix_pid>opensrf.dbmath_unix.pid</unix_pid>
732                     <min_children>1</min_children>
733                     <max_children>15</max_children>
734                     <min_spare_children>1</min_spare_children> 
735                     <max_spare_children>5</max_spare_children>
736                 </unix_config>
737             </opensrf.dbmath>
738
739             <open-ils.penalty>
740                 <keepalive>3</keepalive>
741                 <stateless>1</stateless>
742                 <language>perl</language>
743                 <implementation>OpenILS::Application::Penalty</implementation>
744                 <max_requests>99</max_requests>
745                 <unix_config>
746                     <max_requests>1000</max_requests>
747                     <unix_log>open-ils.penalty_unix.log</unix_log>
748                     <unix_sock>open-ils.penalty_unix.sock</unix_sock>
749                     <unix_pid>open-ils.penalty_unix.pid</unix_pid>
750                     <min_children>1</min_children>
751                     <max_children>15</max_children>
752                     <min_spare_children>1</min_spare_children>
753                     <max_spare_children>5</max_spare_children>
754                 </unix_config>
755                 <app_settings>
756                     <patron_penalty>penalty/patron_penalty.js</patron_penalty>
757                     <script_path>LIBDIR/javascript</script_path>
758                     <script_path>LOCALSTATEDIR</script_path>
759                     <script_path>LOCALSTATEDIR/catalog</script_path>
760                 </app_settings>
761             </open-ils.penalty>
762
763             <open-ils.justintime>
764                 <keepalive>5</keepalive>
765                 <stateless>1</stateless>
766                 <language>perl</language>
767                 <implementation>OpenILS::Application::JustInTime</implementation>
768                 <max_requests>199</max_requests>
769                 <unix_config>
770                     <unix_sock>open-ils.justintime_unix.sock</unix_sock>
771                     <unix_pid>open-ils.justintime_unix.pid</unix_pid>
772                     <max_requests>1000</max_requests>
773                     <unix_log>open-ils.justintime_unix.log</unix_log>
774                     <min_children>1</min_children>
775                     <max_children>15</max_children>
776                     <min_spare_children>1</min_spare_children>
777                     <max_spare_children>5</max_spare_children>
778                 </unix_config>
779                 <app_settings>
780                 </app_settings>
781             </open-ils.justintime>
782
783             <open-ils.circ> 
784                 <keepalive>3</keepalive>
785                 <stateless>1</stateless>
786                 <language>perl</language>
787                 <implementation>OpenILS::Application::Circ</implementation>
788                 <max_requests>99</max_requests>
789                 <unix_config>
790                     <max_requests>1000</max_requests>
791                     <unix_log>open-ils.circ_unix.log</unix_log>
792                     <unix_sock>open-ils.circ_unix.sock</unix_sock>
793                     <unix_pid>open-ils.circ_unix.pid</unix_pid>
794                     <min_children>1</min_children>
795                     <max_children>15</max_children>
796                     <min_spare_children>1</min_spare_children> 
797                     <max_spare_children>5</max_spare_children>
798                 </unix_config>
799                 <app_settings>
800                     <notify_hold>
801                         <email>false</email> <!-- set to false to disable hold notice emails -->
802                     </notify_hold>
803
804                     <!-- circulation policy scripts -->
805                     <script_path>LIBDIR/javascript</script_path>
806                     <script_path>LOCALSTATEDIR</script_path>
807                     <script_path>LOCALSTATEDIR/catalog</script_path>
808                     <legacy_script_support>false</legacy_script_support>
809                     <scripts> 
810                         <circ_permit_patron>circ/circ_permit_patron.js</circ_permit_patron>
811                         <circ_permit_copy>circ/circ_permit_copy.js</circ_permit_copy>
812                         <circ_duration>circ/circ_duration.js</circ_duration>
813                         <circ_recurring_fines>circ/circ_recurring_fines.js</circ_recurring_fines>
814                         <circ_max_fines>circ/circ_max_fines.js</circ_max_fines>
815                         <circ_permit_renew>circ/circ_permit_renew.js</circ_permit_renew>
816                         <circ_permit_hold>circ/circ_permit_hold.js</circ_permit_hold>
817                     </scripts>               
818
819                     <circ_modifiers>
820                         <mod>art</mod>
821                         <mod>atlas</mod>
822                         <mod>audiobook</mod>
823                         <mod>av</mod>
824                         <mod>new-av</mod>
825                         <mod>bestseller</mod>
826                         <mod>bestsellernh</mod>
827                         <mod>book</mod>
828                         <mod>cd</mod>
829                         <mod>dvd</mod>
830                         <mod>dvd-long</mod>
831                         <mod>e-book</mod>
832                         <mod>equipment</mod>
833                         <mod>filmstrip</mod>
834                         <mod>kit</mod>
835                         <mod>magazine</mod>
836                         <mod>map</mod>
837                         <mod>microform</mod>
838                         <mod>music</mod>
839                         <mod>record</mod>
840                         <mod>software</mod>
841                         <mod>softwrlong</mod>
842                         <mod>equip-long</mod>
843                         <mod>talking book</mod>
844                         <mod>toy</mod>
845                         <mod>video</mod>
846                         <mod>video-long</mod>
847                     </circ_modifiers>
848
849                     <billing_types>
850                         <type>Miscellaneous</type>
851                         <type>Overdue materials</type>
852                         <type>Fee for placing a hold</type>
853                         <type>Fee for checking out a book</type>
854                         <type>Fee for library card</type>
855                         <type>Miscellaneous charges</type>
856                         <type>Lost materials</type>
857                         <type>Damaged material</type>
858                         <type>Overdue Reserves charge</type>
859                         <type>Recall overdue</type>
860                         <type>Fee for processing lost library materials</type>
861                         <type>Fee for sending patron bills to collection agency</type>
862                         <type>Fee for interlibrary loan</type>
863                         <type>Fee for copies</type>
864                         <type>Money advanced to pay for telephone use</type>
865                         <type>Deposit fee</type>
866                         <type>Fee for disk</type>
867                         <type>Fee for faxing</type>
868                         <type>Fee for laminating</type>
869                         <type>Fee for room cleaning</type>
870                         <type>Deposit returned; fee refund</type>
871                         <type>Sale items</type>
872                         <type>Fee for lost card</type>
873                         <type>Long overdue items</type>
874                         <type>Lost/Replacement Cassette</type>
875                         <type>Returned Check</type>
876                     </billing_types>
877                 </app_settings>
878             </open-ils.circ>
879
880             <open-ils.ingest>
881                 <keepalive>3</keepalive>
882                 <stateless>1</stateless>
883                 <implementation>OpenILS::Application::Ingest</implementation>
884                 <language>perl</language>
885                 <max_requests>1000000</max_requests>
886                 <unix_config>
887                     <max_requests>1000000</max_requests>
888                     <unix_log>open-ils.ingest-unix.log</unix_log>
889                     <unix_sock>open-ils.ingest-unix.sock</unix_sock>
890                     <unix_pid>open-ils.ingest-unix.pid</unix_pid>
891                     <min_children>5</min_children>
892                     <max_children>20</max_children>
893                     <min_spare_children>2</min_spare_children>
894                     <max_spare_children>5</max_spare_children>
895                 </unix_config>
896                 <app_settings>
897                     <script_path>LIBDIR/javascript/</script_path>
898                     <script_path>LOCALSTATEDIR/catalog/</script_path>
899                     <script_path>LOCALSTATEDIR/web/opac/common/js/</script_path>
900                     <scripts>
901                         <biblio_fingerprint>biblio_fingerprint.js</biblio_fingerprint>
902                         <biblio_descriptor>biblio_descriptor.js</biblio_descriptor>
903                     </scripts>
904                 </app_settings>
905             </open-ils.ingest>
906
907             <open-ils.storage>
908                 <keepalive>10</keepalive>
909                 <stateless>1</stateless>
910                 <language>perl</language>
911                 <implementation>OpenILS::Application::Storage</implementation>
912                 <unix_config>
913                     <max_requests>1000</max_requests>
914                     <unix_log>open-ils.storage_unix.log</unix_log>
915                     <unix_sock>open-ils.storage_unix.sock</unix_sock>
916                     <unix_pid>open-ils.storage_unix.pid</unix_pid>
917                     <min_children>1</min_children>
918                     <max_children>10</max_children>
919                     <min_spare_children>1</min_spare_children>
920                     <max_spare_children>5</max_spare_children>
921                 </unix_config>
922                 <app_settings>
923                     <script_path>LIBDIR/javascript/</script_path>
924                     <script_path>LOCALSTATEDIR/catalog/</script_path>
925                     <scripts>
926                         <biblio_fingerprint>biblio_fingerprint.js</biblio_fingerprint>
927                     </scripts>
928                     <databases>
929                         <driver>Pg</driver>
930                         <database>
931                             <type>master</type>
932                             <weight>2</weight>
933                             <user>postgres</user>
934                             <host>localhost</host>
935                             <port>5432</port>
936                             <pw>postgres</pw>
937                             <db>evergreen</db>
938                             <client_encoding>UTF-8</client_encoding>
939                         </database>
940                     </databases>
941                 </app_settings>
942             </open-ils.storage>
943
944             <open-ils.cstore>
945                 <keepalive>6</keepalive>
946                 <stateless>1</stateless>
947                 <language>C</language>
948                 <implementation>oils_cstore.so</implementation>
949                 <unix_config>
950                     <max_requests>1000</max_requests>
951                     <min_children>1</min_children>
952                     <max_children>15</max_children>
953                     <min_spare_children>1</min_spare_children>
954                     <max_spare_children>5</max_spare_children>
955                 </unix_config>
956                 <app_settings>
957                     <max_query_recursion>100</max_query_recursion>
958                     <driver>pgsql</driver>
959                     <database>
960                         <type>master</type>
961                         <weight>2</weight>
962                         <user>postgres</user>
963                         <host>localhost</host>
964                         <port>5432</port>
965                         <pw>postgres</pw>
966                         <db>evergreen</db>
967                         <client_encoding>UTF-8</client_encoding>
968                     </database>
969                 </app_settings>
970             </open-ils.cstore>
971
972             <open-ils.pcrud>
973                 <keepalive>6</keepalive>
974                 <migratable>1</migratable>
975                 <stateless>1</stateless>
976                 <language>C</language>
977                 <implementation>oils_pcrud.so</implementation>
978
979                 <unix_config>
980                     <unix_log>open-ils.pcrud.log</unix_log>
981                     <unix_sock>open-ils.pcrud.sock</unix_sock>
982                     <unix_pid>open-ils.pcrud.pid</unix_pid>
983                     <max_requests>1000</max_requests>
984                     <min_children>1</min_children>
985                     <max_children>15</max_children>
986                     <min_spare_children>1</min_spare_children>
987                     <max_spare_children>5</max_spare_children>
988                 </unix_config>
989
990                 <app_settings>
991                     <IDL>SYSCONFDIR/fm_IDL.xml</IDL>
992                     <driver>pgsql</driver>
993                     <database>
994                         <type>master</type>
995                         <weight>2</weight>
996                         <user>postgres</user>
997                         <host>localhost</host>
998                         <port>5432</port>
999                         <pw>postgres</pw>
1000                         <db>evergreen</db>
1001                         <client_encoding>UTF-8</client_encoding>
1002                     </database>
1003                 </app_settings>
1004             </open-ils.pcrud>
1005
1006             <open-ils.qstore>
1007                 <keepalive>6</keepalive>
1008                 <stateless>1</stateless>
1009                 <language>C</language>
1010                 <implementation>oils_qstore.so</implementation>
1011                 <unix_config>
1012                     <max_requests>1000</max_requests>
1013                     <min_children>1</min_children>
1014                     <max_children>15</max_children>
1015                     <min_spare_children>1</min_spare_children>
1016                     <max_spare_children>5</max_spare_children>
1017                 </unix_config>
1018                 <app_settings>
1019                     <driver>pgsql</driver>
1020                     <database>
1021                         <type>master</type>
1022                         <weight>2</weight>
1023                         <user>postgres</user>
1024                         <host>localhost</host>
1025                         <port>5432</port>
1026                         <pw>postgres</pw>
1027                         <db>evergreen</db>
1028                         <client_encoding>UTF-8</client_encoding>
1029                     </database>
1030                 </app_settings>
1031             </open-ils.qstore>
1032
1033             <opensrf.settings>
1034                 <keepalive>1</keepalive>
1035                 <stateless>1</stateless>
1036                 <language>perl</language>
1037                 <implementation>OpenSRF::Application::Settings</implementation>
1038                 <max_requests>17</max_requests>
1039                 <unix_config>
1040                     <unix_sock>opensrf.settings_unix.sock</unix_sock>
1041                     <unix_pid>opensrf.settings_unix.pid</unix_pid>
1042                     <max_requests>300</max_requests>
1043                     <unix_log>opensrf.settings_unix.log</unix_log>
1044                     <min_children>5</min_children>
1045                     <max_children>15</max_children>
1046                     <min_spare_children>3</min_spare_children>
1047                     <max_spare_children>5</max_spare_children>
1048                 </unix_config>
1049             </opensrf.settings>
1050
1051             <open-ils.collections>
1052                 <keepalive>3</keepalive>
1053                 <stateless>1</stateless>
1054                 <language>perl</language>
1055                 <implementation>OpenILS::Application::Collections</implementation>
1056                 <max_requests>17</max_requests>
1057                 <unix_config>
1058                     <unix_sock>open-ils.collections_unix.sock</unix_sock>
1059                     <unix_pid>open-ils.collections_unix.pid</unix_pid>
1060                     <max_requests>1000</max_requests>
1061                     <unix_log>open-ils.collections_unix.log</unix_log>
1062                     <min_children>1</min_children>
1063                     <max_children>10</max_children>
1064                     <min_spare_children>1</min_spare_children>
1065                     <max_spare_children>5</max_spare_children>
1066                 </unix_config>
1067                 <app_settings>
1068                     <!-- batch_file_dir must be a protected, web-accessible, shared directory -->
1069                     <batch_file_dir>/openils/var/web/collections</batch_file_dir>
1070                 </app_settings>
1071             </open-ils.collections>
1072
1073             <open-ils.reporter>
1074                 <keepalive>3</keepalive>
1075                 <stateless>1</stateless>
1076                 <language>perl</language>
1077                 <implementation>OpenILS::Application::Reporter</implementation>
1078                 <max_requests>99</max_requests>
1079                 <unix_config>
1080                     <unix_sock>open-ils.reporter_unix.sock</unix_sock>
1081                     <unix_pid>open-ils.reporter_unix.pid</unix_pid>
1082                     <max_requests>1000</max_requests>
1083                     <unix_log>open-ils.reporter_unix.log</unix_log>
1084                     <min_children>1</min_children>
1085                     <max_children>10</max_children>
1086                     <min_spare_children>1</min_spare_children>
1087                     <max_spare_children>5</max_spare_children>
1088                 </unix_config>
1089             </open-ils.reporter>
1090
1091             <open-ils.reporter-store>
1092                 <keepalive>6</keepalive>
1093                 <stateless>1</stateless>
1094                 <language>C</language>
1095                 <implementation>oils_rstore.so</implementation>
1096                 <unix_config>
1097                     <max_requests>400</max_requests>
1098                     <min_children>1</min_children>
1099                     <max_children>10</max_children>
1100                     <min_spare_children>1</min_spare_children>
1101                     <max_spare_children>5</max_spare_children>
1102                 </unix_config>
1103                 <app_settings>
1104                     <driver>pgsql</driver>
1105                     <database>
1106                         <type>master</type>
1107                         <weight>2</weight>
1108                         <user>postgres</user>
1109                         <host>localhost</host>
1110                         <port>5432</port>
1111                         <pw>postgres</pw>
1112                         <db>evergreen</db>
1113                         <client_encoding>UTF-8</client_encoding>
1114                     </database>
1115                 </app_settings>
1116             </open-ils.reporter-store>
1117
1118 <!-- resolver_type defaults to sfx but can also be cufts -->
1119 <!--
1120            <open-ils.resolver>
1121                <keepalive>3</keepalive>
1122                <stateless>1</stateless>
1123                <language>perl</language>
1124                <implementation>OpenILS::Application::ResolverResolver</implementation>
1125                <max_requests>93</max_requests>
1126                <unix_config>
1127                   <unix_sock>open-ils.resolver_unix.sock</unix_sock>
1128                   <unix_pid>open-ils.resolver_unix.pid</unix_pid>
1129                   <max_requests>1000</max_requests>
1130                   <unix_log>open-ils.resolver_unix.log</unix_log>
1131                   <min_children>5</min_children>
1132                   <max_children>15</max_children>
1133                   <min_spare_children>3</min_spare_children>
1134                   <max_spare_children>5</max_spare_children>
1135                </unix_config>
1136                <app_settings>
1137                   <cache_timeout>86400</cache_timeout>
1138                   <request_timeout>10</request_timeout>
1139                   <default_url_base>http://path/to/sfx_or_cufts</default_url_base>
1140                   <resolver_type>sfx</resolver_type>
1141                </app_settings>
1142             </open-ils.resolver>
1143 -->
1144
1145             <open-ils.permacrud>
1146                <keepalive>3</keepalive>
1147                <stateless>1</stateless>
1148                <language>perl</language>
1149                <implementation>OpenILS::Application::PermaCrud</implementation>
1150                <max_requests>17</max_requests>
1151                <unix_config>
1152                   <unix_sock>open-ils.permacrud_unix.sock</unix_sock>
1153                   <unix_pid>open-ils.permacrud_unix.pid</unix_pid>
1154                   <max_requests>1000</max_requests>
1155                   <unix_log>open-ils.permacrud_unix.log</unix_log>
1156                   <min_children>5</min_children>
1157                   <max_children>15</max_children>
1158                   <min_spare_children>3</min_spare_children>
1159                   <max_spare_children>5</max_spare_children>
1160                </unix_config>
1161             </open-ils.permacrud>
1162
1163             <open-ils.fielder>
1164                <keepalive>3</keepalive>
1165                <stateless>1</stateless>
1166                <language>perl</language>
1167                <implementation>OpenILS::Application::Fielder</implementation>
1168                <max_requests>17</max_requests>
1169                <unix_config>
1170                   <unix_sock>open-ils.fielder_unix.sock</unix_sock>
1171                   <unix_pid>open-ils.fielder_unix.pid</unix_pid>
1172                   <max_requests>1000</max_requests>
1173                   <unix_log>open-ils.fielder_unix.log</unix_log>
1174                   <min_children>5</min_children>
1175                   <max_children>15</max_children>
1176                   <min_spare_children>3</min_spare_children>
1177                   <max_spare_children>5</max_spare_children>
1178                </unix_config>
1179             </open-ils.fielder>
1180
1181             <open-ils.vandelay>
1182                 <keepalive>5</keepalive>
1183                 <stateless>1</stateless>
1184                 <language>perl</language>
1185                 <implementation>OpenILS::Application::Vandelay</implementation>
1186                 <max_requests>100</max_requests>
1187                 <unix_config>
1188                     <unix_sock>vandelay_unix.sock</unix_sock>
1189                     <unix_pid>vandelay_unix.pid</unix_pid>
1190                     <unix_log>vandelay_unix.log</unix_log>
1191                     <max_requests>100</max_requests>
1192                     <min_children>1</min_children>
1193                     <max_children>15</max_children>
1194                     <min_spare_children>1</min_spare_children>
1195                     <max_spare_children>5</max_spare_children>
1196                 </unix_config>
1197                 <app_settings>
1198                     <databases>
1199                         <!-- temporary location for MARC import files.  
1200                             Files will be deleted after records are spooled.
1201                             *note:  in a multi-brick environment, this will need to
1202                             be on a write-able NFS share.  -->
1203                         <importer>/tmp</importer>
1204                     </databases>
1205                 </app_settings>
1206             </open-ils.vandelay>
1207
1208             <open-ils.serial>
1209                 <keepalive>3</keepalive>
1210                 <stateless>1</stateless>
1211                 <language>perl</language>
1212                 <implementation>OpenILS::Application::Serial</implementation>
1213                 <max_requests>17</max_requests>
1214                 <unix_config>
1215                     <unix_sock>open-ils.serial_unix.sock</unix_sock>
1216                     <unix_pid>open-ils.serial_unix.pid</unix_pid>
1217                     <max_requests>1000</max_requests>
1218                     <unix_log>open-ils.serial_unix.log</unix_log>
1219                     <min_children>5</min_children>
1220                     <max_children>15</max_children>
1221                     <min_spare_children>3</min_spare_children>
1222                     <max_spare_children>5</max_spare_children>
1223                 </unix_config>
1224                 <app_settings>
1225                 </app_settings>
1226             </open-ils.serial>
1227
1228         </apps>
1229     </default>
1230
1231     <hosts>
1232
1233         <localhost> 
1234             <!-- ^-=- 
1235             Should match the fully qualified domain name of the host.
1236
1237             On Linux, the output of the following command is authoritative:
1238             $ perl -MNet::Domain -e 'print Net::Domain::hostfqdn() . "\n";'
1239
1240             To use 'localhost' instead, run osrf_ctl.sh with the -l flag
1241             -->
1242
1243             <activeapps>
1244                 <!-- services hosted on this machine -->
1245                 <appname>opensrf.settings</appname> 
1246                 <appname>opensrf.math</appname> 
1247                 <appname>opensrf.dbmath</appname> 
1248                 <appname>open-ils.acq</appname> 
1249                 <appname>open-ils.booking</appname>
1250                 <appname>open-ils.cat</appname> 
1251                 <appname>open-ils.supercat</appname> 
1252                 <appname>open-ils.search</appname> 
1253                 <appname>open-ils.circ</appname> 
1254                 <appname>open-ils.actor</appname> 
1255                 <appname>open-ils.auth</appname> 
1256                 <appname>open-ils.auth_proxy</appname> 
1257                 <appname>open-ils.storage</appname>  
1258                 <appname>open-ils.penalty</appname>  
1259                 <appname>open-ils.justintime</appname>  
1260                 <appname>open-ils.cstore</appname>  
1261                 <appname>open-ils.collections</appname>  
1262                 <appname>open-ils.ingest</appname>  
1263                 <appname>open-ils.reporter</appname>  
1264                 <appname>open-ils.reporter-store</appname>  
1265                 <!-- <appname>open-ils.resolver</appname> -->
1266                 <appname>open-ils.permacrud</appname>  
1267                 <appname>open-ils.pcrud</appname>  
1268                 <appname>open-ils.trigger</appname>  
1269                 <appname>open-ils.url_verify</appname>
1270                 <appname>open-ils.fielder</appname>  
1271                 <appname>open-ils.vandelay</appname>  
1272                 <appname>open-ils.serial</appname>  
1273             </activeapps>
1274         </localhost>
1275     </hosts>
1276
1277 </opensrf>