Patron Display/Summary Revamp
authorJason Etheridge <jason@esilibrary.com>
Thu, 18 Apr 2013 18:17:10 +0000 (14:17 -0400)
committerJason Etheridge <jason@esilibrary.com>
Wed, 8 Jul 2015 14:53:06 +0000 (10:53 -0400)
commit76c71cadec9b5fc859614eda52d0363c818f87f0
tree51ee8ef1140332b57c25088dd2729c4363a33a3e
parent22117e56b7f4e05c736835e9b8c823e8b740b66d
Patron Display/Summary Revamp

This is a proof of concept for speeding up the Patron Display and Summary. It
does this by

1) producing the summary entirely server-side via Template Toolkit and perl
2) disintegrating all of the sub-interfaces like Check Out, Items Out, etc.
   These open in new tabs (with their own summary panes), which should help
   break the expectation that these interfaces should be dynamically
   synchronized, but on the downside will annoy those who are used to
   dedicating specific tab positions to specific interfaces.

The summary is less information dense than before, and completely
non-interactive.  The idea is that identifying information is found in the first
column, and the second column is reserved just for showing information like
holds available, alert message, barred status, and standing penalties--i.e.
things that should prompt the staff to dig deeper.  The third and fourth columns
have some other useful information, and though there's no unifying concept for
those at the moment, there is some of the only-show-what's-useful mindset. For
example, if the user has no DOB on record, then we just don't show the DOB at
all, not even a label and a placeholder.

Some caveats/notes:

There are a lot of hard-coded strings.  I will go back and I18N-ize them. :-)

I wanted to have two separate XUL files for search and display, but for now I
have them combined into a single file so that others can test using stock staff
clients. For the same reason, I've also symlinked (yay, git) display_horiz.xul
to the new display.xul.  As a consequence of this, sticky settings are unique
for each filename.

I put PatronSummary.pm under EGCatLoader for expediency, but it should really
live somewhere else, and in particular, make use of oils auth proxy, and not
the TPAC login page when its session cookie expires. :-)

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
18 files changed:
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/PatronSummary.pm [new file with mode: 0644]
Open-ILS/src/templates/base_nodojo.tt2 [new file with mode: 0644]
Open-ILS/src/templates/opac/PatronSummary.tt2 [new file with mode: 0644]
Open-ILS/src/templates/opac/css/PatronSummary.css.tt2 [new file with mode: 0644]
Open-ILS/xul/staff_client/chrome/content/main/constants.js
Open-ILS/xul/staff_client/chrome/content/main/menu.js
Open-ILS/xul/staff_client/chrome/content/util/list.js
Open-ILS/xul/staff_client/server/main/data.xul
Open-ILS/xul/staff_client/server/patron/display.js [deleted file]
Open-ILS/xul/staff_client/server/patron/display.xul
Open-ILS/xul/staff_client/server/patron/display_horiz_overlay.xul [deleted file]
Open-ILS/xul/staff_client/server/patron/display_overlay.xul [deleted file]
Open-ILS/xul/staff_client/server/patron/holds.js
Open-ILS/xul/staff_client/server/patron/patron.js [new file with mode: 0644]
Open-ILS/xul/staff_client/server/patron/search.js [new file with mode: 0644]
Open-ILS/xul/staff_client/server/patron/search_result.js
Open-ILS/xul/staff_client/server/patron/standing_penalties.js