VuFind
  1. VuFind
  2. VUFIND-788

Enhanced and fixed getMyHolds and associated methods for Horizon

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.4, 2.0beta
    • Fix Version/s: 1.4.1, 2.0RC1
    • Component/s: ILS Driver
    • Labels:
      None

      Description

      The attached patches add a number of columns to the getMyHolds response including reqnum, item_id, request_expire, title, publication_year and volume.

      It also corrects the location response which was returning the location where the request was placed. It now correctly returns the pickup location as well as returning it in descriptive form rather than code form.

      The enhancement also changes the way the expiration date is handled. It now falls back to the request expiration date when the hold expiration date is not available. It also shows 'In Transit' when an item is in transit because those items have no hold or request expiration date.

      Finally the results are sorted by availability and then title so the available items show up at the top of the list.

        Activity

        Hide
        Demian Katz added a comment -
        Before I commit this, could you look into an anomaly for me?

        It looks like the HorizonXMLAPI driver extends the processHoldsRow() method in order to set 'item_id' to $row['BIB_NUM']. I'm not sure why we would want to use the bib# as the item#. If we remove HorizonXMLAPI::processHoldsRow, does the HorizonXMLAPI driver continue to function correctly? (I think the only things that would need to be tested would be display of holds and the "cancel hold" functionality).

        Let me know what you find, and I'll commit the code once I hear back. Thanks!
        Show
        Demian Katz added a comment - Before I commit this, could you look into an anomaly for me? It looks like the HorizonXMLAPI driver extends the processHoldsRow() method in order to set 'item_id' to $row['BIB_NUM']. I'm not sure why we would want to use the bib# as the item#. If we remove HorizonXMLAPI::processHoldsRow, does the HorizonXMLAPI driver continue to function correctly? (I think the only things that would need to be tested would be display of holds and the "cancel hold" functionality). Let me know what you find, and I'll commit the code once I hear back. Thanks!
        Hide
        Jay Roos added a comment -
        Hold off. The HorizonXMLAPI functionality is completely broken. It was created before title-level holds were available and it tried to make the item-level request link perform title-level requests. I'll get it fixed once I get through a couple more patches to the SQL driver.
        Show
        Jay Roos added a comment - Hold off. The HorizonXMLAPI functionality is completely broken. It was created before title-level holds were available and it tried to make the item-level request link perform title-level requests. I'll get it fixed once I get through a couple more patches to the SQL driver.
        Hide
        Demian Katz added a comment -
        In that case, if the existing code is broken anyway, is it easier for you if I commit these patches as-is now, or should I wait and do it all at once?
        Show
        Demian Katz added a comment - In that case, if the existing code is broken anyway, is it easier for you if I commit these patches as-is now, or should I wait and do it all at once?
        Hide
        Jay Roos added a comment -
        Holds functionality seems to be very broken in our environment. We're running Horizon Information Portal 3.22.2_6075.

        I've fixed it to the point where the request gets placed, but Horizon Information Portal still throws an error in the XML.
        Show
        Jay Roos added a comment - Holds functionality seems to be very broken in our environment. We're running Horizon Information Portal 3.22.2_6075. I've fixed it to the point where the request gets placed, but Horizon Information Portal still throws an error in the XML.
        Hide
        Jay Roos added a comment -
        Ok, I fixed the holds problem in VUFIND-792. I did not do anything with processHoldsRow and won't need to until the XMLAPI driver is updated to work with both title and item specific holds.

        As far as I know this a go.
        Show
        Jay Roos added a comment - Ok, I fixed the holds problem in VUFIND-792 . I did not do anything with processHoldsRow and won't need to until the XMLAPI driver is updated to work with both title and item specific holds. As far as I know this a go.
        Hide
        Demian Katz added a comment - - edited
        Show
        Demian Katz added a comment - - edited Resolved (with minor style fixes) as r6259 and: https://github.com/vufind-org/vufind/commit/de6299fff83387cd625bb3420f986bd688483f29

          People

          • Assignee:
            Unassigned
            Reporter:
            Jay Roos
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: