Main Koha release repository https://koha-community.org
Find a file
Nick Clemens c71468537b
Bug 33270: Attempt to recover from invalid metadata exception
This patch uses the new record_strip_nonxml routine to attempt to display
the record when it contains invalid characters

Rather than silently strippg these, we warn in the logs, then add an 'about'
container to the response. It is displayed nicely in the web view or sent as "INVALID_METADATA" in
the xml response

The 'error' codes for OAI seem to be at the request level, and the offered codes don't have a match
for a bad record. Adding the about when we can recover seems the most generous response

To test:
Test plan, assumes using KTD default data - otherwise you need to find and import a record with encoding issues:
 1 - Enable OAI-PMH system preference
 2 - Browse to:
    http://localhost:8080/cgi-bin/koha/oai.pl?verb=ListRecords&resumptionToken=marcxml/350////0/0/352
 3 - 500 error:
    Invalid data, cannot decode metadata object (biblio_metadata.id=368, biblionumber=369, format=marcxml, schema=MARC21, decoding_error=':8: parser error : PCDATA invalid Char value 31...
 4 - Apply patch, restart all
 5 - Reload the page
 6 - It loads!
 7 - Click 'Metadata' for record 369 - it succeeds!
 8 - Check the logs - confirm you see a warning of the record problem
 9 - Confirm 369 has an about section
10 - Check the individul 'GetRecord' response as well
    http://localhost:8080/cgi-bin/koha/oai.pl?verb=GetRecord&metadataPrefix=oai_dc&identifier=KOHA-OAI-TEST:369

Signed-off-by: Sam Lau <samalau@gmail.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-07-18 12:46:57 -03:00
acqui Bug 34022: Adjust items data structure 2023-06-23 09:46:45 -03:00
admin Bug 34261: Add missing argument to show_account 2023-07-14 15:23:16 -03:00
api Bug 30979: Fix xt/api.t 2023-07-14 16:52:02 -03:00
authorities Bug 33803: Remove comment about tab width 2023-06-06 09:58:47 -03:00
basket Bug 33223: Replace 'first_valid' with 'notice' for email addresses 2023-05-16 15:17:35 -03:00
bin Bug 20582: Turn Koha into a Mojolicious application 2020-10-06 12:00:04 +02:00
C4 Bug 33043: Use process_tt in SIP modules 2023-07-18 12:46:56 -03:00
catalogue Bug 33047: Return 404 instead of 500 when biblio does not exist 2023-07-10 15:43:14 -03:00
cataloguing Bug 34288: Allow access to the cataloguing module with tools permission 2023-07-18 12:46:53 -03:00
circ Bug 34094: Use DefaultPatronSearchMethod consistently 2023-07-03 14:51:37 -03:00
clubs Bug 25079: Show club enrollment question answers in staff client 2023-06-23 11:00:54 -03:00
course_reserves Bug 20256: Use new methods 2023-02-02 11:59:26 -03:00
debian Bug 33776: Additional default plugin repo in koha-conf-site.xml.in 2023-07-11 08:52:30 -03:00
docs Bug 33899: Add the 23.11 release team 2023-06-09 08:28:57 -03:00
erm Bug 32922: Remove space in shebang 2023-02-20 09:44:06 -03:00
errors Bug 29420: HTTP status code incorrect when calling error pages directly under Plack/PSGI 2022-04-20 09:03:39 -10:00
etc Bug 34101: Limit items types that can be checked out via SIP2 2023-07-05 12:17:23 -03:00
ill Bug 28909: Allow illview to use backend template 2022-08-09 13:21:39 -03:00
installer Bug 30979: DBRev 23.06.00.009 2023-07-14 12:14:49 -03:00
Koha Bug 33270: Attempt to recover from invalid metadata exception 2023-07-18 12:46:57 -03:00
koha-tmpl Bug 33270: Attempt to recover from invalid metadata exception 2023-07-18 12:46:57 -03:00
labels Bug 31633: (follow-up) Group template params 2022-10-03 14:09:59 -03:00
lib/CGI/Session/Serialize Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
members Bug 33271: Add collective owing message to moremember page 2023-07-03 14:51:41 -03:00
misc Bug 18855: Don't create duplicate overdue fines if an issue is returned 2023-07-06 10:08:44 -03:00
offline_circ Bug 33962: Remove background job from process koc 2023-06-15 08:48:06 -03:00
opac Bug 33956: Use Koha::Biblio->opac_summary_html from opac-user.pl 2023-07-13 15:19:39 -03:00
patron_lists Bug 16446: Add ability to add patrons to list by borrowernumber 2021-10-21 12:24:04 +02:00
patroncards Bug 24001: Fix patron card template edition 2022-04-28 10:49:20 -10:00
plugins Bug 30367: (follow-up) Same adjustment for gitlab 2023-05-05 10:18:57 -03:00
pos Bug 30619: Add email receipt to POS 2022-09-07 15:59:34 -07:00
recalls Bug 34013: Recalls awaiting pickup doesn't show count on each tab 2023-06-23 10:01:04 -03:00
reports Bug 29664: (QA follow-up) Typo transacton 2023-07-03 14:51:36 -03:00
reserve Bug 30860: Cache CanItemBeReserved return value 2023-06-23 10:01:07 -03:00
reviews Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
rotating_collections Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
serials Bug 33039: Add ability to specify a template for serial subscription "Published on (text)" field 2023-07-14 08:59:43 -03:00
services Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
skel
suggestion Bug 33236: Move NewSuggestion to Koha::Suggestion->store 2023-06-06 10:08:35 -03:00
svc Bug 33804: Use as_due_date to display due dates 2023-07-14 08:59:39 -03:00
t Bug 33270: Add record_strip_nonxml routine to Koha::Biblio::Metadata 2023-07-18 12:46:57 -03:00
tags Bug 30718: Use flatpickr's altInput 2022-08-19 08:26:31 -03:00
tools Bug 33667: Allow copying holidays to all libraries when editing 2023-07-06 10:08:45 -03:00
virtualshelves Bug 33223: Fix sendshelf 2023-05-16 15:17:36 -03:00
xt Bug 30002: Remove unused xt/perltidyrc 2023-06-08 08:32:40 -03:00
.editorconfig Bug 27375: Set YAML file settings in .editorconfig 2021-11-03 15:40:52 +01:00
.eslintrc.json
.gitignore Bug 33710: Ignore how-to related files 2023-05-12 17:50:01 -03:00
.htaccess
.mailmap Update .mailmap 2023-06-12 11:52:05 -03:00
.perlcriticrc Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
.perltidyrc Bug 30002: Adjust perltidy 2023-06-08 08:32:42 -03:00
.proverc.dist Bug 19821: Install sample data, ES mappings and Version syspref 2021-10-25 11:27:40 +02:00
.stylelintrc.json Bug 31528: (follow-up) A few additional rules 2022-10-03 08:23:15 -03:00
about.pl Bug 33934: Add more detail to 'No encryption_key in koha-conf.xml' 2023-06-07 15:25:18 -03:00
app.psgi Bug 20582: Fix PSGI file when behind a reverse proxy 2020-10-06 12:00:04 +02:00
build-resources.PL Bug 32609: Use the current yarn.lock to generate node_modules 2023-02-10 11:07:57 -03:00
changelanguage.pl Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
cpanfile Bug 32558: (QA follow-up) Move ForkManager to required 2023-03-07 11:03:32 -03:00
cypress.json Bug 33408: Extend defaultCommandTimeout for cypress 2023-04-13 11:48:00 -03:00
fix-perl-path.PL Bug 28606: Remove $DEBUG and $ENV{DEBUG} 2021-06-24 11:53:44 +02:00
gulpfile.js Bug 32978: Replace node-sass with dart-sass 2023-02-22 10:03:39 -03:00
help.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
INSTALL Bug 26617: Update INSTALL file to include koha-testing-docker and Gitlab links 2020-10-15 12:56:30 +02:00
Koha.pm Bug 30979: DBRev 23.06.00.009 2023-07-14 12:14:49 -03:00
koha_perl_deps.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
kohaversion.pl
LICENSE
mainpage.pl Bug 33133: Add fast cataloging to 'Cataloging' page 2023-03-27 12:50:07 +02:00
Makefile.PL Bug 26700: Remove occurrences in Makefile.PL 2023-06-14 09:22:00 -03:00
MANIFEST.SKIP
package.json Bug 33066: Introduce a KohaTable Vue component 2023-04-10 07:38:28 -03:00
README
README.md Bug 27092: Remove note about "synced repo" from README.md 2020-11-25 16:31:58 +01:00
README.robots
rewrite-config.PL Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-17 10:07:36 +02:00
tsconfig.json Bug 32030: Move cypress to t - fix build_js/watch_js 2022-11-08 09:44:52 -03:00
webpack.config.js Bug 32806: Move main-erm.ts to modules/erm.ts 2023-02-27 11:12:01 -03:00
yarn.lock Bug 33066: Introduce a KohaTable Vue component 2023-04-10 07:38:28 -03:00

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo