Commit graph

13 commits

Author SHA1 Message Date
Julian Maurice
3b0d4e04e0 Bug 6440: Implement OAI-PMH Sets
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
2012-03-20 11:38:26 +01:00
Colin Campbell
263dded818 Bug 6752: Be stricter with utf-8 encoding of output
use encoding(UTF-8) rather than utf-8 for stricter
encoding
Marking output as ':utf8' only flags the data as utf8
using :encoding(UTF-8) also checks it as valid utf-8
see binmode in perlfunc for more details
In accordance with the robustness principle input
filehandles have not been changed as code may make
the undocumented assumption that invalid utf-8 is present
in the imput
Fixes errors reported by t/00-testcritic.t
Where feasable some filehandles have been made lexical rather than
reusing global filehandle vars

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-27 12:11:06 +01:00
46041a8fdc bug 4903: enable OAI-DC output when install done in standard mode
Based on patch by Tomás Cohen Arazi <tomascohen@gmail.com>,
revised to work regardless of the installation mode.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-07 21:38:53 +12:00
821cfebad6 OAI server fixes
- Add preference OAI-PMH:ConfFile. I just add it in web-services.pref
  and not in DB. It's enough. It's not an end-user preference. Without
  this pref, OAI server operates as previously. And preferences editor
  allow to add a new value to the DB if necessary.
- Fix response to ListMetadataFormats which was empty in extended mode.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-18 09:45:26 -05:00
419e307f49 bug 4151: replace dep on YAML::XS with YAML::Syck
YAML::Syck is also fast, and dropped YAML::XS means
we don't have to add a formal dependency on it.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-17 05:04:02 -05:00
Nahuel ANGELINETTI
e905106642 (bug #4195) fix OAI repository
this fix the OAI repository, to don't return resumptionToken if there is no more record.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-17 04:52:53 -05:00
80e8602ba1 Extend Koha OAI Server to support other metadata formats
Currently Koha OAI server returns records in two formats: marcxml and
oai_dc (Dublin Core). This patch adds a new mode of operation where as
many as necessary metadata formats can be added via XSLT.

Documentation: See the end of oai.pl file to have an explanation of
how it works.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-01-26 15:12:40 -05:00
Galen Charlton
1428ebed51 bug 3205: fix another error in the OAI-PMH Identify response
The optional description element of an Identify response
can't just be a string.  Identify.description is a container
for one or more elements; see http://www.openarchives.org/OAI/2.0/guidelines.htm

For now, simply commenting it out.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-08 11:59:03 -05:00
dfaa238186 Bugfix 3205 - Fix OAI server resonse to Identify request
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-05-08 11:23:34 -05:00
Galen Charlton
1e6b61cdb1 changed OAI-PMH implementation
Replaced older OAI-PMH server implementation
with new one by Frédéric Demians.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-24 14:01:21 -05:00
Galen Charlton
d4edef97c9 bug 2659: fix crash in OAI-PMH interface
When retrieving a record via the OAI-PMH interface, if one of the fields used
to prepare the DC metadata is not defined in the MARC framework (e.g.,
biblioitems.publicationyear in the default MARC21 framework), an OAI GetRecord
can fail with the following error:

> Can't call method "as_string" on an undefined value at
> /usr/share/koha/opac/cgi-bin/opac/oai.pl line 59.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2008-10-16 14:47:13 -05:00
Philippe Jaillon
4022ca8dd2 OAI package handle correctly unicode content
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-02 12:25:32 -05:00
Paul POULAIN
90b69c9e40 OAI-PMH second try
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-27 09:02:20 -06:00