Preferred Search Location, option to not use for search location

Bug #1534979 reported by Josh Stompro
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Evergreen
New
Undecided
Unassigned

Bug Description

EG 2.8.4,

We keep running into the fact that catalog users are being scoped to their home library when they log in, which causes them to think the system doesn't have certain items since they don't show up in their scoped search.

We have attempted to use the redirect option to add "locg=1" to the catalog URL to always set the search scope to consortium, but there seems to be too many ways around that. Like the logout button, which clears out the locg=1, so if someone logs out, then logs back in as another patron, their searches will now be limited again. Or any direct links that don't included the locg parameter, such as deep links from worldcat to specific titles.

We never want searches automatically limited unless the user takes some manual actions.

So I would like to propose a new YAOUS that disables setting the search library to the preferred search library when enabled. This seems simpler than trying to control all the links to the catalog.

The code in Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm, the _get_search_lib function sets the search lib to the pref_lib as the second to last option. For logged in users the pref_lib first equals the users preference if they have that set, and then their home library.

http://git.evergreen-ils.org/?p=Evergreen.git;a=blob;f=Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm;h=69bb8986be2f0483af611e4df139492b5d1be3d8;hb=HEAD#l552

Josh

Tags: opac
description: updated
Revision history for this message
Dan Wells (dbw2) wrote :

I am not sure what exactly you mean by "the redirect option", but we've had good success controlling this with SetEnv in our Apache config. Is that what you have tried? E.g.:

<Location /eg/opac>
    ...

    SetEnv physical_loc 1
</Location>

There may be another setting involved which I am not remembering at this moment, but I don't think we've experienced the kind of issues you are describing when the above is in place.

Sincerely,
Dan

Revision history for this message
Mike Rylander (mrylander) wrote :

If what Dan suggests doesn't get you what you want, I think it would be more fruitful to look into using depth (that is, the depth=0 CGI paramter) rather than adding yet another layer of complexity and obfuscation to the already confusing "where am I actually searching" logic. The depth parameter does (and was always intended to do) exactly what you want -- focus on a particular location, but search everywhere.

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

Thanks Dan for the suggestion,

We currently use the physical_loc EnvVar to specify a Preferred Search Library for our two systems apache virtual hosts, so users that are not logged in have the preferred search lib set to the system level, so that the correct 856 resources will get shown/scoped. Maybe there is another option for just setting the preferred search lib in the apache config, but I haven't been able to find it yet. We want to be able to set a more specific preferred search lib which doesn't set the search lib.

But this doesn't keep the search library from being set to the preferred search library for logged in users in my testing.

This is the "the redirect option" that I was referring to, in eg_vhost.conf.
# ----------------------------------------------------------------------------!
# Point / to the opac - if you have a custom skin or locale, point at it here
# ----------------------------------------------------------------------------!
RedirectMatch 301 ^/$ /eg/opac/home?locg=1

Josh

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

Mike, If setting the locg=1 cgi parameter isn't working out because patrons are finding ways to reset the url to the defaults, wouldn't using a depth=0 cgi parameter have the same problem?

And wouldn't that keep them from being able to choose to search a specific location if they choose to?

Thank you for the suggestion.

Josh

Revision history for this message
Mike Rylander (mrylander) wrote :

It would without any further change, but that's not what I was suggesting. Sorry if that wasn't clear.

My point was that if someone wants to develop some new code to provide the ability to "search everywhere, but know where the patron is" then I recommend using the existing depth mechanism, rather than inventing new settings, CGI parameters, etc, that are similar to but different from locg, phys_loc, preferred_location, and the site() search filter (among, likely, several other search-location-setting things).

Users used to be able to control the breadth of their search as well as the focus. Now they can't control the breadth, only the focus. Some attempt was made to bring back something like breadth control by always including a logged-in users "preferred library" in every search -- which is neither breadth control, nor straight-forward IMO.

It sounds like you want to bring back breadth control, which is what exposing the "depth" CGI param through an interface widget (new code) would do naturally.

Revision history for this message
Thomas Berezansky (tsbere) wrote :

I will point out that http://git.evergreen-ils.org/?p=Evergreen.git;a=commit;h=8085a5959c799cfaed9d7db449c8c3e4150e6cee (and a few commits before/after it) add a depth checkbox option. It is limited to a specific depth (configurable) and defaults to "Everywhere". It doesn't default to "checked", also enabled by default is a button for the basic search page to search All Libraries (aka, "Everywhere").

While this isn't the full depth control that previously existed it covers what I was told is the most common use case, that of expanding a search to "Everywhere".

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

Thomas, thanks for pointing me to this info. Once we get on a version that supports these features I'll try to test it out.

I realize this isn't the correct route to take, and won't be considered for inclusion, but here is a branch that adds a OU setting to disable setting the search lib to the preferred lib. This solves the issue we were having with unintentional search limiting.

user/stompro/lp1534979_skip_search_lib_to_pref_lib
http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/stompro/lp1534979_skip_search_lib_to_pref_lib

Josh

tags: added: opac
removed: tpac
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.