Angularize the Self-Check Interface

Bug #1840773 reported by Terran McCanna
40
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Evergreen
Confirmed
Wishlist
Unassigned

Bug Description

The self-check interface should be updated to Angular.

When this is done, it would be a good time to improve some of the usability issues with the old interface, in particular:

1) Have the username / password boxes appear at the same time instead of one after the other (patrons are very confused by the current behavior).

2) Make it more obvious through the use of color and/or page layout to the patron when they are logged in and when they are not.

3) Add ability to renew items like they can do through My Account.

Changed in evergreen:
milestone: none → 3.5-alpha
Changed in evergreen:
milestone: 3.5-alpha → none
Revision history for this message
Terran McCanna (tmccanna) wrote :

FYI, Bill and I are having a roundtable discussion at the April 2020 Evergreen Conference to discuss overhauling the entire self-check interface. Interested parties, please come!

Revision history for this message
Terran McCanna (tmccanna) wrote :

Marking this won't fix for the moment I'm working on compiling all the feedback from last year's Evergreen Conference session

Changed in evergreen:
status: New → Won't Fix
Revision history for this message
Bill Erickson (berick) wrote :

Thanks to Terran for compiling notes. Working now to review, etc.

Changed in evergreen:
status: Won't Fix → Confirmed
assignee: nobody → Bill Erickson (berick)
Revision history for this message
Bill Erickson (berick) wrote :

I have a working branch that's ready for eyeballs with a few caveats.

https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/berick/lp1840773-scko-angular-v2

* It's built atop the branch for bug #1904036 so it can use some of its code.

* No new features are implemented. It's just meant to be a direct port at this point.

* It does not yet support workstation logins / management. We need to decide if Hatch should be available to SCKO. Currently, it's not and will require an app store extension change.

The code is essentially part of the Angular staff client application (under /eg2/scko), but the auth token is stored under a separate key from the browser client or the catalog, so access to one does not allow access to the other.

This does not remove any of the existing SCKO UI code, so merging this to EG mainline does not mean it has to be used, which could ease its passage into the core code (but that assumes bug #1904036 is merged or the needed bits are extracted).

Changed in evergreen:
assignee: Bill Erickson (berick) → nobody
milestone: none → 3.10-beta
Revision history for this message
Bill Erickson (berick) wrote :

To address the Hatch issue, I'm rearranging the directory structure to put the 'scko' module under the /staff/ directory, which Hatch already has access to. It will not be part of the staff client proper, though, because it uses a different base module.

Changed in evergreen:
assignee: nobody → Bill Erickson (berick)
Revision history for this message
Bill Erickson (berick) wrote :

Several more commits pushed to branch in my previous comment - 1. (My penultimate comment?)

SCKO app now sits under /staff/scko, which give is access to Hatch for workstations management and printing. (Note, hatch is still not required, just available).

A new link is added to the scko staff login page for Manage Workstations, which opens a new tab to the actual staff client for workstation management.

A pile of other small fixes, etc. as well.

Changed in evergreen:
assignee: Bill Erickson (berick) → nobody
tags: added: pullrequest
Revision history for this message
Bill Erickson (berick) wrote :

Adding a pullrequest because I believe the code has reached parity with the Dojo version. If needed, we can open new bugs for the new features.

Revision history for this message
Bill Erickson (berick) wrote :

New branch:

https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/berick/lp1840773-scko-angular-v3

1. Rebased to latest branch for bug #1904036
2. Adds support for in-place batch renewals in the items out page.
3. Adds message for login failures.

I forgot to mention in a previous comment that this implementation does move the username + password inputs into the same interface, as requested in the bug description.

Revision history for this message
Shula Link (slink-g) wrote :
tags: added: signedoff
Revision history for this message
Terran McCanna (tmccanna) wrote :

Actually, I've found some issues, so I'm going to remove the signoff. Will update with my details here shortly.

tags: removed: signedoff
Changed in evergreen:
assignee: nobody → Terran McCanna (tmccanna)
Revision history for this message
Terran McCanna (tmccanna) wrote :

1) The workstation management option appears as expected. However, when the library setting "Workstation Required" is set to True, it does not require a workstation. (Old version gives workstation registration prompt when this setting is True.) Should this setting still work?

2) Logout doesn't work if print radio button is selected - gives error compiling print template. (Logout with the Email or None works, although I don't think outgoing email is enabled on this test server, so I haven't tested the email functionality.)

3) The option to email receipts appears to be tied to the "Email receipts by default" flag rather than to the presence of an email in the account like the current self-check is. (My test patron has an email address saved, but the email option doesn't appear in the Angular self-check unless I also check the email by default checkbox in the patron account.)

(I'm not connected to a printer today, but will check printing functionality tomorrow.)

Revision history for this message
Terran McCanna (tmccanna) wrote :

But for good news, having the username & password on the same screen is a big improvement and it's really nice to be able to do renewals!!

Changed in evergreen:
assignee: Terran McCanna (tmccanna) → nobody
tags: added: needswork
removed: pullrequest
Revision history for this message
Terran McCanna (tmccanna) wrote :

4) After entering a barcode to checkout, I would expect it to disappear from the scan box but it stays there.

Revision history for this message
Terran McCanna (tmccanna) wrote :

2 Update) Testing from a computer that has a printer attached today - I can now log out without getting the print compile error, so I'm not sure if something has been fixed or if it depends on whether or not a printer is attached?

5) If I log out and then log in with another user, the last barcode I scanned is still in the entry box.

6) Printing is functional, but the font size is so tiny as to make it unusable (see attached). (I confirmed that my normal receipt printer settings are correct by printing from the AngularJS patron interface. Printing from the new Angular patron interface also prints in a tiny font, but I'll report that elsewhere.

Revision history for this message
Terran McCanna (tmccanna) wrote :

FYI - here is a working document that summarizes various meetings and LP tickets: https://docs.google.com/document/d/191G7UKAr7ShPaZ1J-YXW43TRbJjH79C_GNbjSI9nJv8/edit

Revision history for this message
Jane Sandberg (sandbergja) wrote :

This doesn't seem quite ready for the 3.10 slush, but setting it to 3.next because it seems like it will be in good shape for 3.11!

Changed in evergreen:
milestone: 3.10-beta → 3.next
Changed in evergreen:
assignee: nobody → Jane Sandberg (sandbergja)
Revision history for this message
Jane Sandberg (sandbergja) wrote :

Rebased branch at user/sandbergja/lp1840773-scko-angular-3.

It includes signoffs from me and Shula, and some additional fixes:
* Adds an alt to an img that didn't have one, and adds some landmarks too
* Fixes issue #2 that Terran identified. Turns out it happens when an org unit doesn't have hours of operation set for a particular day. The default template has been updated to no longer fail when there is no hours for a particular day.
* Fixes issues #4 and #5 that Terran identified.
* Fixes a compilation error.

I haven't had a chance to look into #1, #3, or #6 yet.

Revision history for this message
Jane Sandberg (sandbergja) wrote :

I pushed a fix for #1, will look into #3 and #6 presently.

Revision history for this message
Jane Sandberg (sandbergja) wrote :

I pushed a fix for #3 and added a missing eg-string. I also confirmed that emails are working (at least locally, using sendmail and mutt) using the steps here: https://wiki.evergreen-ils.org/doku.php?id=dev:email.

I couldn't recreate #6, but I also don't have a receipt printer connected to the computer I was testing on. Perhaps there has been a fix elsewhere, or maybe this appears only when connected to a receipt printer.

Thanks for this awesome new interface, Bill! Hopefully we can get this into 3.12!

Changed in evergreen:
assignee: Jane Sandberg (sandbergja) → nobody
tags: added: pullrequest
removed: needswork
Changed in evergreen:
milestone: 3.next → 3.12-beta
Revision history for this message
Stephanie Leary (stephanieleary) wrote :

Building on top of Jane's branch, I've added toggle classes to the receipt options to address bug 1847130, a wishlist to make the receipt options more touch friendly (which is much easier in Bootstrap 5). While waiting on rebuilds, I did some fairly minimal accessibility cleanup on the whole right column and updated some classes that changed between Bootstrap 4 and 5.

https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/sleary/lp1847130-scko-angular-3-touch-buttons

The rest of this will need a thorough accessibility review, but I'm happy to do that after it's merged.

Revision history for this message
Stephanie Leary (stephanieleary) wrote :

I forgot to add—I’d really like to change the route (again). I keep misreading it as “sicko” when I catch it out of the corner of my eye.

Revision history for this message
Jason Boyer (jboyer) wrote :

Yes, Yeesss!

Anyway, "scko" while short isn't very memorable, and the selfcheck is usually visited directly (at least once, before bookmarking). There's no harm is spelling out selfcheck in the route to make it easier to type / remember.

Revision history for this message
Jane Sandberg (sandbergja) wrote :

Hahaha!

It definitely looked like "sicko"! Here is a branch with a signoff for Stephanie's commit and a commit changing the route to /eg2/[locale]/staff/selfcheck: user/sandbergja/lp1847130-scko-angular-4

Revision history for this message
Jennifer Pringle (jpringle-u) wrote :

If I click on the View Items Out button (while in a patron account in the self check) nothing happens except I get the below console error:

main.5f76c2d7fc96f0f3.js:3 ERROR Error: Uncaught (in promise): Error: NG04002
Error: NG04002
    at pa.noMatchError (main.5f76c2d7fc96f0f3.js:3:330804)
    at main.5f76c2d7fc96f0f3.js:3:330547
    at main.5f76c2d7fc96f0f3.js:3:49333
    at z._error (main.5f76c2d7fc96f0f3.js:3:48812)
    at z.error (main.5f76c2d7fc96f0f3.js:3:39934)
    at z._error (main.5f76c2d7fc96f0f3.js:3:40177)
    at z.error (main.5f76c2d7fc96f0f3.js:3:39934)
    at z._error (main.5f76c2d7fc96f0f3.js:3:40177)
    at z.error (main.5f76c2d7fc96f0f3.js:3:39934)
    at z._error (main.5f76c2d7fc96f0f3.js:3:40177)
    at q (polyfills.639b7e14253a83b2.js:1:16007)
    at q (polyfills.639b7e14253a83b2.js:1:15557)
    at polyfills.639b7e14253a83b2.js:1:16839
    at v.invokeTask (polyfills.639b7e14253a83b2.js:1:7210)
    at Object.onInvokeTask (main.5f76c2d7fc96f0f3.js:3:208164)
    at v.invokeTask (polyfills.639b7e14253a83b2.js:1:7131)
    at M.runTask (polyfills.639b7e14253a83b2.js:1:2575)
    at _ (polyfills.639b7e14253a83b2.js:1:9227)
    at m.invokeTask [as invoke] (polyfills.639b7e14253a83b2.js:1:8291)
    at Z (polyfills.639b7e14253a83b2.js:1:20869)

Revision history for this message
Jennifer Pringle (jpringle-u) wrote :

For consistency, the password fields (both for library staff and when password is enabled for patrons) should have the visibility button like the staff client and My Account.

Revision history for this message
Jennifer Pringle (jpringle-u) wrote :

Not sure if it's just how the the concerto permission groups are set up or an actual issue with the permissions but on the bug squashing server I can only do the initial log into the self check if I'm using a global administrator account.

Changed in evergreen:
assignee: nobody → Jane Sandberg (sandbergja)
Revision history for this message
Jane Sandberg (sandbergja) wrote :

Thanks, Jennifer! I pushed a fix to #24.

For #25, I added the visibility button to the staff login. I didn't have a chance to add it to the patron login yet.

For #26, I'm seeing the same behavior on terran-main. However, locally, I'm seeing quite the opposite behavior: *anyone*, including patrons(!), could log in as staff to start up the selfcheck. I changed the login parameters to match those of the classic selfcheck to fix this issue -- I wonder if this might help the issue you identified on terran-main as well.

Revision history for this message
Jane Sandberg (sandbergja) wrote :

Password toggle added to the patron login screen as well. Thanks, Jennifer. I think this is now ready for more testing.

Changed in evergreen:
assignee: Jane Sandberg (sandbergja) → nobody
Revision history for this message
Joan Kranich (jkranich) wrote :

I am on the items out screen and click the Home button. Nothing changes. Where should Home take the user?

Revision history for this message
John Amundson (jamundson) wrote :

I'm noticing the same behavior as Joan. Without Home working, there doesn't seem to be a way to get back to the "checkout" part of the interface?

The address behind Home is https://terran-testbox.gapines.org/eg2/en-US/staff/scko. This doesn't seem to follow the formula of the other URLs:
- https://terran-testbox.gapines.org/eg2/en-US/staff/selfcheck/items
- https://terran-testbox.gapines.org/eg2/en-US/staff/selfcheck/holds
Not sure if that's relevant.

Revision history for this message
John Amundson (jamundson) wrote :

Also, it seems like the Inactivity timeout is a little (a lot) too aggressive.

For BR3, I set inactivity timeout to 120 seconds since the initial setting was timing me out faster than I could test.

Even with the setting set, when I get the inactivity modal and click "Continue Session", the client will still log me out about 10 seconds later even if I've actively clicking and moving between pages within the self-check.

I attempted to log back in, and I got bombarded with Inactivity Timeout messages right away. At one point, I couldn't even keep up with all of them because they just kept coming. Once I managed to log back in, it signed me out within a few seconds.

Revision history for this message
John Amundson (jamundson) wrote :

When logging in as staff, the Password field is prefilled with the value "undefined". This should be blank instead. It's confusing because it shows up as the little dots before clicking the eye and it can look like the password is already entered to the user.

Revision history for this message
Joan Kranich (jkranich) wrote :

I also experienced the behavior John describes in comments #31 and #32 and recreated it several times.

I tested checking out an item with an alert message and an item with a Canceled Transit status. The ability to check out the items was inconsistent. Sometimes the checkout was successful and other times I got a message There was an issue checking this item out. Please ask a staff member for help.

The message does not clear if going to View Items Out or View Holds.

I tested in Chrome.

Bill Erickson (berick)
Changed in evergreen:
assignee: nobody → Bill Erickson (berick)
Revision history for this message
Bill Erickson (berick) wrote (last edit ):

New branch:

https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/berick/lp1847130-scko-angular-v5

* Sign-off's for Jane's commits (thanks!!)
* Fix issues with inactivity timeout.
* Remove/replace some old BS4 classes
* Clear username/password values on component load so 'undefined' is not pre-populated in some inputs.
* Clear checkout error messages when navigating away from the checkout page.
* Fix Home button route/url.
* Add a dash of margins on the skrunched login forms.

I have not looked at the alert message / canceled transit comments yet.

Changed in evergreen:
assignee: Bill Erickson (berick) → nobody
Changed in evergreen:
milestone: 3.12-beta → 3.next
Revision history for this message
Joan Kranich (jkranich) wrote :

In this 2018 bug https://bugs.launchpad.net/evergreen/+bug/1809263, I commented after consulting with our C/W MARS self check libraries, the libraries prefer that an item alert not block a check out. It would be helpful if this bug is resolved that there be an option (probably a Library Setting) to block or not block the check out of an item with an item alert with the ability to set it at the library depth.

I think in general it would be good to not block the check out if there is an item alert.

Revision history for this message
Jennifer Pringle (jpringle-u) wrote :

I like the idea of a library setting so that libraries can chose whether or not an item alert blocks check out for their self check.

We have libraries with Library of Thing collections that they don't want circulated via the self check and item alerts would be one option for blocking these items.

It would actually be handy if there was a way through circulation policies or shelving location/item flags to mark items to not circulate through the self check (but I think that is way outside of the scope of this work).

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.