2 DROP SCHEMA stats CASCADE;
3 DROP SCHEMA config CASCADE;
9 COMMENT ON SCHEMA config IS $$
11 * Copyright (C) 2005 Georgia Public Library Service
12 * Mike Rylander <mrylander@gmail.com>
14 * The config schema holds static configuration data for the
15 * Open-ILS installation.
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
32 CREATE TABLE config.bib_source (
33 id SERIAL PRIMARY KEY,
34 quality INT CHECK ( quality BETWEEN 0 AND 100 ),
35 source TEXT NOT NULL UNIQUE,
36 transcendant BOOL NOT NULL DEFAULT FALSE
38 COMMENT ON TABLE config.bib_source IS $$
40 * Copyright (C) 2005 Georgia Public Library Service
41 * Mike Rylander <mrylander@gmail.com>
43 * Valid sources of MARC records
45 * This is table is used to set up the relative "quality" of each
46 * MARC source, such as OCLC.
50 * This program is free software; you can redistribute it and/or
51 * modify it under the terms of the GNU General Public License
52 * as published by the Free Software Foundation; either version 2
53 * of the License, or (at your option) any later version.
55 * This program is distributed in the hope that it will be useful,
56 * but WITHOUT ANY WARRANTY; without even the implied warranty of
57 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
58 * GNU General Public License for more details.
63 INSERT INTO config.bib_source (quality, source) VALUES (90, 'OcLC');
64 INSERT INTO config.bib_source (quality, source) VALUES (10, 'System Local');
65 INSERT INTO config.bib_source (quality, source, transcendant) VALUES (1, 'Project Gutenberg', TRUE);
67 CREATE TABLE config.standing (
68 id SERIAL PRIMARY KEY,
69 value TEXT NOT NULL UNIQUE
71 COMMENT ON TABLE config.standing IS $$
73 * Copyright (C) 2005 Georgia Public Library Service
74 * Mike Rylander <mrylander@gmail.com>
78 * This table contains the values that can be applied to a patron
79 * by a staff member. These values should not be changed, other
80 * that for translation, as the ID column is currently a "magic
81 * number" in the source. :(
85 * This program is free software; you can redistribute it and/or
86 * modify it under the terms of the GNU General Public License
87 * as published by the Free Software Foundation; either version 2
88 * of the License, or (at your option) any later version.
90 * This program is distributed in the hope that it will be useful,
91 * but WITHOUT ANY WARRANTY; without even the implied warranty of
92 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
93 * GNU General Public License for more details.
97 INSERT INTO config.standing (value) VALUES ('Good');
98 INSERT INTO config.standing (value) VALUES ('Barred');
102 CREATE TABLE config.metabib_field (
103 id SERIAL PRIMARY KEY,
104 field_class TEXT NOT NULL CHECK (lower(field_class) IN ('title','author','subject','keyword','series')),
105 name TEXT NOT NULL UNIQUE,
108 COMMENT ON TABLE config.metabib_field IS $$
110 * Copyright (C) 2005 Georgia Public Library Service
111 * Mike Rylander <mrylander@gmail.com>
113 * XPath used for WoRMing
115 * This table contains the XPath used to chop up MODS into it's
116 * indexable parts. Each XPath entry is named and assigned to
117 * a "class" of either title, subject, author, keyword or series.
122 * This program is free software; you can redistribute it and/or
123 * modify it under the terms of the GNU General Public License
124 * as published by the Free Software Foundation; either version 2
125 * of the License, or (at your option) any later version.
127 * This program is distributed in the hope that it will be useful,
128 * but WITHOUT ANY WARRANTY; without even the implied warranty of
129 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
130 * GNU General Public License for more details.
135 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'series', 'seriestitle', $$//mods:mods/mods:relatedItem[@type="series"]/mods:titleInfo$$ );
136 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'abbreviated', $$//mods:mods/mods:titleInfo[mods:title and (@type='abreviated')]$$ );
137 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'translated', $$//mods:mods/mods:titleInfo[mods:title and (@type='translated')]$$ );
138 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'uniform', $$//mods:mods/mods:titleInfo[mods:title and (@type='uniform')]$$ );
139 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'proper', $$//mods:mods/mods:titleInfo[mods:title and not (@type)]$$ );
140 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'corporate', $$//mods:mods/mods:name[@type='corporate']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
141 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'personal', $$//mods:mods/mods:name[@type='personal']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
142 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'conference', $$//mods:mods/mods:name[@type='conference']/mods:namePart[../mods:role/mods:text[text()='creator']]$$ );
143 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'other', $$//mods:mods/mods:name[@type='personal']/mods:namePart[not(../mods:role)]$$ );
144 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'geographic', $$//mods:mods/mods:subject/mods:geographic$$ );
145 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'name', $$//mods:mods/mods:subject/mods:name$$ );
146 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'temporal', $$//mods:mods/mods:subject/mods:temporal$$ );
147 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'topic', $$//mods:mods/mods:subject/mods:topic$$ );
148 -- INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'genre', $$//mods:mods/mods:genre$$ );
149 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'keyword', 'keyword', $$//mods:mods/*[not(local-name()='originInfo')]$$ ); -- /* to fool vim */
151 CREATE TABLE config.non_cataloged_type (
152 id SERIAL PRIMARY KEY,
153 owning_lib INT NOT NULL, -- REFERENCES actor.org_unit (id),
154 name TEXT NOT NULL UNIQUE,
155 circ_duration INTERVAL NOT NULL DEFAULT '14 days'::INTERVAL
157 COMMENT ON TABLE config.non_cataloged_type IS $$
159 * Copyright (C) 2005 Georgia Public Library Service
160 * Mike Rylander <mrylander@gmail.com>
162 * Types of valid non-cataloged items.
167 * This program is free software; you can redistribute it and/or
168 * modify it under the terms of the GNU General Public License
169 * as published by the Free Software Foundation; either version 2
170 * of the License, or (at your option) any later version.
172 * This program is distributed in the hope that it will be useful,
173 * but WITHOUT ANY WARRANTY; without even the implied warranty of
174 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
175 * GNU General Public License for more details.
180 INSERT INTO config.non_cataloged_type ( owning_lib, name ) VALUES ( 1, 'Paperback Book' );
182 CREATE TABLE config.identification_type (
183 id SERIAL PRIMARY KEY,
184 name TEXT NOT NULL UNIQUE
186 COMMENT ON TABLE config.identification_type IS $$
188 * Copyright (C) 2005 Georgia Public Library Service
189 * Mike Rylander <mrylander@gmail.com>
191 * Types of valid patron identification.
193 * Each patron must display at least one valid form of identification
194 * in order to get a library card. This table lists those forms.
199 * This program is free software; you can redistribute it and/or
200 * modify it under the terms of the GNU General Public License
201 * as published by the Free Software Foundation; either version 2
202 * of the License, or (at your option) any later version.
204 * This program is distributed in the hope that it will be useful,
205 * but WITHOUT ANY WARRANTY; without even the implied warranty of
206 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
207 * GNU General Public License for more details.
212 INSERT INTO config.identification_type ( name ) VALUES ( 'Drivers Licence' );
213 INSERT INTO config.identification_type ( name ) VALUES ( 'Voter Card' );
214 INSERT INTO config.identification_type ( name ) VALUES ( 'Two Utility Bills' );
215 INSERT INTO config.identification_type ( name ) VALUES ( 'State ID' );
216 INSERT INTO config.identification_type ( name ) VALUES ( 'SSN' );
218 CREATE TABLE config.rule_circ_duration (
219 id SERIAL PRIMARY KEY,
220 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
221 extended INTERVAL NOT NULL,
222 normal INTERVAL NOT NULL,
223 shrt INTERVAL NOT NULL,
224 max_renewals INT NOT NULL
226 COMMENT ON TABLE config.rule_circ_duration IS $$
228 * Copyright (C) 2005 Georgia Public Library Service
229 * Mike Rylander <mrylander@gmail.com>
231 * Circulation Duration rules
233 * Each circulation is given a duration based on one of these rules.
238 * This program is free software; you can redistribute it and/or
239 * modify it under the terms of the GNU General Public License
240 * as published by the Free Software Foundation; either version 2
241 * of the License, or (at your option) any later version.
243 * This program is distributed in the hope that it will be useful,
244 * but WITHOUT ANY WARRANTY; without even the implied warranty of
245 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
246 * GNU General Public License for more details.
250 INSERT INTO config.rule_circ_duration VALUES (DEFAULT, '2wk_default', '21 days', '14 days', '7 days', 2);
253 CREATE TABLE config.rule_max_fine (
254 id SERIAL PRIMARY KEY,
255 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
256 amount NUMERIC(6,2) NOT NULL
258 COMMENT ON TABLE config.rule_max_fine IS $$
260 * Copyright (C) 2005 Georgia Public Library Service
261 * Mike Rylander <mrylander@gmail.com>
263 * Circulation Max Fine rules
265 * Each circulation is given a maximum fine based on one of
271 * This program is free software; you can redistribute it and/or
272 * modify it under the terms of the GNU General Public License
273 * as published by the Free Software Foundation; either version 2
274 * of the License, or (at your option) any later version.
276 * This program is distributed in the hope that it will be useful,
277 * but WITHOUT ANY WARRANTY; without even the implied warranty of
278 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
279 * GNU General Public License for more details.
283 INSERT INTO config.rule_max_fine VALUES (DEFAULT, 'books', 50.00);
286 CREATE TABLE config.rule_recuring_fine (
287 id SERIAL PRIMARY KEY,
288 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
289 high NUMERIC(6,2) NOT NULL,
290 normal NUMERIC(6,2) NOT NULL,
291 low NUMERIC(6,2) NOT NULL,
292 recurance_interval INTERVAL NOT NULL DEFAULT '1 day'::INTERVAL
294 COMMENT ON TABLE config.rule_recuring_fine IS $$
296 * Copyright (C) 2005 Georgia Public Library Service
297 * Mike Rylander <mrylander@gmail.com>
299 * Circulation Recuring Fine rules
301 * Each circulation is given a recuring fine amount based on one of
302 * these rules. The recurance_interval should not be any shorter
303 * than the interval between runs of the fine_processor.pl script
304 * (which is run from CRON), or you could miss fines.
309 * This program is free software; you can redistribute it and/or
310 * modify it under the terms of the GNU General Public License
311 * as published by the Free Software Foundation; either version 2
312 * of the License, or (at your option) any later version.
314 * This program is distributed in the hope that it will be useful,
315 * but WITHOUT ANY WARRANTY; without even the implied warranty of
316 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
317 * GNU General Public License for more details.
321 INSERT INTO config.rule_recuring_fine VALUES (1, 'books', 0.50, 0.10, 0.10, '1 day');
324 CREATE TABLE config.rule_age_hold_protect (
325 id SERIAL PRIMARY KEY,
326 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
327 age INTERVAL NOT NULL,
330 COMMENT ON TABLE config.rule_age_hold_protect IS $$
332 * Copyright (C) 2005 Georgia Public Library Service
333 * Mike Rylander <mrylander@gmail.com>
335 * Hold Item Age Protection rules
337 * A hold request can only capture new(ish) items when they are
338 * within a particular proximity of the home_ou of the requesting
339 * user. The proximity ('prox' column) is calculated by counting
340 * the number of tree edges beween the user's home_ou and the owning_lib
341 * of the copy that could fulfill the hold.
346 * This program is free software; you can redistribute it and/or
347 * modify it under the terms of the GNU General Public License
348 * as published by the Free Software Foundation; either version 2
349 * of the License, or (at your option) any later version.
351 * This program is distributed in the hope that it will be useful,
352 * but WITHOUT ANY WARRANTY; without even the implied warranty of
353 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
354 * GNU General Public License for more details.
358 INSERT INTO config.rule_age_hold_protect VALUES (DEFAULT, '3month', '3 mons', 0);
359 INSERT INTO config.rule_age_hold_protect VALUES (DEFAULT, '6month', '6 mons', 2);
362 CREATE TABLE config.copy_status (
363 id SERIAL PRIMARY KEY,
364 name TEXT NOT NULL UNIQUE,
365 holdable BOOL NOT NULL DEFAULT FALSE
367 COMMENT ON TABLE config.copy_status IS $$
369 * Copyright (C) 2005 Georgia Public Library Service
370 * Mike Rylander <mrylander@gmail.com>
374 * The available copy statuses, and whether a copy in that
375 * status is available for hold request capture. 0 (zero) is
376 * the only special number in this set, meaning that the item
377 * is available for imediate checkout, and is counted as available
380 * Statuses with an ID below 100 are not removable, and have special
381 * meaning in the code. Do not change them except to translate the
384 * You may add and remove statuses above 100, and these can be used
385 * to remove items from normal circulation without affecting the rest
386 * of the copy's values or it's location.
390 * This program is free software; you can redistribute it and/or
391 * modify it under the terms of the GNU General Public License
392 * as published by the Free Software Foundation; either version 2
393 * of the License, or (at your option) any later version.
395 * This program is distributed in the hope that it will be useful,
396 * but WITHOUT ANY WARRANTY; without even the implied warranty of
397 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
398 * GNU General Public License for more details.
402 INSERT INTO config.copy_status (id,name,holdable) VALUES (0,'Available','t');
403 INSERT INTO config.copy_status (name,holdable) VALUES ('Checked out','t');
404 INSERT INTO config.copy_status (name) VALUES ('Bindery');
405 INSERT INTO config.copy_status (name) VALUES ('Lost');
406 INSERT INTO config.copy_status (name) VALUES ('Missing');
407 INSERT INTO config.copy_status (name,holdable) VALUES ('In process','t');
408 INSERT INTO config.copy_status (name,holdable) VALUES ('In transit','t');
409 INSERT INTO config.copy_status (name,holdable) VALUES ('Reshelving','t');
410 INSERT INTO config.copy_status (name) VALUES ('On holds shelf');
411 INSERT INTO config.copy_status (name,holdable) VALUES ('On order','t');
412 INSERT INTO config.copy_status (name) VALUES ('ILL');
413 INSERT INTO config.copy_status (name) VALUES ('Cataloging');
414 INSERT INTO config.copy_status (name) VALUES ('Reserves');
415 INSERT INTO config.copy_status (name) VALUES ('Discard/Weed');
417 SELECT SETVAL('config.copy_status_id_seq'::TEXT, 100);
420 CREATE TABLE config.net_access_level (
421 id SERIAL PRIMARY KEY,
422 name TEXT NOT NULL UNIQUE
424 COMMENT ON TABLE config.net_access_level IS $$
426 * Copyright (C) 2005 Georgia Public Library Service
427 * Mike Rylander <mrylander@gmail.com>
429 * Patron Network Access level
431 * This will be used to inform the in-library firewall of how much
432 * internet access the using patron should be allowed.
436 * This program is free software; you can redistribute it and/or
437 * modify it under the terms of the GNU General Public License
438 * as published by the Free Software Foundation; either version 2
439 * of the License, or (at your option) any later version.
441 * This program is distributed in the hope that it will be useful,
442 * but WITHOUT ANY WARRANTY; without even the implied warranty of
443 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
444 * GNU General Public License for more details.
448 INSERT INTO config.net_access_level (name) VALUES ('Restricted');
449 INSERT INTO config.net_access_level (name) VALUES ('Full');
450 INSERT INTO config.net_access_level (name) VALUES ('None');
452 CREATE TABLE config.audience_map (
453 code "char" PRIMARY KEY,
458 COPY config.audience_map FROM STDIN;
459 Unknown or unspecified The target audience for the item not known or not specified.
460 a Preschool The item is intended for children, approximate ages 0-5 years.
461 b Primary The item is intended for children, approximate ages 6-8 years.
462 c Pre-adolescent The item is intended for young people, approximate ages 9-13 years.
463 d Adolescent The item is intended for young people, approximate ages 14-17 years.
464 e Adult The item is intended for adults.
465 f Specialized The item is aimed at a particular audience and the nature of the presentation makes the item of little interest to another audience.
466 g General The item is of general interest and not aimed at an audience of a particular intellectual level.
467 j Juvenile The item is intended for children and young people, approximate ages 0-15 years.
471 CREATE TABLE config.lit_form_map (
472 code "char" PRIMARY KEY,
477 COPY config.lit_form_map FROM STDIN;
478 0 Not fiction (not further specified) The item is not a work of fiction and no further identification of the literary form is desired
479 1 Fiction (not further specified) The item is a work of fiction and no further identification of the literary form is desired
484 h Humor, satires, etc. The item is a humorous work, satire or of similar literary form.
485 i Letters The item is a single letter or collection of correspondence.
486 j Short stories The item is a short story or collection of short stories.
487 m Mixed forms The item is a variety of literary forms (e.g., poetry and short stories).
488 p Poetry The item is a poem or collection of poems.
489 s Speeches The item is a speech or collection of speeches.
490 u Unknown The literary form of the item is unknown.
493 CREATE TABLE config.language_map (
494 code TEXT PRIMARY KEY,
498 COPY config.language_map FROM STDIN;
505 afa Afroasiatic (Other)
506 afh Afrihili (Artificial language)
513 alg Algonquian (Other)
515 ang English, Old (ca. 450-1100)
519 arg Aragonese Spanish
523 art Artificial (Other)
527 ath Athapascan (Other)
528 aus Australian languages
535 bai Bamileke languages
564 cai Central American Indian (Other)
568 cau Caucasian (Other)
589 cpe Creoles and Pidgins, English-based (Other)
590 cpf Creoles and Pidgins, French-based (Other)
591 cpp Creoles and Pidgins, Portuguese-based (Other)
594 crp Creoles and Pidgins (Other)
607 dra Dravidian (Other)
609 dum Dutch, Middle (ca. 1050-1350)
618 enm English, Middle (1100-1500)
620 -esk Eskimo languages
632 fiu Finno-Ugrian (Other)
636 frm French, Middle (ca. 1400-1600)
637 fro French, Old (ca. 842-1400)
656 gmh German, Middle High (ca. 1050-1500)
657 goh German, Old High (ca. 750-1050)
662 grc Greek, Ancient (to 1453)
663 gre Greek, Modern (1453- )
669 hat Haitian French Creole
691 ina Interlingua (International Auxiliary Language Association)
694 ine Indo-European (Other)
696 -int Interlingua (International Auxiliary Language Association)
700 iro Iroquoian (Other)
742 -lan Occitan (post-1500)
759 luo Luo (Kenya and Tanzania)
770 map Austronesian (Other)
777 mga Irish, Middle (ca. 1100-1550)
780 mis Miscellaneous languages
781 mkh Mon-Khmer (Other)
792 mul Multiple languages
798 nai North American Indian (Other)
799 nap Neapolitan Italian
802 nbl Ndebele (South Africa)
803 nde Ndebele (Zimbabwe)
809 nic Niger-Kordofanian (Other)
811 nno Norwegian (Nynorsk)
812 nob Norwegian (Bokmål)
823 oci Occitan (post-1500)
830 oto Otomian languages
838 peo Old Persian (ca. 600-400 B.C.)
840 phi Philippine (Other)
846 pra Prakrit languages
847 pro Provençal (to 1500)
860 sag Sango (Ubangi Creole)
862 sai South American Indian (Other)
863 sal Salishan languages
864 sam Samaritan Aramaic
874 sga Irish, Old (to 1100)
881 sit Sino-Tibetan (Other)
903 ssa Nilo-Saharan (Other)
964 wak Wakashan languages
969 wen Sorbian languages
987 CREATE TABLE config.item_form_map (
988 code TEXT PRIMARY KEY,
992 COPY config.item_form_map FROM STDIN;
998 r Regular print reproduction
1002 CREATE TABLE config.item_type_map (
1003 code TEXT PRIMARY KEY,
1007 COPY config.item_type_map FROM STDIN;
1009 t Manuscript language material
1011 k Two-dimensional nonprojectable graphic
1012 r Three-dimensional artifact or naturally occurring object
1015 e Cartographic material
1016 f Manuscript cartographic material
1018 d Manuscript notated music
1019 i Nonmusical sound recording
1020 j Musical sound recording