[OPEN-ILS-DEV] Org tree sorting and the Android app (was Re: Beta App Feedback)

Dan Wells dbw2 at calvin.edu
Wed Dec 2 09:31:20 EST 2015


Hello Ken,

I think #2 is probably the best answer.  Unfortunately, I don’t think there are existing APIs for the custom trees, as they feed into TPAC directly.  See EGCatLoader/Util.pm for how the data structure is built, and parts/org_selector.tt2 for how it gets displayed.  Basically, if a custom tree exists (see ‘aouct_tree’ in both files), it completely replaces the standard tree.

We should probably get the logic out of Util.pm and into the actor API in some fashion (these is an open bug* about refactoring logic bits out of the TPAC layer, and this seems to fit with that idea).  Designing APIs is really hard, but extending “open-ils.actor.org_tree.retrieve” with new options or adding a new “open-ils.actor.org_tree_display.retrieve” both seem reasonable to consider.

The other things you see in the C/W Mars dropdown are “copy location groups”.  Those should probably be added subsequent to getting custom trees working.

Sincerely,
Dan

* https://bugs.launchpad.net/evergreen/+bug/1347774


Daniel Wells
Library Programmer/Analyst
Hekman Library, Calvin College
616.526.7133

From: Open-ils-dev [mailto:open-ils-dev-bounces at list.georgialibraries.org] On Behalf Of Ken Cox
Sent: Tuesday, December 01, 2015 8:38 PM
To: Evergreen Development Discussion List <open-ils-dev at list.georgialibraries.org>
Subject: [OPEN-ILS-DEV] Org tree sorting and the Android app (was Re: Beta App Feedback)

Executive Summary

The current app allows choosing an OU in a spinner (drop-down).  It sorts this list lexicographically.  This sorting doesn't work well for NTLC, where the top-level OU "NTLC" does not appear first.

I made a change to use the sorting based on /osrf-gateway-v1?service=open-ils.actor&method=open-ils.actor.org_tree.retrieve and display the orgs in a left-justified indented list.  This works well for NTLC, but not for CW/MARS, which according to Kathy uses custom org unit trees.

I am missing the forest for the trees and am not sure what to do next.  Details below.

NTLC

For NTLC, with 21 org units, the change to display the orgs as an indented list works well. I end up with a spinner that looks like this:

North Texas Library Consortium
  Central Area
    [Boyce Ditto Public Library]
    John Ed Keeter Saginaw Public Library
    Justin Community Library

Note that I included [Boyce Ditto Public Library] above, but it doesn't show up because it's marked opac_visible=false.

CW/MARS

For CW/MARS, with 250 org units this works poorly.  My spinner looks like this (showing non-visible levels):

All C/W MARS Libraries
  [Central Region]
    [Anna Maria College]
      AMC Mondor-Eagen Library
    [Ashburnham]
      Ashburnham Stevens Memorial Library
...
  [Non-Members]
    [Commonwealth Catalog]
      Commonwealth Catalog Library
...
  [Western Region]
    [Adams]
      Adams Free Library

With all the visible=false intermediate hierarchy levels removed, this list is basically unusable:

All C/W MARS Libraries
      AMC Mondor-Eagen Library
      Ashburnham Stevens Memorial Library
  ...
      Commonwealth Catalog Library
  ...
      Adams Free Library

As Kathy said, this is quite different from what shows up in the TPAC, which is:

All C/W MARS Libraries
  Childrens Catalog
  Academic Libraries
  Young Adult
  Adams Free Library
  ...

Where to go from here?

I am considering these paths forward:

1. Display as an indented list if <= 25 OUs.  Display as a sorted flat list (with top-level OU on top) if > 25.
2. Look for some way to get the custom org trees into the app.
3. Add something to the libraries directory<https://evergreen-ils.org/directory/libraries.json> indicating how to display the org tree.
4. Give up and look for paid work.

Ideas appreciated!

Ken


On Mon, Nov 30, 2015 at 10:28 AM, Kathy Lussier <klussier at masslnc.org<mailto:klussier at masslnc.org>> wrote:
Hi all,
I think that utilizing the same sorting for OUs as the TPAC does would be ideal for the app as well.  As far as I can tell that is by OU-level, then by alpha within a level.

There is actually another bit of complexity to OU sorting in TPAC. By default, the OU's do sort as Geoff and Justin described. However, Evergreen also has something called custom org unit trees that allow sites to change the sort order of the library selector if the default sort doesn't exactly fit their needs. As an example of a simple reason sites might want to use it, if the main library in a multi-branch library system doesn't sort first alphabetically, you can use the custom org tree to force the main library to sort above the other branches.

In the case of C/W MARS, if the app were to use the default OU-level sort order, it would show an additional level in the org hierarchy that you don't see in TPAC because they are using the custom org unit tree to control the sort order. Using the default sort, users would see something like:

- All C/W MARS Libraries
-- Central Region
---Alphabetical list of systems
----Alphabetical list of branches
-- Western Region
---Alphabetical list of systems
----Alphabetical list of branches

Having said that, the default sort would accommodate the needs of a majority of Evergreen sites. I just wanted to point out that there is a bit more complexity in the tpac org unit sorting. The library selector there also includes publicly-visible copy location groups. I'm not sure if it's important to include those in the app or not, but those are what are used to configure the academic, children's and ya scopes in the catalogs for two of MassLNC's Evergreen sites.

Thanks for all of your work on this Ken!

Kathy



On 11/27/2015 02:16 PM, Geoff Sams wrote:
Now that I've had a chance to really use the app, I figured I post some feedback here as well.

First off, wow!  The app look and feel are really nice.  Each interface is snappy and seems to work pretty smoothly.  From a design stand point, I think this is pretty solid.

A possible bug: Jacket Images do not seem to appear for me when there are available images in the catalog.  It doesn't appear that either images entered into the system manually, or OpenLibrary.org images are appearing.

A visual preference:  When there is no image, the space for the image shows up white, which is at odds with the rest of the app's design elements and is a little jarring.  This is more opinion than anything else, take it or leave it, won't bother me a bit.  I'm not even sure if this one is possible to change in any case without changing the blank image that is used everywhere.

I think that utilizing the same sorting for OUs as the TPAC does would be ideal for the app as well.  As far as I can tell that is by OU-level, then by alpha within a level.  Currently in the app, the consortium level is at the top, then everything else is below that in alpha for my consortium.  We have 3 levels in our group: Consortium, Geographic Area, Library.  So all of the Geographic Areas are in the list with the Libraries and is likely going to be a source of confusion if it remains that way.

Everything else I feel works how I would expect it to work, and I can't really think of anything that I'd make a change to right off.  I'm going to keep toying around with things in any case.

As for Justin's comments, I tend to agree with his assessment for the most part.  -7 in particular would be great to have.  Some of our libraries have features specific to their subdomain that would be great to see included for their patrons.  I'm not sure what all bleeds through to the app, but if anything does they'd want to keep it available.  Electronic Resources are definitely a must, series/subject headings being links would be fantastic, and yes please to barcode searching.

Overall, I like the app, and I'm looking forward to being able to show it off to the rest of my consortium. I really appreciate all of the work that you have put into this app, and I look forward to continue helping test it.

Thanks,
Geoff Sams
Library Manager
Roanoke Public Library


-----Original Message-----
From: Open-ils-dev [mailto:open-ils-dev-bounces at list.georgialibraries.org<mailto:open-ils-dev-bounces at list.georgialibraries.org>] On Behalf Of Justin Hopkins ??
Sent: Tuesday, November 24, 2015 7:40 PM
To: Evergreen Development Discussion List <open-ils-dev at list.georgialibraries.org<mailto:open-ils-dev at list.georgialibraries.org>>
Subject: [OPEN-ILS-DEV] Beta App Feedback

Ken,

So awesome. It feels cool just to log in and use the app. I know I speak for everyone when I say how much we appreciate your hard work on this.

 From my limited experience so far I'd offer the following:

[-7]: Perhaps we could use another, or expand on the .json file so that we could include all libraries in a given consortium/system for a more fine grained GPS based library suggestion
[-6]: Add the consortium level as an option for search scope
[-5]: Along the same lines, make user preferences already stored in Evergreen accessible/applicable (default locations, etc) or store new preferences for the app
[-4]: Show some indication of consortium/system/branch levels in location dropdowns. It's not clear what is a system and what is a branch, and could make it too easy to set a system as the pickup location. I'm not sure how that would resolve.
[-3]: Electronic resources don't display their 856 links
[-2]: Subject and series information on the record pages could be links
[-1]: A common feature among library apps, or apps where searching for books is a likely operation, is a barcode search - I think that would be a nice addition.

Thanks again! I'm looking forward to playing around with this and putting it more to use.

--
Regards,
Justin

--
Kathy Lussier
Project Coordinator
Massachusetts Library Network Cooperative
(508) 343-0128<tel:%28508%29%20343-0128>
klussier at masslnc.org<mailto:klussier at masslnc.org>
Twitter: http://www.twitter.com/kmlussier



--
-Ken
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://libmail.georgialibraries.org/pipermail/open-ils-dev/attachments/20151202/5a4c55c2/attachment-0001.html>


More information about the Open-ils-dev mailing list