Bug 17785: Fix OAI-PMH's XSLT-generated URLs under Plack
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tue, 20 Dec 2016 15:11:36 +0000 (16:11 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Wed, 28 Dec 2016 13:36:14 +0000 (13:36 +0000)
commit1b492938e4eee4d1babe26417cfbf69cede2b844
tree2334032328fe31eb9f4aaf47bbae0379ebec6275
parent2c67648093b9e7479b1dd1135c80ada2d46aee7c
Bug 17785: Fix OAI-PMH's XSLT-generated URLs under Plack

Look at e.g. the URL for Show More at the end of the output of Records or
Identifiers. If you use Plack, you will see that it refers to
yourserver:/opac/oai.pl, which is not correct.

This is caused by using CGI's self_url in combination with script alias,
mounting point, etc. Note that we cannot solve this problem in the code of
Koha only. Since HTTP::OAI modules also call self_url, we still end up
with some wrong url's.

Instead of a larger architectural operation on Apache and Plack config files,
this patch adjusts the final xslt transformation on the OAI response.
It hardcodes the correct path only once, in a xslt variable. And replaces
all oai:OAI-PMH/oai:request/text() calls, containing wrong URLs, by this
variable.

Test plan:
Run oai.pl. Try the various verbs.
Verify that the URLs point to /cgi-bin/koha/oai.pl.

Edit: changed commit subject

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Works as expected. Good workaround until a definitive solution is implemented.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
koha-tmpl/opac-tmpl/xslt/OAI.xslt