C4::Biblio::GetMarcUrls will trim whitespace from URLs but opac/tracklinks.pl does not. This means that valid URLs with extra whitespace will fail validation when they should pass validation.
Created attachment 131534 [details] [review] Bug 30262: Trim whitespace off tracklinks.pl URLs This patch trims whitespace off tracklinks.pl URLs so that the URL is in the same format as the URLs returned by C4::Biblio::GetMarcUrls, which is used by tracklinks.pl internally. Test plan: 0. Apply patch and koha-plack --restart kohadev 1. Go to http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=29 2. Add a 856 with $u of 'https://koha-community.org ' (note the space at the end0 3. Save record 4. Change 'TrackClicks' syspref to 'Track' 5. Go to http://localhost:8080/cgi-bin/koha/opac-detail.pl?biblionumber=29 6. Click on the online resource (eg http://localhost:8080/cgi-bin/koha/tracklinks.pl?uri=https%3A%2F%2Fkoha-community.org%20&biblionumber=29 ) 7. Note you are redirected to https://koha-community.org
Created attachment 139815 [details] [review] Bug 30262: Trim whitespace off tracklinks.pl URLs This patch trims whitespace off tracklinks.pl URLs so that the URL is in the same format as the URLs returned by C4::Biblio::GetMarcUrls, which is used by tracklinks.pl internally. Test plan: 0. Apply patch and koha-plack --restart kohadev 1. Go to http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=29 2. Add a 856 with $u of 'https://koha-community.org ' (note the space at the end0 3. Save record 4. Change 'TrackClicks' syspref to 'Track' 5. Go to http://localhost:8080/cgi-bin/koha/opac-detail.pl?biblionumber=29 6. Click on the online resource (eg http://localhost:8080/cgi-bin/koha/tracklinks.pl?uri=https%3A%2F%2Fkoha-community.org%20&biblionumber=29 ) 7. Note you are redirected to https://koha-community.org
Created attachment 139817 [details] [review] Bug 30262: Trim whitespace off tracklinks.pl URLs This patch trims whitespace off tracklinks.pl URLs so that the URL is in the same format as the URLs returned by C4::Biblio::GetMarcUrls, which is used by tracklinks.pl internally. Test plan: 0. Apply patch and koha-plack --restart kohadev 1. Go to http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=29 2. Add a 856 with $u of 'https://koha-community.org ' (note the space at the end0 3. Save record 4. Change 'TrackClicks' syspref to 'Track' 5. Go to http://localhost:8080/cgi-bin/koha/opac-detail.pl?biblionumber=29 6. Click on the online resource (eg http://localhost:8080/cgi-bin/koha/tracklinks.pl?uri=https%3A%2F%2Fkoha-community.org%20&biblionumber=29 ) 7. Note you are redirected to https://koha-community.org Signed-off-by: Magnus Enger <magnus@libriotech.no> Added the link with a space at the end. Verified that without the patch, clickin on "Click here to access online" gives a 404. After applying the patch the redirect works as expected.
Created attachment 139909 [details] [review] Bug 30262: Trim whitespace off tracklinks.pl URLs This patch trims whitespace off tracklinks.pl URLs so that the URL is in the same format as the URLs returned by C4::Biblio::GetMarcUrls, which is used by tracklinks.pl internally. Test plan: 0. Apply patch and koha-plack --restart kohadev 1. Go to http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=29 2. Add a 856 with $u of 'https://koha-community.org ' (note the space at the end0 3. Save record 4. Change 'TrackClicks' syspref to 'Track' 5. Go to http://localhost:8080/cgi-bin/koha/opac-detail.pl?biblionumber=29 6. Click on the online resource (eg http://localhost:8080/cgi-bin/koha/tracklinks.pl?uri=https%3A%2F%2Fkoha-community.org%20&biblionumber=29 ) 7. Note you are redirected to https://koha-community.org Signed-off-by: Magnus Enger <magnus@libriotech.no> Added the link with a space at the end. Verified that without the patch, clickin on "Click here to access online" gives a 404. After applying the patch the redirect works as expected. Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Pushed to master for 22.11. Nice work everyone, thanks!
Backported to 22.05.x for upcoming 22.05.07 release
applied to 21.11.x for 21.11.14
Not backported to oldoldstable (21.05.x). Feel free to ask if it's needed. Nothing to document it seems, marking resolved.