Bug 29606

Summary: Include items from host record in XML for XSLT processing
Product: Koha Reporter: Julian Maurice <julian.maurice>
Component: SearchingAssignee: Julian Maurice <julian.maurice>
Status: Failed QA --- QA Contact: Testopia <testopia>
Severity: normal    
Priority: P5 - low CC: dcook, fridolin.somers, kyle
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28702
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32463
Change sponsored?: --- Patch complexity: Small patch
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Attachments: Bug 29606: Include items from host record in XML for XSLT processing
Bug 29606: Include items from host record in XML for XSLT processing

Description Julian Maurice 2021-12-01 08:01:55 UTC
If EasyAnalyticalRecords is enabled, items from host records should be included in the XML. Otherwise, OPAC search results show no items.
Comment 1 Julian Maurice 2021-12-01 08:02:27 UTC
Created attachment 128118 [details] [review]
Bug 29606: Include items from host record in XML for XSLT processing

If EasyAnalyticalRecords is enabled, items from host records should be
included in the XML. Otherwise, OPAC search results show no items.

Test plan:
0. Do not apply the patch yet
1. Enable syspref EasyAnalyticalRecords and set OPACXSLTResultsDisplay
   to 'default'
2. Create a biblio record with title "parent" and create an item with a
   barcode for this biblio
3. Create a biblio record with title "child" with no items. On the
   biblio detail page, in the toolbar, click "Edit -> Link to host
   record" and enter the barcode for the item you created at step 2
4. Duplicate this biblio record, to be sure you will have at least two
   results with the search "child" (and not be redirected to the detail
   page)
5. Make sure your search index (zebra or elasticsearch) is up to date
6. Go to OPAC and search "child".
   You should see two results, no items.
   Click on one of them. On the detail page you should see one item (the
   one from the host record)
7. Apply the patch
8. Go to OPAC and search "child".
   You should now see one item (the same item) for each result.
Comment 2 David Nind 2022-07-09 21:39:52 UTC
Created attachment 137450 [details] [review]
Bug 29606: Include items from host record in XML for XSLT processing

If EasyAnalyticalRecords is enabled, items from host records should be
included in the XML. Otherwise, OPAC search results show no items.

Test plan:
0. Do not apply the patch yet
1. Enable syspref EasyAnalyticalRecords and set OPACXSLTResultsDisplay
   to 'default'
2. Create a biblio record with title "parent" and create an item with a
   barcode for this biblio
3. Create a biblio record with title "child" with no items. On the
   biblio detail page, in the toolbar, click "Edit -> Link to host
   record" and enter the barcode for the item you created at step 2
4. Duplicate this biblio record, to be sure you will have at least two
   results with the search "child" (and not be redirected to the detail
   page)
5. Make sure your search index (zebra or elasticsearch) is up to date
6. Go to OPAC and search "child".
   You should see two results, no items.
   Click on one of them. On the detail page you should see one item (the
   one from the host record)
7. Apply the patch
8. Go to OPAC and search "child".
   You should now see one item (the same item) for each result.

Signed-off-by: David Nind <david@davidnind.com>
Comment 3 Kyle M Hall 2022-09-23 16:08:47 UTC
Can you add a unit test for the change to buildKohaItemsNamespace?
Comment 4 David Cook 2022-09-25 23:34:33 UTC
This could slow down the (already slow) search results a lot...
Comment 5 David Cook 2022-09-25 23:35:38 UTC
At a minimum, I'd say this should be wrapped in a system preference.
Comment 6 Fridolin Somers 2022-12-13 20:31:23 UTC
Maybe use Koha::Biblio->host_items()
Comment 7 David Cook 2022-12-14 02:56:40 UTC
This still needs a system preference defaulting to "off"...