3b0d4e04e0
New sql tables: - oai_sets: contains the list of sets, described by a spec and a name - oai_sets_descriptions: contains a list of descriptions for each set - oai_sets_mappings: conditions on marc fields to match for biblio to be in a set - oai_sets_biblios: list of biblionumbers for each set New admin page: allow to configure sets: - Creation, deletion, modification of spec, name and descriptions - Define mappings which will be used for building oai sets Implements OAI Sets in opac/oai.pl: - ListSets, ListIdentifiers, ListRecords, GetRecord New script misc/migration_tools/build_oai_sets.pl: - Retrieve marcxml from all biblios and test if they belong to defined sets. The oai_sets_biblios table is then updated accordingly New system preference OAI-PMH:AutoUpdateSets. If on, update sets automatically when a biblio is created or updated. Use OPACBaseURL in oai_dc xslt
35 lines
1.6 KiB
SQL
35 lines
1.6 KiB
SQL
DROP TABLE IF EXISTS `oai_sets_descriptions`;
|
|
DROP TABLE IF EXISTS `oai_sets_mappings`;
|
|
DROP TABLE IF EXISTS `oai_sets_biblios`;
|
|
DROP TABLE IF EXISTS `oai_sets`;
|
|
|
|
CREATE TABLE `oai_sets` (
|
|
`id` int(11) NOT NULL auto_increment,
|
|
`spec` varchar(80) NOT NULL UNIQUE,
|
|
`name` varchar(80) NOT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `oai_sets_descriptions` (
|
|
`set_id` int(11) NOT NULL,
|
|
`description` varchar(255) NOT NULL,
|
|
CONSTRAINT `oai_sets_descriptions_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `oai_sets_mappings` (
|
|
`set_id` int(11) NOT NULL,
|
|
`marcfield` char(3) NOT NULL,
|
|
`marcsubfield` char(1) NOT NULL,
|
|
`marcvalue` varchar(80) NOT NULL,
|
|
CONSTRAINT `oai_sets_mappings_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
CREATE TABLE `oai_sets_biblios` (
|
|
`biblionumber` int(11) NOT NULL,
|
|
`set_id` int(11) NOT NULL,
|
|
PRIMARY KEY (`biblionumber`, `set_id`),
|
|
CONSTRAINT `oai_sets_biblios_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `oai_sets_biblios_ibfk_2` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
|
|
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OAI-PMH:AutoUpdateSets','0','Automatically update OAI sets when a bibliographic record is created or updated','','YesNo');
|