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,
107 weight INT NOT NULL DEFUALT 1,
109 COMMENT ON TABLE config.metabib_field IS $$
111 * Copyright (C) 2005 Georgia Public Library Service
112 * Mike Rylander <mrylander@gmail.com>
114 * XPath used for WoRMing
116 * This table contains the XPath used to chop up MODS into it's
117 * indexable parts. Each XPath entry is named and assigned to
118 * a "class" of either title, subject, author, keyword or series.
123 * This program is free software; you can redistribute it and/or
124 * modify it under the terms of the GNU General Public License
125 * as published by the Free Software Foundation; either version 2
126 * of the License, or (at your option) any later version.
128 * This program is distributed in the hope that it will be useful,
129 * but WITHOUT ANY WARRANTY; without even the implied warranty of
130 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
131 * GNU General Public License for more details.
136 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'series', 'seriestitle', $$//mods:mods/mods:relatedItem[@type="series"]/mods:titleInfo$$ );
137 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'abbreviated', $$//mods:mods/mods:titleInfo[mods:title and (@type='abreviated')]$$ );
138 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'translated', $$//mods:mods/mods:titleInfo[mods:title and (@type='translated')]$$ );
139 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'uniform', $$//mods:mods/mods:titleInfo[mods:title and (@type='uniform')]$$ );
140 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'title', 'proper', $$//mods:mods/mods:titleInfo[mods:title and not (@type)]$$ );
141 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']]$$ );
142 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']]$$ );
143 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']]$$ );
144 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'author', 'other', $$//mods:mods/mods:name[@type='personal']/mods:namePart[not(../mods:role)]$$ );
145 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'geographic', $$//mods:mods/mods:subject/mods:geographic$$ );
146 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'name', $$//mods:mods/mods:subject/mods:name$$ );
147 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'temporal', $$//mods:mods/mods:subject/mods:temporal$$ );
148 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'topic', $$//mods:mods/mods:subject/mods:topic$$ );
149 -- INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'subject', 'genre', $$//mods:mods/mods:genre$$ );
150 INSERT INTO config.metabib_field ( field_class, name, xpath ) VALUES ( 'keyword', 'keyword', $$//mods:mods/*[not(local-name()='originInfo')]$$ ); -- /* to fool vim */
152 CREATE TABLE config.non_cataloged_type (
153 id SERIAL PRIMARY KEY,
154 owning_lib INT NOT NULL, -- REFERENCES actor.org_unit (id),
155 name TEXT NOT NULL UNIQUE,
156 circ_duration INTERVAL NOT NULL DEFAULT '14 days'::INTERVAL,
157 in_house BOOL NOT NULL DEFAULT FALSE
159 COMMENT ON TABLE config.non_cataloged_type IS $$
161 * Copyright (C) 2005 Georgia Public Library Service
162 * Mike Rylander <mrylander@gmail.com>
164 * Types of valid non-cataloged items.
169 * This program is free software; you can redistribute it and/or
170 * modify it under the terms of the GNU General Public License
171 * as published by the Free Software Foundation; either version 2
172 * of the License, or (at your option) any later version.
174 * This program is distributed in the hope that it will be useful,
175 * but WITHOUT ANY WARRANTY; without even the implied warranty of
176 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
177 * GNU General Public License for more details.
182 INSERT INTO config.non_cataloged_type ( owning_lib, name ) VALUES ( 1, 'Paperback Book' );
184 CREATE TABLE config.identification_type (
185 id SERIAL PRIMARY KEY,
186 name TEXT NOT NULL UNIQUE
188 COMMENT ON TABLE config.identification_type IS $$
190 * Copyright (C) 2005 Georgia Public Library Service
191 * Mike Rylander <mrylander@gmail.com>
193 * Types of valid patron identification.
195 * Each patron must display at least one valid form of identification
196 * in order to get a library card. This table lists those forms.
201 * This program is free software; you can redistribute it and/or
202 * modify it under the terms of the GNU General Public License
203 * as published by the Free Software Foundation; either version 2
204 * of the License, or (at your option) any later version.
206 * This program is distributed in the hope that it will be useful,
207 * but WITHOUT ANY WARRANTY; without even the implied warranty of
208 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
209 * GNU General Public License for more details.
214 INSERT INTO config.identification_type ( name ) VALUES ( 'Drivers Licence' );
215 INSERT INTO config.identification_type ( name ) VALUES ( 'Voter Card' );
216 INSERT INTO config.identification_type ( name ) VALUES ( 'Two Utility Bills' );
217 INSERT INTO config.identification_type ( name ) VALUES ( 'State ID' );
218 INSERT INTO config.identification_type ( name ) VALUES ( 'SSN' );
220 CREATE TABLE config.rule_circ_duration (
221 id SERIAL PRIMARY KEY,
222 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
223 extended INTERVAL NOT NULL,
224 normal INTERVAL NOT NULL,
225 shrt INTERVAL NOT NULL,
226 max_renewals INT NOT NULL
228 COMMENT ON TABLE config.rule_circ_duration IS $$
230 * Copyright (C) 2005 Georgia Public Library Service
231 * Mike Rylander <mrylander@gmail.com>
233 * Circulation Duration rules
235 * Each circulation is given a duration based on one of these rules.
240 * This program is free software; you can redistribute it and/or
241 * modify it under the terms of the GNU General Public License
242 * as published by the Free Software Foundation; either version 2
243 * of the License, or (at your option) any later version.
245 * This program is distributed in the hope that it will be useful,
246 * but WITHOUT ANY WARRANTY; without even the implied warranty of
247 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
248 * GNU General Public License for more details.
252 INSERT INTO config.rule_circ_duration VALUES (DEFAULT, '2wk_default', '21 days', '14 days', '7 days', 2);
255 CREATE TABLE config.rule_max_fine (
256 id SERIAL PRIMARY KEY,
257 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
258 amount NUMERIC(6,2) NOT NULL
260 COMMENT ON TABLE config.rule_max_fine IS $$
262 * Copyright (C) 2005 Georgia Public Library Service
263 * Mike Rylander <mrylander@gmail.com>
265 * Circulation Max Fine rules
267 * Each circulation is given a maximum fine based on one of
273 * This program is free software; you can redistribute it and/or
274 * modify it under the terms of the GNU General Public License
275 * as published by the Free Software Foundation; either version 2
276 * of the License, or (at your option) any later version.
278 * This program is distributed in the hope that it will be useful,
279 * but WITHOUT ANY WARRANTY; without even the implied warranty of
280 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
281 * GNU General Public License for more details.
285 INSERT INTO config.rule_max_fine VALUES (DEFAULT, 'books', 50.00);
288 CREATE TABLE config.rule_recuring_fine (
289 id SERIAL PRIMARY KEY,
290 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
291 high NUMERIC(6,2) NOT NULL,
292 normal NUMERIC(6,2) NOT NULL,
293 low NUMERIC(6,2) NOT NULL,
294 recurance_interval INTERVAL NOT NULL DEFAULT '1 day'::INTERVAL
296 COMMENT ON TABLE config.rule_recuring_fine IS $$
298 * Copyright (C) 2005 Georgia Public Library Service
299 * Mike Rylander <mrylander@gmail.com>
301 * Circulation Recuring Fine rules
303 * Each circulation is given a recuring fine amount based on one of
304 * these rules. The recurance_interval should not be any shorter
305 * than the interval between runs of the fine_processor.pl script
306 * (which is run from CRON), or you could miss fines.
311 * This program is free software; you can redistribute it and/or
312 * modify it under the terms of the GNU General Public License
313 * as published by the Free Software Foundation; either version 2
314 * of the License, or (at your option) any later version.
316 * This program is distributed in the hope that it will be useful,
317 * but WITHOUT ANY WARRANTY; without even the implied warranty of
318 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
319 * GNU General Public License for more details.
323 INSERT INTO config.rule_recuring_fine VALUES (1, 'books', 0.50, 0.10, 0.10, '1 day');
326 CREATE TABLE config.rule_age_hold_protect (
327 id SERIAL PRIMARY KEY,
328 name TEXT NOT NULL UNIQUE CHECK ( name ~ '^\\w+$' ),
329 age INTERVAL NOT NULL,
332 COMMENT ON TABLE config.rule_age_hold_protect IS $$
334 * Copyright (C) 2005 Georgia Public Library Service
335 * Mike Rylander <mrylander@gmail.com>
337 * Hold Item Age Protection rules
339 * A hold request can only capture new(ish) items when they are
340 * within a particular proximity of the home_ou of the requesting
341 * user. The proximity ('prox' column) is calculated by counting
342 * the number of tree edges beween the user's home_ou and the owning_lib
343 * of the copy that could fulfill the hold.
348 * This program is free software; you can redistribute it and/or
349 * modify it under the terms of the GNU General Public License
350 * as published by the Free Software Foundation; either version 2
351 * of the License, or (at your option) any later version.
353 * This program is distributed in the hope that it will be useful,
354 * but WITHOUT ANY WARRANTY; without even the implied warranty of
355 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
356 * GNU General Public License for more details.
360 INSERT INTO config.rule_age_hold_protect VALUES (DEFAULT, '3month', '3 mons', 0);
361 INSERT INTO config.rule_age_hold_protect VALUES (DEFAULT, '6month', '6 mons', 2);
364 CREATE TABLE config.copy_status (
365 id SERIAL PRIMARY KEY,
366 name TEXT NOT NULL UNIQUE,
367 holdable BOOL NOT NULL DEFAULT FALSE
369 COMMENT ON TABLE config.copy_status IS $$
371 * Copyright (C) 2005 Georgia Public Library Service
372 * Mike Rylander <mrylander@gmail.com>
376 * The available copy statuses, and whether a copy in that
377 * status is available for hold request capture. 0 (zero) is
378 * the only special number in this set, meaning that the item
379 * is available for imediate checkout, and is counted as available
382 * Statuses with an ID below 100 are not removable, and have special
383 * meaning in the code. Do not change them except to translate the
386 * You may add and remove statuses above 100, and these can be used
387 * to remove items from normal circulation without affecting the rest
388 * of the copy's values or it's location.
392 * This program is free software; you can redistribute it and/or
393 * modify it under the terms of the GNU General Public License
394 * as published by the Free Software Foundation; either version 2
395 * of the License, or (at your option) any later version.
397 * This program is distributed in the hope that it will be useful,
398 * but WITHOUT ANY WARRANTY; without even the implied warranty of
399 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
400 * GNU General Public License for more details.
404 INSERT INTO config.copy_status (id,name,holdable) VALUES (0,'Available','t');
405 INSERT INTO config.copy_status (name,holdable) VALUES ('Checked out','t');
406 INSERT INTO config.copy_status (name) VALUES ('Bindery');
407 INSERT INTO config.copy_status (name) VALUES ('Lost');
408 INSERT INTO config.copy_status (name) VALUES ('Missing');
409 INSERT INTO config.copy_status (name,holdable) VALUES ('In process','t');
410 INSERT INTO config.copy_status (name,holdable) VALUES ('In transit','t');
411 INSERT INTO config.copy_status (name,holdable) VALUES ('Reshelving','t');
412 INSERT INTO config.copy_status (name) VALUES ('On holds shelf');
413 INSERT INTO config.copy_status (name,holdable) VALUES ('On order','t');
414 INSERT INTO config.copy_status (name) VALUES ('ILL');
415 INSERT INTO config.copy_status (name) VALUES ('Cataloging');
416 INSERT INTO config.copy_status (name) VALUES ('Reserves');
417 INSERT INTO config.copy_status (name) VALUES ('Discard/Weed');
419 SELECT SETVAL('config.copy_status_id_seq'::TEXT, 100);
422 CREATE TABLE config.net_access_level (
423 id SERIAL PRIMARY KEY,
424 name TEXT NOT NULL UNIQUE
426 COMMENT ON TABLE config.net_access_level IS $$
428 * Copyright (C) 2005 Georgia Public Library Service
429 * Mike Rylander <mrylander@gmail.com>
431 * Patron Network Access level
433 * This will be used to inform the in-library firewall of how much
434 * internet access the using patron should be allowed.
438 * This program is free software; you can redistribute it and/or
439 * modify it under the terms of the GNU General Public License
440 * as published by the Free Software Foundation; either version 2
441 * of the License, or (at your option) any later version.
443 * This program is distributed in the hope that it will be useful,
444 * but WITHOUT ANY WARRANTY; without even the implied warranty of
445 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
446 * GNU General Public License for more details.
450 INSERT INTO config.net_access_level (name) VALUES ('Restricted');
451 INSERT INTO config.net_access_level (name) VALUES ('Full');
452 INSERT INTO config.net_access_level (name) VALUES ('None');
454 CREATE TABLE config.audience_map (
455 code TEXT PRIMARY KEY,
460 COPY config.audience_map FROM STDIN;
461 Unknown or unspecified The target audience for the item not known or not specified.
462 a Preschool The item is intended for children, approximate ages 0-5 years.
463 b Primary The item is intended for children, approximate ages 6-8 years.
464 c Pre-adolescent The item is intended for young people, approximate ages 9-13 years.
465 d Adolescent The item is intended for young people, approximate ages 14-17 years.
466 e Adult The item is intended for adults.
467 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.
468 g General The item is of general interest and not aimed at an audience of a particular intellectual level.
469 j Juvenile The item is intended for children and young people, approximate ages 0-15 years.
473 CREATE TABLE config.lit_form_map (
474 code TEXT PRIMARY KEY,
479 COPY config.lit_form_map FROM STDIN;
480 0 Not fiction (not further specified) The item is not a work of fiction and no further identification of the literary form is desired
481 1 Fiction (not further specified) The item is a work of fiction and no further identification of the literary form is desired
486 h Humor, satires, etc. The item is a humorous work, satire or of similar literary form.
487 i Letters The item is a single letter or collection of correspondence.
488 j Short stories The item is a short story or collection of short stories.
489 m Mixed forms The item is a variety of literary forms (e.g., poetry and short stories).
490 p Poetry The item is a poem or collection of poems.
491 s Speeches The item is a speech or collection of speeches.
492 u Unknown The literary form of the item is unknown.
495 CREATE TABLE config.language_map (
496 code TEXT PRIMARY KEY,
500 COPY config.language_map FROM STDIN;
507 afa Afroasiatic (Other)
508 afh Afrihili (Artificial language)
515 alg Algonquian (Other)
517 ang English, Old (ca. 450-1100)
521 arg Aragonese Spanish
525 art Artificial (Other)
529 ath Athapascan (Other)
530 aus Australian languages
537 bai Bamileke languages
566 cai Central American Indian (Other)
570 cau Caucasian (Other)
591 cpe Creoles and Pidgins, English-based (Other)
592 cpf Creoles and Pidgins, French-based (Other)
593 cpp Creoles and Pidgins, Portuguese-based (Other)
596 crp Creoles and Pidgins (Other)
609 dra Dravidian (Other)
611 dum Dutch, Middle (ca. 1050-1350)
620 enm English, Middle (1100-1500)
622 -esk Eskimo languages
634 fiu Finno-Ugrian (Other)
638 frm French, Middle (ca. 1400-1600)
639 fro French, Old (ca. 842-1400)
658 gmh German, Middle High (ca. 1050-1500)
659 goh German, Old High (ca. 750-1050)
664 grc Greek, Ancient (to 1453)
665 gre Greek, Modern (1453- )
671 hat Haitian French Creole
693 ina Interlingua (International Auxiliary Language Association)
696 ine Indo-European (Other)
698 -int Interlingua (International Auxiliary Language Association)
702 iro Iroquoian (Other)
744 -lan Occitan (post-1500)
761 luo Luo (Kenya and Tanzania)
772 map Austronesian (Other)
779 mga Irish, Middle (ca. 1100-1550)
782 mis Miscellaneous languages
783 mkh Mon-Khmer (Other)
794 mul Multiple languages
800 nai North American Indian (Other)
801 nap Neapolitan Italian
804 nbl Ndebele (South Africa)
805 nde Ndebele (Zimbabwe)
811 nic Niger-Kordofanian (Other)
813 nno Norwegian (Nynorsk)
814 nob Norwegian (Bokmål)
825 oci Occitan (post-1500)
832 oto Otomian languages
840 peo Old Persian (ca. 600-400 B.C.)
842 phi Philippine (Other)
848 pra Prakrit languages
849 pro Provençal (to 1500)
862 sag Sango (Ubangi Creole)
864 sai South American Indian (Other)
865 sal Salishan languages
866 sam Samaritan Aramaic
876 sga Irish, Old (to 1100)
883 sit Sino-Tibetan (Other)
905 ssa Nilo-Saharan (Other)
966 wak Wakashan languages
971 wen Sorbian languages
989 CREATE TABLE config.item_form_map (
990 code TEXT PRIMARY KEY,
994 COPY config.item_form_map FROM STDIN;
1000 r Regular print reproduction
1004 CREATE TABLE config.item_type_map (
1005 code TEXT PRIMARY KEY,
1009 COPY config.item_type_map FROM STDIN;
1011 t Manuscript language material
1013 k Two-dimensional nonprojectable graphic
1014 r Three-dimensional artifact or naturally occurring object
1017 e Cartographic material
1018 f Manuscript cartographic material
1020 d Manuscript notated music
1021 i Nonmusical sound recording
1022 j Musical sound recording