SIP2: Protocol for self-checkout (UXPROD-1001)

[SIP2-162] SIP2 settings section in FOLIO UI Created: 15/Sep/22  Updated: 05/Feb/24

Status: Draft
Project: sip2
Components: None
Affects versions: None
Fix versions: None
Parent: SIP2: Protocol for self-checkout

Type: Story Priority: P3
Reporter: Carole Godfrey Assignee: Tim Auger
Resolution: Unresolved Votes: 0
Labels: front-end
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: PNG File Screenshot 2023-01-02 at 4.31.29 PM.png     PNG File image-2023-07-10-18-05-59-111.png     PNG File image-2023-07-10-18-08-15-130.png    
Issue links:
Defines
defines UXPROD-4412 FOLIO SIP2 configuration Draft
Sprint:
Development Team: Volaris
Release: Quesnelia (R1 2024)
Affected Institution:
!!!ALL!!!
Epic Link: SIP2: Protocol for self-checkout
RCA Group: TBD

 Description   

As a FOLIO administrator, it would be helpful if there were a section in FOLIO settings where I could update FOLIO configuration

Configuration entries (noted https://github.com/folio-org/edge-sip2#folio-configuration)
are currently created by making api request to mod-configuration. This process is error prone (editing escaped json) and cumbersome.

A settings UI for this would make the process easier

Excel Link - SIP2-120.xlsx

Additional information:

https://github.com/folio-org/mod-configuration#deprecation

mod-configuration

Deprecation

This module is deprecated. Please do not add new configuration values to this module.

Instead, consider either:

  • Using mod-settings, a conceptually similar centralized-configuration module which fixes the security flaw that makes this module unsuitable.
  • Creating CRUD APIs to store configuration and settings values in the storage module they belong to.

At present (May 2023) a Technical Committee working group is determining which of these two courses to recommend under which circumstances. Until that group returns its recommendations, developers should use their own judgement, but should definitely avoid mod-configuration.



 Comments   
Comment by Priyanka Terala [ 02/Jan/23 ]

Hi Carole Godfrey ,

Could you add some UX screens for the section in FOLIO Settings?

Comment by Carole Godfrey [ 02/Jan/23 ]

Priyanka Terala – Sorry I dont have specifics for UX screens as I am not a UX designer

I would suggest having a screen which allowed someone to enter details for the general config named acsTenantConfig

And then be able to enter 1 or more entries associated with defined service point(s) that will be used for SC(s)

Such as is observed in bugfest selfCheckoutConfig.0a6f5d5e-344c-4aae-b98f-2ff84dc68a8e

https://bugfest-mg.int.aws.folio.org/settings/developer/okapi-configuration

The idea would be to be able to enter details via a defined ui (instead of entering escaped json via an api call to mod-configuration)

https://github.com/folio-org/edge-sip2#example-configuration-object
https://github.com/folio-org/edge-sip2#example-configuration-object-1

Comment by Tim Auger [ 04/Jan/23 ]

Hi Priyanka Terala I've started a conversation with our UX designer. Will keep you apprised of where we land. Thanks!

Comment by Tim Auger [ 05/Jan/23 ]

Priyanka Terala I'll need to write up some details for the UX designer but she will help us. I'm a bit slammed at the moment but can add this to my list for tomorrow afternoon my time.

Gurleen Kaur1 

Comment by Tim Auger [ 08/Jan/23 ]

I've setup a time with Carole to review her thoughts on what of all of the configuration elements should be implemented. It should be pretty straight forward to write up with Kimie needs afterward.

Comment by Tim Auger [ 13/Jan/23 ]

Met with Kimie. She explained what will advance her understanding of what is needed to create a UX mock. I'm out of office next week and wont have time today to draft the required details. Perhaps on the flight back home from England on 1/21/23...

Comment by Tim Auger [ 27/Mar/23 ]

Irina Pokhylets Kimie Kester Priyanka Terala I'm finally getting back to this issue. This is the beginning of the mocks I'm creating. I should be done by the end of week. 

 

cc Gurleen Kaur1 

Comment by Tim Auger [ 29/May/23 ]

Irina Pokhylets Priyanka Terala Gurleen Kaur1 

I've [finally]updated the mocks. Whenever we are ready to go, happy to walk it through.

Comment by Priyanka Terala [ 23/Jun/23 ]

Hi Tim Auger 
Thank you for the mocks.

Tim Auger Irina Pokhylets 

Below observations/queries will apply to both the workflows - "ACS Tenant" and "Kiosk.

Some are based on mocks. And others form functional perspective (Most of them might come up from additional stories that you may create, but, calling them out now...).

  1. Mocks for "new" forms (that open up after clicking "+New" button) are needed.
  2. What are the items in Actions Menus?
  3. Mocks for screens associated with actions menu item click are needed.
  4. What are the default values for properties?
  5. What are the field level validations?
  6. How many Kiosks/ACS Tenants can be created? Is there a limit?
  7. Doesn't Kiosk and ACS Tenant detail pages have a pane title?
  8. Alignment of text (ACS Tenant/Kiosks) and button(+New) is not on the same lines of other screens. Is this, ok?
  9. How does the list of tenants look like on pane3?
  10. Doesn't detail screen flow till the end like Settings - FOLIO
  11. Any possible "callouts"?
  12. Do we have permissions defined for these pages?
  13. APIs are needed for CRUD operations.

This feature calls for creation of new FE module. Could you provide me documentation links for associated procedures, checklists and workflows?

Also, I think -
1. new Jira project for new FE module to be created.

2. this ticket to be moved to the new project.

cc Gurleen Kaur1 

Comment by Tim Auger [ 04/Jul/23 ]
  1. Mocks for "new" forms (that open up after clicking "+New" button) are needed.
    1. >>TA: I will ask Kimie to prepare.
  2. What are the items in Actions Menus?
    1. >>TA: If best, I will specify in the mocks including order.
  1. Mocks for screens associated with actions menu item click are needed.
    1. >>TA: I will ask Kimie to prepare.
  2. What are the default values for properties?
    1. >>TA: I'll outline in the current mocks.
  1. What are the field level validations?
    1. >>TA: I'll outline in the current mocks.
  2. How many Kiosks/ACS Tenants can be created? Is there a limit?
    1. >>TA: Great question! 2048? 
  3. Doesn't Kiosk and ACS Tenant detail pages have a pane title?
    1. >>TA: Yeah. I think it should. I lazily drafted the mocks.
  1. Alignment of text (ACS Tenant/Kiosks) and button(+New) is not on the same lines of other screens. Is this, ok?
    1. >>TA: I gave a crude rendering. If Kimie does it justice, I'll be thrilled that I could keep mine low fidelity.
  2. How does the list of tenants look like on pane3?
    1. >>TA: I've added notes to that and all other fields by adding Type and Default and corresponding values. 
  3. Doesn't detail screen flow till the end like Settings - FOLIO
    1. >>TA: I can call attention to Kimie on that.  thanks.
  4. Any possible "callouts"?
    1. >>TA: I would like your thoughts on that. Or, I could ask Kimie to add. 
  5. Do we have permissions defined for these pages?
    1. >>TA: No. I will add.
  6. APIs are needed for CRUD operations.
    1. >>TA: I'm assuming a backend developer would take this on first and then you would take on the rest?
Comment by Tim Auger [ 05/Jul/23 ]

Priyanka Terala I've updated the mocks to address a few things including the absence of a couple more config elements mentioned by Carole Godfrey. For you and/or Gurleen Kaur1 the additional config elements mentioned by Carole: currency and language. But I cannot locate them within the GitHub documentation.

Kimie Kester I will follow up with you on the mocks. Mine are a little lacking your review and refinements. I will setup a time to walk through them. 

Comment by Kimie Kester [ 07/Jul/23 ]

Hi Tim Auger , Priyanka Terala, and Irina Pokhylets I am working on updated mocks. I hope to post them today. Please standby. Thanks!

 

Comment by Kimie Kester [ 07/Jul/23 ]

Hi Tim Auger, Priyanka Terala , and Irina Pokhylets I've posted some updated mocks with a new idea for ACS tenant. I am under the impression that there is just one ACS tenant so I am wondering if we can take a simplified method of creating one screen for it.

Please click through these in order and see what you think of the approach. 

https://drive.google.com/drive/folders/1d-lJp1qYtkxOrqhqi_nQLAJA1yo1JUSB?usp=drive_link

cc: Gurleen Kaur1 

Comment by Gurleen Kaur1 [ 10/Jul/23 ]

Hi Kimie Kester , Tim Auger ,

Just to be clear as per the flow of the mocks its says that first Kiosk entry should be created, so I believe that is because the ACS tenant config would be bound to a particular Service Point location (terminal Location) as a one-on-one relationship. Therefore, multiple ACS tenant config will not be present for the same Kiosk. If yes, then the follow up question is if the  Kiosk is deleted then ACS tenant config will also be auto deleted ? 

Few more comments after taking a look at the mocks - 
1. The Kiosk Form has some missing properties (total of 7 properties i guess) that are listed in the doc (https://github.com/folio-org/edge-sip2#kiosk-service-point-properties)  for e.g., acsRenewalPolicy and terminalLocation ?
2. Is there a need to display the metadata information like who and when was this config created/updated on this screen ?
3. Please note from BackEnd perspective the code changes would be in mod-settings module as mod-configuration has been deprecated. 
4. I believe in both the ACS Tenant and Kiosk form  an "enabled": true checkbox is missing.

CC: Priyanka Terala , Irina Pokhylets 

Comment by Carole Godfrey [ 10/Jul/23 ]

As I understand configuration information will be moved from mod-configuration to mod-settings - will module upgrade scripts be handling this for existing tenants when upgraded?

Comment by Kimie Kester [ 10/Jul/23 ]

Hi Gurleen Kaur1 Thank you for the detailed feedback. I am a UI/UX designer so I have very limited understanding of the backend. I am relying on the rest of you on the team to guide me and am happy to do whatever makes sense to you from a technical perspective.

So in general terms, can you confirm for me if it makes sense to have the ACS tenant form on a single screen as I've proposed? And the only edit at this point that would need to be made is to include an "enabled" checkbox? I had actually thought of including that because I know I have seen it for other areas in Settings but I held back from including it. So I am happy to hear you mention it.

As for edits to the Kiosks screen, I will think about those separately. Thank you for the feedback. I am just trying to get some confirmation on the ACS tenant screen and its approach for now. Thanks!

 

Comment by Kimie Kester [ 10/Jul/23 ]

Hi Irina Pokhylets On the 5-new-kiosk.png, if "Duration" is not required, and just timeout period is needed, what do you expect would happen if the dropdown is clicked? Would a person select 30 seconds, 1 minute, 5 minutes, 10 minutes?

Also if we need terminal location field, would the label say "Terminal location" followed by a dropdown list?
https://github.com/folio-org/edge-sip2#kiosk-service-point-properties

Comment by Irina Pokhylets [ 10/Jul/23 ]

Hi Kimie Kester,

Thanks for the mockups, your simplified approach is great!

From the documentation for config, timeout period is “the number and should be between 0 and 999, where 0 means that FOLIO is not online and 999 means the time out is unknown. The number is expressed in tenths of a second.“ I see that in the current config for Volaris env, it’s \"timeoutPeriod\": 5. Maybe this field shouldn't be a dropdown? Just input with an indication of milliseconds. Something like this...

The terminal location could be the location of the kiosk within the library or the UUID of the service point (something like this “\"terminalLocation\": \"e0ab8c91-2a4a-433d-a3cf-1837053c89a8\”).

I would refer to developers' opinion, if it is possible to get the list of SP and whether it will work or not. So can be a dropdown for now and then we can make it a simple input.

Also two cents on “supported messages”, as users may not be aware of the list of available messages, I thought maybe to show all of them, something like this. But again the thought Priyanka Terala will be highly appreciated.  

Comment by Gurleen Kaur1 [ 12/Jul/23 ]

hi Kimie Kester
My response - 
So in general terms, can you confirm for me if it makes sense to have the ACS tenant form on a single screen as I've proposed? - Yes, I think that is fine as the ACS tenant config will be mapped to a particular service point location (Kiosk). Tim Auger  your thoughts ?

Comment by Kimie Kester [ 12/Jul/23 ]

Hi Gurleen Kaur1 and Irina Pokhylets Thanks for your feedback and suggestions. I've made some updates to the mocks so please refresh this directory and take a look when you have a moment.

https://drive.google.com/drive/folders/1d-lJp1qYtkxOrqhqi_nQLAJA1yo1JUSB?usp=drive_link

  1. For the Kiosk timeout, could the Devs do some calculations behind the scenes so that we could show something like "minutes" instead of milliseconds? Please see mock 5-new-kiosk.png
    I think that would be easier for people to understand since people normally don't think in terms of milliseconds.
  2. On the ACS tenant page, for Supported messages, I think we could just show them as checkboxes and we don't need to put in all the extra shading, ok? I cannot claim to understand what the supported messages mean or if the labels make sense to users. So maybe Tim Auger can shed some light on that.

Thank you!

Comment by Tim Auger [ 18/Jul/23 ]

Kimie Kester Gurleen Kaur1 Irina Pokhylets Some answers below...

So in general terms, can you confirm for me if it makes sense to have the ACS tenant form on a single screen as I've proposed? - Yes, I think that is fine as the ACS tenant config will be mapped to a particular service point location (Kiosk). Tim Auger  your thoughts ?
 
>>TA: Yes, agreed that it makes sense. There is only one ACS Tenant and it is segmented by tenant and each tenant will have zero, one or many Kiosks. 

1. For the Kiosk timeout, could the Devs do some calculations behind the scenes so that we could show something like "minutes" instead of milliseconds? Please see mock 5-new-kiosk.png
I think that would be easier for people to understand since people normally don't think in terms of milliseconds.

>>TA: I agree but let's use seconds instead of minutes. I think it's common to keep the timeout duration to the minimum because the assumption is, like an ATM kiosk, that the user walked away without signing out...I would hazard a guess that 15-20 seconds would be standard. Also, I am pretty confident that the clients time out on their own so it may not make much difference provided the server holding onto the last patron doesn't cause data re-appropriation or leakage or collision.

2. On the ACS tenant page, for Supported messages, I think we could just show them as checkboxes and we don't need to put in all the extra shading, ok? I cannot claim to understand what the supported messages mean or if the labels make sense to users. So maybe Tim Auger can shed some light on that.

>>TA: I think your suggestion is fine. I would also suggest that we all values be defaulted to "checked" as that will meet the use case best. The labels make sense. 

Comment by Kimie Kester [ 18/Jul/23 ]

Hi Tim Auger Thanks for the feedback. I think I got all the changes.

https://drive.google.com/drive/folders/1d-lJp1qYtkxOrqhqi_nQLAJA1yo1JUSB?usp=drive_link

One other question, should we allow "Duplicate" from the Actions button of the View mode, 7-success.png?

Comment by Tim Auger [ 19/Jul/23 ]

Thanks Kimie Kester yes, I think we should make duplicate available as it is likely that most libraries will have more than one kiosk. Thank you for asking!

Comment by Kimie Kester [ 19/Jul/23 ]

Ok cool Tim Auger Duplicate has been added to the Actions menu of 7-succes.png.

https://drive.google.com/drive/folders/1d-lJp1qYtkxOrqhqi_nQLAJA1yo1JUSB?usp=drive_link

Comment by Tim Auger [ 19/Jul/23 ]

Generated at Fri Feb 09 00:39:44 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.