d6d853c5062fdb9b20931f6a435eafb17fa62dc8
[Evergreen.git] / Open-ILS / examples / opensrf.xml.example
1 <?xml version='1.0'?>
2
3 <!-- 
4 Example opensrf config file for OpenILS
5 -->
6
7 <opensrf version='0.0.2'>
8
9     <default>
10             
11         <dirs>
12             <log>/openils/var/log</log> <!-- unix::server log files -->
13             <sock>/openils/var/sock</sock> <!-- unix::server sock files -->
14             <pid>/openils/var/pid</pid>
15             <xsl>/openils/var/xsl</xsl>
16             <script>/openils/var</script>
17             <script_lib>/openils/var</script_lib>
18         </dirs>
19
20         <IDL>/openils/conf/fm_IDL.xml</IDL> <!-- top level IDL file -->
21         <server_type>prefork</server_type> <!-- net::server type -->
22         <ils_events>/openils/var/data/ils_events.xml</ils_events> <!-- ILS events description file -->
23         
24         <email_notify>
25             <!-- global email notification settings -->
26             <template>/openils/var/data/hold_notification_template.example</template>
27             <smtp_server>localhost</smtp_server>
28
29             <!-- in most cases, this is overridden by location 
30                 specific config settings.  this is just the default -->
31             <sender_address>evergreen@localhost</sender_address>
32         </email_notify>
33
34
35         <reporter>
36             <!--
37                 Settings for the reporter daemon process 
38             -->
39             <setup>
40                 <base_uri>https://localhost/reporter/</base_uri>
41                 <database>
42                     <driver>Pg</driver>
43                     <host>localhost</host>
44                     <port>5432</port>
45                     <db>evergreen</db>
46                     <user>postgres</user>
47                     <password>postgres</password>
48                 </database>
49                 <files>
50                     <!-- successful report outputs go here -->
51                     <output_base>/openils/var/reporter/output</output_base>
52                     <success_template>/openils/var/data/report-success</success_template>
53                     <fail_template>/openils/var/data/report-fail</fail_template>
54                 </files>
55             </setup>
56         </reporter>
57
58
59
60         <xml-rpc>
61             <!-- XML-RPC gateway.  Do NOT publish unprotected services here -->
62             <allowed_services>
63                 <!-- list of published services -->
64                 <service>opensrf.math</service>
65                 <service>opensrf.dbmath</service>
66                 <service>open-ils.cat</service>
67                 <service>open-ils.search</service>
68                 <service>open-ils.circ</service>
69                 <service>open-ils.actor</service>
70                 <service>open-ils.auth</service>
71                 <service>open-ils.collections</service>
72             </allowed_services>
73         </xml-rpc>
74
75
76         <z3950>
77             <default>oclc</default>
78             <services>
79
80                 <loc>
81                     <!-- LoC does not require username/password -->
82                     <name>loc</name>
83                     <host>z3950.loc.gov</host>
84                     <port>7090</port>
85                     <db>Voyager</db>
86                     <attrs>
87                         <tcn><code>12</code><format>1</format></tcn>
88                         <isbn><code>7</code><format>6</format></isbn>
89                         <lccn><code>9</code><format>1</format></lccn>
90                         <author><code>1003</code><format>6</format></author>
91                         <title><code>4</code><format>6</format></title>
92                         <issn><code>8</code><format>1</format></issn>
93                         <publisher><code>1018</code><format>6</format></publisher>
94                         <pubdate><code>31</code><format>1</format></pubdate>
95                         <item_type><code>1001</code><format>1</format></item_type>
96                     </attrs>
97                 </loc>
98
99                 <oclc>
100                     <!-- Z3950 settings for OCLC.  Note that OCLC requires username/password -->
101                     <host>zcat.oclc.org</host>
102                     <port>210</port>
103                     <db>OLUCWorldCat</db>
104                     <attrs>
105                         <!--
106                             These are directly from the Bib-1 Attribute Set
107                             http://www.loc.gov/z3950/agency/defns/bib1.html
108                             <code> is the "use attribute", <format> is the "structure attribute"
109                             This just puts some friendly names on the data.
110                         -->
111                         <tcn><code>12</code><format>1</format></tcn>
112                         <isbn><code>7</code><format>6</format></isbn>
113                         <lccn><code>9</code><format>1</format></lccn>
114                         <author><code>1003</code><format>6</format></author>
115                         <title><code>4</code><format>6</format></title>
116                         <issn><code>8</code><format>1</format></issn>
117                         <publisher><code>1018</code><format>6</format></publisher>
118                         <pubdate><code>31</code><format>1</format></pubdate>
119                         <item_type><code>1001</code><format>1</format></item_type>
120                     </attrs>
121                 </oclc>
122
123             </services>
124         </z3950>
125
126
127         <added_content>
128             <!-- configure an added content plugin -->
129             <!--
130             <module>OpenILS::WWW::AddedContent::MY_MODULE</module>
131             <userid>MY_USER_ID</userid>
132             <base_url>MY_BASE_URL</base_url>
133             <timeout>2</timeout>
134             -->
135         </added_content>
136
137
138
139         <!-- no apps are enabled globally by default -->
140         <activeapps/> 
141         
142         <cache>
143             <!-- memcache servers -->
144             <global>
145                 <servers>
146                     <server>localhost:11211</server>
147                 </servers>
148                 <max_cache_time>86400</max_cache_time>
149             </global>
150         </cache>
151
152         <apps>
153             <!-- Authentication server -->
154             <open-ils.auth>
155
156                 <!-- how long to wait between stateful requests before the child process re-joins the pool -->
157                 <keepalive>5</keepalive>
158
159                 <!-- true if this service support stateless requests -->
160                 <stateless>1</stateless>
161
162                 <!-- implementation language -->
163                 <language>c</language>
164
165                 <!-- library to plugin -->
166                 <implementation>oils_auth.so</implementation>
167
168                 <!-- maximum required opensrf requests within a stateful connection -->
169                 <max_requests>93</max_requests>
170
171                 <unix_config>
172                     <!-- maximum number of top level requests coming to 
173                         this child before the child is recycled -->
174                     <max_requests>1000</max_requests>
175                     <!-- min children to fork -->
176                     <min_children>1</min_children>
177                     <!-- max possible children to fork -->
178                     <max_children>15</max_children>
179
180                     <!-- C forking implementation does not support 
181                         min/max idle children, but may in the future -->
182
183                     <!-- min idle children -->
184                     <min_spare_children>1</min_spare_children>
185                     <!-- max idle children -->
186                     <max_spare_children>5</max_spare_children>
187
188                 </unix_config>
189
190                 <app_settings>
191                     <!-- defined app-specific settings here -->
192                     <default_timeout>
193                         <!-- default login timeouts based on login type -->
194                         <opac>420</opac>
195                         <staff>7200</staff>
196                         <temp>300</temp>
197                     </default_timeout>
198                 </app_settings>
199             </open-ils.auth>
200
201
202             <!-- Generic search server -->
203             <open-ils.search>
204                 <keepalive>5</keepalive>
205                 <stateless>1</stateless>
206                 <language>perl</language>
207                 <implementation>OpenILS::Application::Search</implementation>
208                 <max_requests>93</max_requests>
209                 <unix_config>
210
211                     <!-- the following 3 settings are currently used by Perl services only -->
212                     <unix_sock>open-ils.search_unix.sock</unix_sock>
213                     <unix_pid>open-ils.search_unix.pid</unix_pid>
214                     <unix_log>open-ils.search_unix.log</unix_log>
215
216                     <max_requests>1000</max_requests>
217                     <min_children>1</min_children>
218                     <max_children>15</max_children>
219                     <min_spare_children>1</min_spare_children>
220                     <max_spare_children>5</max_spare_children>
221                 </unix_config>
222                 <app_settings>
223                     <marc_html_xsl>oilsMARC21slim2HTML.xsl</marc_html_xsl>
224                     <!-- zip code database file -->
225                     <!--<zips_file>/openils/var/data/zips.txt</zips_file>-->
226                 </app_settings>
227             </open-ils.search>
228
229             <!-- server for accessing user info -->
230             <open-ils.actor>
231                 <keepalive>5</keepalive>
232                 <stateless>1</stateless>
233                 <language>perl</language>
234                 <implementation>OpenILS::Application::Actor</implementation>
235                 <max_requests>93</max_requests>
236                 <unix_config>
237                     <unix_sock>open-ils.actor_unix.sock</unix_sock>
238                     <unix_pid>open-ils.actor_unix.pid</unix_pid>
239                     <max_requests>1000</max_requests>
240                     <unix_log>open-ils.actor_unix.log</unix_log>
241                     <min_children>1</min_children>
242                     <max_children>15</max_children>
243                     <min_spare_children>1</min_spare_children>
244                     <max_spare_children>5</max_spare_children>
245                 </unix_config>
246             </open-ils.actor>
247
248
249             <open-ils.cat>
250                 <keepalive>5</keepalive>
251                 <stateless>1</stateless>
252                 <language>perl</language>
253                 <implementation>OpenILS::Application::Cat</implementation>
254                 <max_requests>199</max_requests>
255                 <unix_config>
256                     <unix_sock>open-ils.cat_unix.sock</unix_sock>
257                     <unix_pid>open-ils.cat_unix.pid</unix_pid>
258                     <max_requests>1000</max_requests>
259                     <unix_log>open-ils.cat_unix.log</unix_log>
260                     <min_children>1</min_children>
261                     <max_children>15</max_children>
262                     <min_spare_children>1</min_spare_children>
263                     <max_spare_children>5</max_spare_children>
264                 </unix_config>
265                 <app_settings>
266                     <marctemplates>
267                         <K_book>/openils/var/templates/marc/k_book.xml</K_book>
268                     </marctemplates>
269                 </app_settings>
270             </open-ils.cat>
271
272             <open-ils.supercat>
273                 <keepalive>5</keepalive>
274                 <stateless>1</stateless>
275                 <language>perl</language>
276                 <implementation>OpenILS::Application::SuperCat</implementation>
277                 <max_requests>199</max_requests>
278                 <unix_config>
279                     <unix_sock>open-ils.supercat_unix.sock</unix_sock>
280                     <unix_pid>open-ils.supercat_unix.pid</unix_pid>
281                     <max_requests>1000</max_requests>
282                     <unix_log>open-ils.supercat_unix.log</unix_log>
283                     <min_children>1</min_children>
284                     <max_children>15</max_children>
285                     <min_spare_children>1</min_spare_children>
286                     <max_spare_children>5</max_spare_children>
287                 </unix_config>
288             </open-ils.supercat>
289
290
291             <opensrf.math>
292                 <keepalive>3</keepalive>
293                 <stateless>1</stateless>
294                 <language>c</language>
295                 <implementation>osrf_math.so</implementation>
296                 <max_requests>97</max_requests>
297                 <unix_config>
298                     <unix_sock>opensrf.math_unix.sock</unix_sock>
299                     <unix_pid>opensrf.math_unix.pid</unix_pid>
300                     <max_requests>1000</max_requests>
301                     <unix_log>opensrf.math_unix.log</unix_log>
302                     <min_children>1</min_children>
303                     <max_children>15</max_children>
304                     <min_spare_children>1</min_spare_children>
305                     <max_spare_children>5</max_spare_children>
306                 </unix_config>
307             </opensrf.math>
308
309             <opensrf.dbmath> 
310                 <keepalive>3</keepalive>
311                 <stateless>1</stateless>
312                 <language>c</language>
313                 <implementation>osrf_dbmath.so</implementation>
314                 <max_requests>99</max_requests>
315                 <unix_config>
316                     <max_requests>1000</max_requests>
317                     <unix_log>opensrf.dbmath_unix.log</unix_log>
318                     <unix_sock>opensrf.dbmath_unix.sock</unix_sock>
319                     <unix_pid>opensrf.dbmath_unix.pid</unix_pid>
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             </opensrf.dbmath>
326
327             <open-ils.penalty>
328                 <keepalive>3</keepalive>
329                 <stateless>1</stateless>
330                 <language>perl</language>
331                 <implementation>OpenILS::Application::Penalty</implementation>
332                 <max_requests>99</max_requests>
333                 <unix_config>
334                     <max_requests>1000</max_requests>
335                     <unix_log>open-ils.penalty_unix.log</unix_log>
336                     <unix_sock>open-ils.penalty_unix.sock</unix_sock>
337                     <unix_pid>open-ils.penalty_unix.pid</unix_pid>
338                     <min_children>1</min_children>
339                     <max_children>15</max_children>
340                     <min_spare_children>1</min_spare_children>
341                     <max_spare_children>5</max_spare_children>
342                 </unix_config>
343                 <app_settings>
344                     <patron_penalty>penalty/patron_penalty.js</patron_penalty>
345                     <script_path>/openils/var</script_path>
346                     <script_path>/openils/var/catalog</script_path>
347                 </app_settings>
348             </open-ils.penalty>
349
350             <open-ils.circ> 
351                 <keepalive>3</keepalive>
352                 <stateless>1</stateless>
353                 <language>perl</language>
354                 <implementation>OpenILS::Application::Circ</implementation>
355                 <max_requests>99</max_requests>
356                 <unix_config>
357                     <max_requests>1000</max_requests>
358                     <unix_log>open-ils.circ_unix.log</unix_log>
359                     <unix_sock>open-ils.circ_unix.sock</unix_sock>
360                     <unix_pid>open-ils.circ_unix.pid</unix_pid>
361                     <min_children>1</min_children>
362                     <max_children>15</max_children>
363                     <min_spare_children>1</min_spare_children> 
364                     <max_spare_children>5</max_spare_children>
365                 </unix_config>
366                 <app_settings>
367                     <notify_hold>
368                         <email>false</email> <!-- set to true for hold notice emails -->
369                     </notify_hold>
370
371                     <!-- circulation policy scripts -->
372                     <script_path>/openils/var</script_path>
373                     <script_path>/openils/var/catalog</script_path>
374                     <scripts> 
375                         <circ_permit_patron>circ/circ_permit_patron.js</circ_permit_patron>
376                         <circ_permit_copy>circ/circ_permit_copy.js</circ_permit_copy>
377                         <circ_duration>circ/circ_duration.js</circ_duration>
378                         <circ_recurring_fines>circ/circ_recurring_fines.js</circ_recurring_fines>
379                         <circ_max_fines>circ/circ_max_fines.js</circ_max_fines>
380                         <circ_permit_renew>circ/circ_permit_renew.js</circ_permit_renew>
381                         <circ_permit_hold>circ/circ_permit_hold.js</circ_permit_hold>
382                     </scripts>               
383
384                     <circ_modifiers>
385                         <mod>art</mod>
386                         <mod>atlas</mod>
387                         <mod>audiobook</mod>
388                         <mod>av</mod>
389                         <mod>new-av</mod>
390                         <mod>bestseller</mod>
391                         <mod>bestsellernh</mod>
392                         <mod>book</mod>
393                         <mod>cd</mod>
394                         <mod>dvd</mod>
395                         <mod>dvd-long</mod>
396                         <mod>e-book</mod>
397                         <mod>equipment</mod>
398                         <mod>filmstrip</mod>
399                         <mod>kit</mod>
400                         <mod>magazine</mod>
401                         <mod>map</mod>
402                         <mod>microform</mod>
403                         <mod>music</mod>
404                         <mod>record</mod>
405                         <mod>software</mod>
406                         <mod>softwrlong</mod>
407                         <mod>equip-long</mod>
408                         <mod>talking book</mod>
409                         <mod>toy</mod>
410                         <mod>video</mod>
411                         <mod>video-long</mod>
412                     </circ_modifiers>
413
414                     <billing_types>
415                         <type>Miscellaneous</type>
416                         <type>Overdue materials</type>
417                         <type>Fee for placing a hold</type>
418                         <type>Fee for checking out a book</type>
419                         <type>Fee for library card</type>
420                         <type>Miscellaneous charges</type>
421                         <type>Lost materials</type>
422                         <type>Damaged material</type>
423                         <type>Overdue Reserves charge</type>
424                         <type>Recall overdue</type>
425                         <type>Fee for processing lost library materials</type>
426                         <type>Fee for sending patron bills to collection agency</type>
427                         <type>Fee for interlibrary loan</type>
428                         <type>Fee for copies</type>
429                         <type>Money advanced to pay for telephone use</type>
430                         <type>Deposit fee</type>
431                         <type>Fee for disk</type>
432                         <type>Fee for faxing</type>
433                         <type>Fee for laminating</type>
434                         <type>Fee for room cleaning</type>
435                         <type>Deposit returned; fee refund</type>
436                         <type>Sale items</type>
437                         <type>Fee for lost card</type>
438                         <type>Long overdue items</type>
439                         <type>Lost/Replacement Cassette</type>
440                         <type>Returned Check</type>
441                     </billing_types>
442                 </app_settings>
443             </open-ils.circ>
444
445             <open-ils.ingest>
446                 <keepalive>3</keepalive>
447                 <stateless>1</stateless>
448                 <implementation>OpenILS::Application::Ingest</implementation>
449                 <language>perl</language>
450                 <max_requests>1000000</max_requests>
451                 <unix_config>
452                     <max_requests>1000000</max_requests>
453                     <unix_log>open-ils.ingest-unix.log</unix_log>
454                     <unix_sock>open-ils.ingest-unix.sock</unix_sock>
455                     <unix_pid>open-ils.ingest-unix.pid</unix_pid>
456                     <min_children>5</min_children>
457                     <max_children>20</max_children>
458                     <min_spare_children>2</min_spare_children>
459                     <max_spare_children>5</max_spare_children>
460                 </unix_config>
461                 <app_settings>
462                     <script_path>/openils/var/catalog/</script_path>
463                     <script_path>/openils/var/web/opac/common/js/</script_path>
464                     <scripts>
465                     <biblio_fingerprint>biblio_fingerprint.js</biblio_fingerprint>
466                     <biblio_descriptor>biblio_descriptor.js</biblio_descriptor>
467                     </scripts>
468                 </app_settings>
469             </open-ils.ingest>
470
471             <open-ils.storage>
472                 <keepalive>10</keepalive>
473                 <stateless>1</stateless>
474                 <language>perl</language>
475                 <implementation>OpenILS::Application::Storage</implementation>
476                 <unix_config>
477                     <max_requests>1000</max_requests>
478                     <unix_log>openils.storage_unix.log</unix_log>
479                     <unix_sock>openils.storage_unix.sock</unix_sock>
480                     <unix_pid>openils.storage_unix.pid</unix_pid>
481                     <min_children>1</min_children>
482                     <max_children>10</max_children>
483                     <min_spare_children>1</min_spare_children>
484                     <max_spare_children>5</max_spare_children>
485                 </unix_config>
486                 <app_settings>
487                     <script_path>/openils/var/catalog/</script_path>
488                     <scripts>
489                         <biblio_fingerprint>biblio_fingerprint.js</biblio_fingerprint>
490                     </scripts>
491                     <databases>
492                         <driver>Pg</driver>
493                         <database>
494                             <type>master</type>
495                             <weight>2</weight>
496                             <user>postgres</user>
497                             <host>localhost</host>
498                             <port>5432</port>
499                             <pw>postgres</pw>
500                             <db>evergreen</db>
501                             <client_encoding>UTF-8</client_encoding>
502                         </database>
503                     </databases>
504                 </app_settings>
505             </open-ils.storage>
506
507
508             <open-ils.cstore>
509                 <keepalive>6</keepalive>
510                 <stateless>1</stateless>
511                 <language>C</language>
512                 <implementation>oils_cstore.so</implementation>
513                 <max_requests>95</max_requests>
514                 <unix_config>
515                     <max_requests>400</max_requests>
516                     <min_children>1</min_children>
517                     <max_children>15</max_children>
518                     <min_spare_children>1</min_spare_children>
519                     <max_spare_children>5</max_spare_children>
520                 </unix_config>
521                 <app_settings>
522                     <max_query_recursion>100</max_query_recursion>
523                     <driver>pgsql</driver>
524                     <database>
525                         <type>master</type>
526                         <weight>2</weight>
527                         <user>postgres</user>
528                         <host>localhost</host>
529                         <port>5432</port>
530                         <pw>postgres</pw>
531                         <db>evergreen</db>
532                         <client_encoding>UTF-8</client_encoding>
533                     </database>
534                 </app_settings>
535             </open-ils.cstore>
536
537
538
539             <opensrf.settings>
540                 <keepalive>1</keepalive>
541                 <stateless>1</stateless>
542                 <language>perl</language>
543                 <implementation>OpenSRF::Application::Settings</implementation>
544                 <max_requests>17</max_requests>
545                 <unix_config>
546                     <unix_sock>opensrf.settings_unix.sock</unix_sock>
547                     <unix_pid>opensrf.settings_unix.pid</unix_pid>
548                     <max_requests>300</max_requests>
549                     <unix_log>opensrf.settings_unix.log</unix_log>
550                     <min_children>5</min_children>
551                     <max_children>15</max_children>
552                     <min_spare_children>3</min_spare_children>
553                     <max_spare_children>5</max_spare_children>
554                 </unix_config>
555             </opensrf.settings>
556
557             <open-ils.collections>
558                 <keepalive>3</keepalive>
559                 <stateless>1</stateless>
560                 <language>perl</language>
561                 <implementation>OpenILS::Application::Collections</implementation>
562                 <max_requests>17</max_requests>
563                 <unix_config>
564                     <unix_sock>openils.collections_unix.sock</unix_sock>
565                     <unix_pid>openils.collections_unix.pid</unix_pid>
566                     <max_requests>1000</max_requests>
567                     <unix_log>openils.collections_unix.log</unix_log>
568                     <min_children>1</min_children>
569                     <max_children>10</max_children>
570                     <min_spare_children>1</min_spare_children>
571                     <max_spare_children>5</max_spare_children>
572                 </unix_config>
573             </open-ils.collections>
574
575             <open-ils.reporter>
576                 <keepalive>3</keepalive>
577                 <stateless>1</stateless>
578                 <language>perl</language>
579                 <implementation>OpenILS::Application::Reporter</implementation>
580                 <max_requests>99</max_requests>
581                 <unix_config>
582                     <unix_sock>openils.reporter_unix.sock</unix_sock>
583                     <unix_pid>openils.reporter_unix.pid</unix_pid>
584                     <max_requests>1000</max_requests>
585                     <unix_log>openils.reporter_unix.log</unix_log>
586                     <min_children>1</min_children>
587                     <max_children>10</max_children>
588                     <min_spare_children>1</min_spare_children>
589                     <max_spare_children>5</max_spare_children>
590                 </unix_config>
591             </open-ils.reporter>
592
593
594             <open-ils.reporter-store>
595                 <keepalive>6</keepalive>
596                 <stateless>1</stateless>
597                 <language>C</language>
598                 <implementation>oils_rstore.so</implementation>
599                 <max_requests>95</max_requests>
600                 <unix_config>
601                     <max_requests>400</max_requests>
602                     <min_children>1</min_children>
603                     <max_children>10</max_children>
604                     <min_spare_children>1</min_spare_children>
605                     <max_spare_children>5</max_spare_children>
606                 </unix_config>
607                 <app_settings>
608                     <driver>pgsql</driver>
609                     <database>
610                         <type>master</type>
611                         <weight>2</weight>
612                         <user>postgres</user>
613                         <host>localhost</host>
614                         <port>5432</port>
615                         <pw>postgres</pw>
616                         <db>evergreen</db>
617                         <client_encoding>UTF-8</client_encoding>
618                     </database>
619                 </app_settings>
620             </open-ils.reporter-store>
621
622
623         </apps>
624     </default>
625
626     <hosts>
627
628         <evergreen.example.org> 
629             <!-- ^-=- 
630                 must match the fully qualified domain name of the host.
631                 on Linux, this is usually the output of "hostname -f"
632                'localhost' won't work here
633             -->
634
635             <activeapps>
636                 <!-- services hosted on this machine -->
637                 <appname>opensrf.settings</appname> 
638                 <appname>opensrf.math</appname> 
639                 <appname>opensrf.dbmath</appname> 
640                 <appname>open-ils.cat</appname> 
641                 <appname>open-ils.supercat</appname> 
642                 <appname>open-ils.search</appname> 
643                 <appname>open-ils.circ</appname> 
644                 <appname>open-ils.actor</appname> 
645                 <appname>open-ils.auth</appname> 
646                 <appname>open-ils.storage</appname>  
647                 <appname>open-ils.penalty</appname>  
648                 <appname>open-ils.cstore</appname>  
649                 <appname>open-ils.collections</appname>  
650                 <appname>open-ils.ingest</appname>  
651                 <appname>open-ils.reporter</appname>  
652                 <appname>open-ils.reporter-store</appname>  
653             </activeapps>
654         </evergreen.example.org>
655     </hosts>
656
657 </opensrf>