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>
Tue, 17 Sep 2013 17:52:14 +0000 (13:52 -0400)
commita825eea41a64ab497403d2760aba4257cdb4c2f0
tree8f385c1d8a20b555591583d501762376461b3eaa
parent9a37d422ba7197f4c2ca8ed6d575d90f94fd56be
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. :-)
19 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.xul [changed from file to symlink]
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