Summary: | Add links to full texts based on identifiers | ||
---|---|---|---|
Product: | Koha | Reporter: | Alexander Wagner <alexander.wagner> |
Component: | OPAC | Assignee: | Alexander Wagner <alexander.wagner> |
Status: | Needs Signoff --- | QA Contact: | Testopia <testopia> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | Igor.A.Sychev, lucas, m.de.rooy, roman.dolny |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=39852 https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=37995 |
||
GIT URL: | Change sponsored?: | --- | |
Patch complexity: | Small patch | Documentation contact: | |
Documentation submission: | Text to go in the release notes: | ||
Version(s) released in: | Circulation function: | ||
Attachments: |
Bug 38425: Add external links based on PIDs in 024
Unimarc 017 Bug 38425: Add external links based on PIDs in 024 Bug 38425: Add external links based on PIDs (UNIMARC) |
Description
Alexander Wagner
2024-11-12 14:00:18 UTC
Created attachment 174425 [details] [review] Bug 38425: Add external links based on PIDs in 024 Render some (common) identifiers field 024 as links to external resources by evaluating `$2` and using the appropriate resolver URL. Currently implemented values for `$2`: arXiv, doi, inspire, openlibrary, pmc, pmid. The patch includes adds the class `resource_list` to the intranet scss to be able to use the identical XSLT code as for the OPAC. Test plan: 1. Open intranet interface and edit any record 2. Add several 024 fields with the following subfield layout: - $2 doi $a 10.2147/CIA.S157877 - $2 pmid $a 29942120 - $2 pmc $a PMC6005330 - $2 arxiv: $a arxiv:2411.05889 - $2 inspire $a 2835154 - $2 openlibrary $a OL27448W (May be all or any combination. The values of $a would not matter, the above just gives valid links to the external system in question.) 3. Check intranet detail display of the record: nothing appears 4. Check OPAC detail display of the record: nothing appears 5. Apply the patch 3. Check intranet detail display of the record. It now gives a new line: External Resource(s): <here links to whatever was added in step 2) The ids are clickable and lead to the external system 4. Check OPAC detail display of the record: External Resource(s): <here links to whatever was added in step 2) The ids are clickable and lead to the external system Sponsored-by: Deutsches Elektronen-Synchrotron DESY, Library Good idea. Please add it also for UNIMARC. 017 in UNIMARC. @Igor as I don't know a thing about UNIMARC: Is 017 working the same way as `024 7_` in Marc? Any indicators that should be taken into account? How are the subfields to be used? Just the same? Created attachment 181900 [details]
Unimarc 017
Very similar, see attachment.
Created attachment 181974 [details] [review] Bug 38425: Add external links based on PIDs in 024 Render some (common) identifiers field 024 as links to external resources by evaluating `$2` and using the appropriate resolver URL. Currently implemented values for `$2`: arXiv, doi, inspire, openlibrary, pmc, pmid. The patch includes adds the class `resource_list` to the intranet scss to be able to use the identical XSLT code as for the OPAC. Test plan: 1. Open intranet interface and edit any record 2. Add several 024 fields with the following subfield layout: - $2 doi $a 10.2147/CIA.S157877 - $2 pmid $a 29942120 - $2 pmc $a PMC6005330 - $2 arxiv: $a arxiv:2411.05889 - $2 inspire $a 2835154 - $2 openlibrary $a OL27448W (May be all or any combination. The values of $a would not matter, the above just gives valid links to the external system in question.) 3. Check intranet detail display of the record: nothing appears 4. Check OPAC detail display of the record: nothing appears 5. Apply the patch 3. Check intranet detail display of the record. It now gives a new line: External Resource(s): <here links to whatever was added in step 2) The ids are clickable and lead to the external system 4. Check OPAC detail display of the record: External Resource(s): <here links to whatever was added in step 2) The ids are clickable and lead to the external system Sponsored-by: Deutsches Elektronen-Synchrotron DESY, Library Created attachment 181975 [details] [review] Bug 38425: Add external links based on PIDs (UNIMARC) Render some (common) identifiers field UNIMARC 017 as links to external resources by evaluating `$2` and using the appropriate resolver URL. Currently implemented values for `$2`: arXiv, doi, inspire, openlibrary, pmc, pmid. The patch includes adds the class `resource_list` to the intranet scss to be able to use the identical XSLT code as for the OPAC. Test plan: 1. Open intranet interface and edit any record 2. Add PIDs to your records. For Marc21 use `024 7_` for UNIMARC use `017 7_` with the following subfield layout: - $2 doi $a 10.2147/CIA.S157877 - $2 pmid $a 29942120 - $2 pmc $a PMC6005330 - $2 arxiv: $a arxiv:2411.05889 - $2 inspire $a 2835154 - $2 openlibrary $a OL27448W (May be all or any combination. The values of $a would not matter, the above just gives valid links to the external system in question.) 3. Check intranet detail display of the record: nothing appears 4. Check OPAC detail display of the record: nothing appears 5. Apply the patch 6. Check intranet detail display of the record. It now gives a new line: External Resource(s): <here links to whatever was added in step 2) The ids are clickable and lead to the external system 7. Check OPAC detail display of the record: External Resource(s): <here links to whatever was added in step 2) The ids are clickable and lead to the external system Sponsored-by: Deutsches Elektronen-Synchrotron DESY, Library *** Bug 39852 has been marked as a duplicate of this bug. *** There is also a suggestion in Bug 37995 (authority context, but similar to the application here) to avoid hard-coded names/identifiers/uri and introduce system preferences to make it more configurable and maintainable for libraries. I agree that a procedure that basically uses a hash of the form { id -> resolver } would be more convenient. This is how I did it in our old system. However I am not (yet) aware of how to do this in Koha given the XSLT required. I'd need a helping hand here and happily recode. IOW how do I access a system pref, that should actually also be a structured variable, from XSLT? Is there some sample where something along those lines is already done? Wrt Bug 37995 I think we could even share the same hash for id -> resolver for both authorities and bibliographics. IMHO the orcid resolver would live happily along the doi resolver eg. and they wouldn't hurt each other. |