[Evergreen-general] Sharing plans for changing library selector in Angular staff catalog
Mike Rylander
mrylander at gmail.com
Thu Jan 25 14:32:58 EST 2024
Hi Kathy,
On Thu, Jan 25, 2024 at 2:04 PM Lussier, Kathy <klussier at noblenet.org> wrote:
[snip]
> If I gave the impression that NOBLE was trying to remove a feature, I apologize. I wasn't suggesting any such thing. As I'm sure you remember from our many years working collaboratively on this project, NOBLE has always understood that libraries have different use cases and workflows and have been in favor of supporting multiple options to meet the needs of libraries. In fact, this is why we share our plans ahead of time before contracting with developers. We want to ensure that other use cases are considered and that we aren't forcing libraries into a path that doesn't work for them.
>
I don't think that removing a feature was ever your intent, and I'm
sorry if that's how that statement came across. The point I wanted to
make clear regarding "options to pursue" there is that the underlying
functionality of location groups has much broader utility than simply
grouping several physically adjacent shelving locations under one
label. I really want us to avoid making more (advanced? interesting?
innovative?) uses of location groups harder by implicitly saying "this
is the only way location groups are useful" at the UI level.
My direct concern here is that requiring a staff UI implementation
that was, to a very significant degree, originally driven by a 10 year
old mandate to make sure all OPAC functionality will work without any
client-side logic -- in particular, no dynamic/dependant drop-downs in
the OPAC because that would require either JS or (worse) a full page
reload -- will keep us from making better, more feature-rich
implementations today.
> I hope to get to the rest of your message before the week is done.
>
No rush, and thank you for taking the time!
(ASIDE: apologies for "Nobel" rather than NOBLE ... I will probably
never not mess that up from time to time, but I will try. ;) )
--Mike
> Kathy
> --
> Kathy Lussier
> she/her
> Executive Director
> NOBLE: North of Boston Library Exchange
> Danvers, MA
> 978-777-8844 x201
> www.noblenet.org
>
>
>
>
> On Thu, Jan 25, 2024 at 1:49 PM Mike Rylander <mrylander at gmail.com> wrote:
>>
>> On Wed, Jan 24, 2024 at 5:08 PM Lussier, Kathy <klussier at noblenet.org> wrote:
>>
>> >> To reiterate the reason we kept the library groups and location groups
>> >> selector separate from the library (org unit) selector, and also
>>
>> [snip]
>>
>> >
>> > I can delve into our reasons for displaying the groups in the selector. Most of our copy location groups are really departemental level groups (children's, teen, adults), similar to the department levels that were suggested at one time as possible child org units to branches. However, we didn't want all of the other things that come with creating a new org unit: a new pickup location, a message to send items into transit when items are checked in at the branch, etc. We just wanted the department level for the purposes of searching.
>> >
>>
>> That's certainly a valid use case! But it's not the only one, and
>> really only the very slimmest use case both for the original intent
>> and of the actual code.
>>
>> Should we remove options that other EG users want to pursue because
>> the feature happens to make for a good shortcut to a "light-weight org
>> unit" in the simplest case relating to search? Or, if "light-weight
>> org unit" is the desired feature, then is that what needs development,
>> rather than constraining an unrelated feature into that shape?
>>
>> > In the minds of our libraries and patrons, these shelving location groups are "search scopes" in the same way that a branch or a system is a search scope. On the public side, most patrons will not bother to go to the advanced search page to see what's there, but they will easily see there is a way to search the children's collection from the main search page. I get what you're saying about large installations with many org units, but I also know that CW MARS, which is far larger than us, is also interested in seeing these restored to the library selector.
>> >
>>
>> "Shelving location groups are HIERARCHICAL search scopes" may be what
>> is in their minds, but that doesn't mean it's true. Location groups
>> are intentionally non-hierarchical; it is ONLY local configuration and
>> training decisions saying that they are. If we end up forcing that to
>> be true in practice for everyone by limiting their use to be strictly
>> hierarchical in search, then should we force that in the location
>> group mapping interface, lest someone add a "foreign" location to a
>> group? Of course, when they realize that's what they need to do we'll
>> be inventing a new "like location groups but you can show them outside
>> the org tree" concept, and attendant data structures... which was one
>> of the purposes of location groups all along. And we can't really do
>> that today, as it would break the badge-focused location group
>> filtering.
>>
>> At a deep, technical level when searching, org units, location groups,
>> and library groups are all mutually exclusive. They are essentially
>> different search axes, different ways of grouping the full collection
>> into smaller sets. Both location groups and library groups are,
>> additionally, contextually dependent on org units for their context
>> and selection -- NOT hierarchically, mind you, but through direct
>> location ownership and group-owner membership for location groups, and
>> through library group membership and non-hierarchical global group
>> visibility for library groups.
>>
>> As for public vs staff searching, the staff catalog is simply
>> different from the OPAC. The ship of perfect parity has sailed, much
>> to my chagrin in many respects. However, the natively dynamic nature
>> of the staff catalog has its benefits! The UI implementation we've
>> already developed for location and library groups presents staff with
>> a laser-focused view of the context-library relevant instances of
>> those.
>>
>> * First, it always presents them in the appropriate context, where
>> the location and library groups dropdown /always/ contains the entries
>> that make sense for the context ("search") library.
>> * Second, it naturally extends the existing UI that most EG sites are
>> already using and are familiar with, by using a well-understood,
>> common, and accessible UX pattern.
>> * Third, it lets us intelligently adjust other, related search
>> options, such as disabling the shelving location selector when a
>> location GROUP is selected, and inform the searcher how and why those
>> related options have been adjusted.
>> * And fourth, it does all this without "lying" to the staff member
>> about what they are actually asking for in their search, since they
>> can be expected to understand more about the search process and make
>> use of more sophisticated features.
>>
>> If the label for that dropdown were "Departments and Library Groups",
>> would that help staff that have been trained that location groups ARE
>> departments or light-weight org units? Labels are pretty easy to
>> adjust now, and the (to date OPAC-focused, but not OPAC-only) local
>> custom strings feature could be used here to make that configurable
>> through the staff client without too much effort.
>>
>> Please (everyone), at least take a look at the screenshot Andrea
>> shared, or, even better, install the branch and try it out. It's
>> really not a confusing departure from the way things were, and I am
>> confident it will feel natural and familiar to anyone that's used a
>> dynamic web app in the last 10 year.
>>
>> > Out of curiosity, are there other libraries / consortia out there who are using shelving location groups? If you are using them and do not want to see them in the library search selector, it would be good to know. I guess we shouldn't assume that restoring the traditional method is the approach everyone wants to take.
>> >
>>
>> Yes, there are, though they may not be on (or paying attention to) this list.
>>
>> As for whether they all prefer one specific implementation over
>> another, I can only speak to what I've been asked to make happen. Some
>> libraries absolutely do want the non-hierarchical possibilities that
>> location groups (and library groups) offer, but on more than one
>> occasion the OPAC's basic-search presentation has made them think it
>> can't be done. They have assumed that because the UI doesn't
>> facilitate a capability today that the capability must not be
>> possible, otherwise it would already have been added. The truth is
>> the opposite, of course -- the simplest UI needed at the time was
>> built atop a more capable overall feature set.
>>
>> In the end, if Nobel decides to implement something that mixes all the
>> various place-like scoping options into one UI element for staff
>> catalog search, I cannot stress how strongly I request that you have
>> it done as a completely new component. The org selector component
>> (and related Angular components) is already very complicated, and
>> frankly pretty brittle. It's used on scores, if not hundreds, of
>> screens in Evergreen, but this use case is relevant on only one screen
>> as far as I can tell: staff catalog search. I don't think it's fair
>> or productive for every other interface to carry the additional
>> maintenance and complexity burden this will likely create.
>> Additionally, if it's a new, special-purpose component, it will be
>> much simpler to both argue for, and actually create, a way to choose
>> between the two presentations in the staff catalog, and allow those
>> that want the additional flexibility of non-hierarchical location
>> groups to have it.
>>
>> >> Regarding the main "hide certain orgs" concept from the OP, on
>> >> balance, it definitely feels to me like a job for custom org trees
>> >> with a new "purpose" (the one existing purpose being: "opac"),
>> >
>> >
>> > To be clear, this isn't really a "new" purpose. The custom org trees always worked in the tpac staff catalog. For this year, NOBLE is prioritizing development for features we previously funded, either individually or as part of a larger development cooperative, that were inadvertently missed as interfaces were replaced. Getting the library search selector in the Angular catalog looking like the one we used in the tpac staff catalog is something our libraries have told us is necessary before they're willing to move to the Angular Catalog.
>> >
>>
>> Sorry I wasn't clear. There is a column on the custom org tree table
>> literally called "purpose", and I was specifically referring to that.
>> In the old dojo interface, that's what is shown in the dropdown next
>> to the "Custom Unit Tree:" label. Today, the only "purpose" value
>> allowed is 'opac', but that's one line of SQL away from changing.
>>
>> >> Regarding the main "hide certain orgs" concept from the OP, on
>> >> balance, it definitely feels to me like a job for custom org trees
>> >> with a new "purpose" (the one existing purpose being: "opac"),
>> >> especially given the variable shape of the tree mentioned up-thread in
>> >> some cases. While there does exist a way to hide "intermediate" org
>> >> units today, it requires the interaction of multiple configuration
>> >> points (opac_visible flags, and the "inherit visibility" library
>> >> setting(s)), which makes it feel flimsy in comparison to an explicitly
>> >> defined tree. A single "this is what my staff should see *in this
>> >> interface*" option seems (1) conceptually simpler, (2) more flexible,
>> >> and (3) more maintainable.
>> >
>> >
>> > I agree that the custom org tree is much more flexible, but we really don't need that flexibility. I'm not sure that I agree that it is conceptually simpler or more maintainable. Although the Angular custom org tree admin interface is a huge improvement over the old dojo one, I find it's much simpler to just uncheck a visibility box when setting up or editing an org unit. The org tree admin is another place you have to remember to go after setting up the org unit to make sure it displays correctly in the catalog. But as I said to Galen, we'll reconsider it.
>> >
>>
>> It is true that if you use a custom org tree then you have to adjust
>> it when adding a new org, but I find it hard to believe that
>> separately saying "ok, now show it in the OPAC (and/or staff catalog)
>> at this position" is a massive, undue burden that is simply a waste of
>> staff time. And it would be trivial to add a link from the org unit
>> admin UI to the custom tree UI, in order to reduce friction.
>>
>> Unfortunately, you can't simply uncheck the visibility box on an org
>> and know for sure that you're done. Setting aside the server-side
>> script that you have to run in order to make sure that everyone sees
>> the change, there are other configuration parameters not on the org
>> unit interface that are required in order to have descendants show up
>> (or not, depending on the local desire).
>>
>> I try not to deal in absolutes WRT "simpler" or "better" and the like,
>> but I will go out on a limb here: Custom org trees are /objectively/
>> conceptually simpler than the base org tree plus all the various
>> subtle adjustments to it. The reason is simple: the custom org tree
>> is concrete. It is "This is the OPAC search tree, which has this
>> specific order provided by the admin." vs "This is the org tree, some
>> of which may be visible in the OPAC for search depending on checkboxes
>> in one UI and settings in several others, and also local hacks put in
>> place to hide some orgs based on other criteria. Oh, and you can't
>> decide on the order, which is probably sorted by name or short name,
>> without other local hacks."
>>
>> The frequency with which a central admin would need to add an org unit
>> is so low, and the rest of the configuration is so voluminous, that
>> surely they must have a checklist of all the /other/ things that may
>> need to happen when a new org unit is added -- working locations for
>> users, library settings, receipts and other various templates,
>> default/pinned workstation settings, notice setup, hold/circ policies,
>> proximity adjustment, and many, many more -- that having "Add to
>> custom tree(s) for search" as a checklist item that takes less than a
>> minute seems reasonable.
>>
>> Actually, having typed out that partial list of new-org tasks, I think
>> some may see it as a significant benefit to have the option of a
>> custom tree "in front" of the natural tree, because then staff, like
>> patrons, cannot stumble upon a half-configured org -- or, from the
>> admin's perspective, central admins don't have to do everything in one
>> go as quickly as possible (or late at night), and get to control when
>> staff start having access to the new org for search.
>>
>> > Thanks Mike!
>>
>> Thank you as well!
>>
>> --Mike
>>
>> > Kathy
>> >
>> > --
>> > Kathy Lussier
>> > she/her
>> > Executive Director
>> > NOBLE: North of Boston Library Exchange
>> > Danvers, MA
>> > 978-777-8844 x201
>> > www.noblenet.org
>> >
>> >
>> >
>> >
>> > On Wed, Jan 24, 2024 at 12:51 PM Mike Rylander via Evergreen-general <evergreen-general at list.evergreen-ils.org> wrote:
>> >>
>> >> Hi all,
>> >>
>> >> As Andrea mentioned, we've been working on functionality adjacent to
>> >> the main topic of this thread for a bit. The pullrequest branch is
>> >> attached to the Library Groups LP bug she pointed to, and you can find
>> >> it here:
>> >>
>> >> https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/miker/lp-1949109-staff-catalog-lassos-loc_groups
>> >>
>> >> To reiterate the reason we kept the library groups and location groups
>> >> selector separate from the library (org unit) selector, and also
>> >> combined them into one UI element: both library and location groups
>> >> are NOT subordinate to org units, because they can cross hierarchical
>> >> boundaries, and they are mutually exclusive, because they represent
>> >> different, competing, non-hierarchical search contexts. Instead their
>> >> applicability is /dependent/ on the context ("search", yes, but not
>> >> only search) org, and essentially /replaces/ it in the search.
>> >> Especially for large installations with many org units, using either
>> >> of these grouping mechanisms becomes untenable if we try to shove them
>> >> all into the same dropdown as the libraries, because they would have
>> >> to be duplicated in many places and would thereby make the long org
>> >> list even longer and harder to use.
>> >>
>> >> Regarding the main "hide certain orgs" concept from the OP, on
>> >> balance, it definitely feels to me like a job for custom org trees
>> >> with a new "purpose" (the one existing purpose being: "opac"),
>> >> especially given the variable shape of the tree mentioned up-thread in
>> >> some cases. While there does exist a way to hide "intermediate" org
>> >> units today, it requires the interaction of multiple configuration
>> >> points (opac_visible flags, and the "inherit visibility" library
>> >> setting(s)), which makes it feel flimsy in comparison to an explicitly
>> >> defined tree. A single "this is what my staff should see *in this
>> >> interface*" option seems (1) conceptually simpler, (2) more flexible,
>> >> and (3) more maintainable.
>> >>
>> >> If we were/are voting, that'd definitely get my vote.
>> >>
>> >> Thanks!
>> >>
>> >> --
>> >> Mike Rylander
>> >> Research and Development Manager
>> >> Equinox Open Library Initiative
>> >> 1-877-OPEN-ILS (673-6457)
>> >> work: miker at equinoxOLI.org
>> >> personal: mrylander at gmail.com
>> >> https://equinoxOLI.org
>> >>
>> >> On Tue, Jan 23, 2024 at 12:01 PM Andrea Buntz Neiman via
>> >> Evergreen-general <evergreen-general at list.evergreen-ils.org> wrote:
>> >> >
>> >> > Chiming in to note that Equinox recently completed work on these related bugs:
>> >> >
>> >> > https://bugs.launchpad.net/evergreen/+bug/1949109 - Add Library Groups to Angular Staff Catalog
>> >> > https://bugs.launchpad.net/evergreen/+bug/1861701 - Angular staff catalog copy location group filtering support
>> >> >
>> >> > We will be sharing a branch shortly.
>> >> >
>> >> > ABN
>> >> >
>> >> > On Tue, Jan 23, 2024 at 11:39 AM Tina Ji via Evergreen-general <evergreen-general at list.evergreen-ils.org> wrote:
>> >> >>
>> >> >>
>> >> >> On Mon, Jan 22, 2024 at 12:09 PM Lussier, Kathy via Evergreen-general <evergreen-general at list.evergreen-ils.org> wrote:
>> >> >> > #2 introduces new behavior that hasn't been used in previous staff
>> >> >> > catalogs. We could not think of a use case where an org unit
>> >> >> > should be invisible in the public catalog when performing a
>> >> >> > search, but should be visible in the staff catalog search. However,
>> >> >> > if there is one, let us know so that we can add an option,
>> >> >> > most likely a global flag.
>> >> >>
>> >> >>
>> >> >> One of our library system does central cataloguing at its headquarter, which is not open to the public. It's OPAC invisible, but needed on the staff catalogue.
>> >> >>
>> >> >>
>> >> >> ________________________________
>> >> >> From: Evergreen-general <evergreen-general-bounces at list.evergreen-ils.org> on behalf of Terran McCanna via Evergreen-general <evergreen-general at list.evergreen-ils.org>
>> >> >> Sent: Tuesday, January 23, 2024 7:13 AM
>> >> >> To: Evergreen Discussion Group <evergreen-general at list.evergreen-ils.org>
>> >> >> Cc: Terran McCanna <tmccanna at georgialibraries.org>
>> >> >> Subject: Re: [Evergreen-general] Sharing plans for changing library selector in Angular staff catalog
>> >> >>
>> >> >> About disused Org Units - even after a branch closes completely and all of the active materials and patrons have been moved off of it so we don't want it to appear in most dropdown lists, we sometimes still need to run reports on it. It would be nice to have the option in the reporter to include non-staff-visible branches. Maybe that is as simple as adding a new report source in the fieldmapper that can be used instead of the normal Org Unit source when desired?
>> >> >>
>> >> >> On Mon, Jan 22, 2024 at 5:46 PM Galen Charlton via Evergreen-general <evergreen-general at list.evergreen-ils.org> wrote:
>> >> >>
>> >> >> Hi,
>> >> >>
>> >> >> On Mon, Jan 22, 2024 at 12:09 PM Lussier, Kathy via Evergreen-general <evergreen-general at list.evergreen-ils.org> wrote:
>> >> >> > #2 introduces new behavior that hasn't been used in previous staff
>> >> >> > catalogs. We could not think of a use case where an org unit
>> >> >> > should be invisible in the public catalog when performing a
>> >> >> > search, but should be visible in the staff catalog search. However,
>> >> >> > if there is one, let us know so that we can add an option,
>> >> >> > most likely a global flag.
>> >> >>
>> >> >> I can think of several:
>> >> >>
>> >> >> - Library joining a consortium. Most any migration workflow I can imagine will result in a period of at least a few days, and sometimes longer, where an OU exists and has holdings attached to it but shouldn't be visible in the OPAC, but where staff nonetheless need to be able to do staff-side searches limited to that OU.
>> >> >> - Library opening a new branch with an opening day collection. This could lead to an even longer period where the OU exists but is not yet ready to be visible to patrons
>> >> >> - An explicitly hidden or resource collection
>> >> >>
>> >> >> Does NOBLE have OUs that are completely disused?
>> >> >>
>> >> >> Regards,
>> >> >>
>> >> >> Galen
>> >> >> --
>> >> >> Galen Charlton
>> >> >> Implementation and IT Manager
>> >> >> Equinox Open Library Initiative
>> >> >> gmc at equinoxOLI.org
>> >> >> https://www.equinoxOLI.org
>> >> >> phone: 877-OPEN-ILS (673-6457)
>> >> >> direct: 770-709-5581
>> >> >> _______________________________________________
>> >> >> Evergreen-general mailing list
>> >> >> Evergreen-general at list.evergreen-ils.org
>> >> >> http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-general
>> >> >>
>> >> >> This message originated from outside the M365 organisation. Please be careful with links, and don't trust messages you don't recognise.
>> >> >> _______________________________________________
>> >> >> Evergreen-general mailing list
>> >> >> Evergreen-general at list.evergreen-ils.org
>> >> >> http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-general
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Andrea Buntz Neiman, MLS
>> >> > Project Manager for Software Development | Product Specialist
>> >> > Equinox Open Library Initiative
>> >> > abneiman at equinoxOLI.org
>> >> > 1-877-OPEN-ILS (673-6457)
>> >> > Direct: 770-709-5583
>> >> > https://www.equinoxOLI.org/
>> >> > _______________________________________________
>> >> > Evergreen-general mailing list
>> >> > Evergreen-general at list.evergreen-ils.org
>> >> > http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-general
>> >> _______________________________________________
>> >> Evergreen-general mailing list
>> >> Evergreen-general at list.evergreen-ils.org
>> >> http://list.evergreen-ils.org/cgi-bin/mailman/listinfo/evergreen-general
More information about the Evergreen-general
mailing list