Patron-opt in bug
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Wishlist
|
Jason Etheridge |
Bug Description
This bug affects the "patron opt-in" feature. This feature is set in the opensrf.xml. When active, libraries can only search for patrons from their home library. When a patron goes to a foreign library within Evergreen that is not their home library, they may present their home library card, and a dialog will appear asking for them to consent to sharing their personal information. If they consent, the staff client will continue to the circ screen, and that patron will henceforth appear in search results. As far as I know, SITKA is the only site making extensive use of this feature.
Last year, SITKA had some multi-branch sites, which pose an added layer to the problem -- patrons should not have to opt-in at a different branch of their home library system, and they should appear in search results at all of the branches of their home library system.
I have written a patch for this that uses an org-unit setting to determine two settings:
org.patron_
org.patron_
So as an example:
Evergreen Library Consortium (depth 0)
- Emotive Library Federation (depth 1)
- Happyville Library System (depth 2)
- Pleasant Branch (depth 3)
- Joyous Branch (depth 3)
- Sadville Library System (depth 2)
- Miserable Branch (depth 3)
- Grumpy Branch (depth 3)
Currently the code would work in such a way that a Pleasant patron would have to opt-in at Joyous. If they went to Joyous and forgot their card, the librarian would not be able to search for them by name.
With my patch, each org unit may set an opt-in boundary. Thus, Happyville would set an opt-in boundary of 2, meaning that Pleasant and Joyous would count as opted, but if you go above depth 2 and outside of the Happy Library Federation, you would have to opt-in.
The second setting is the default opt-in depth. So if a Joyous patron went to Miserable library and opted in, they still wouldn't be opted in at Grumpy branch even though both are part of the same municipality. Thus, Sadville would set a default opt-depth of 2 so that patrons are opted in at the system level.
This patch makes a major change to the patron search method. Currently, the patron search method is passed a depth value, and the search is conducted at libraries at a relative depth to the current authorized workstation. Instead, I have changed this method to require a specific org unit as an argument, and the search will be conducted at all of that org unit's children. This facilitates my patch, but also provides two benefits:
1. it allows for a situation whereby if an org unit had multiple children, one could search for patrons in one of the child org units
2. it makes it more useful as an API call
Anyway, that's all. SITKA is running this on production with no problems. It will probably only work in the 1.6 branches due to the overhaul of org unit settings in trunk.
Changed in evergreen: | |
status: | New → Confirmed |
Changed in evergreen: | |
importance: | Low → Wishlist |
Changed in evergreen: | |
assignee: | nobody → Jason Etheridge (phasefx) |
Changed in evergreen: | |
milestone: | none → 2.2.0 |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
For what it's worth, Conifer uses opt-in.
I would call your patch an enhancement, rather than a bug fix, but either way the goal is laudable. That said, I have not yet reviewed / tested the patch.