Anonymous | Login
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
TypeCategorySeverityReproducibilityDate SubmittedLast Update
feature request[POS2] POSminorhave not tried2021-06-24 15:592021-07-20 11:13
Reportertimothee_catteeuwView Statuspublic 
Assigned ToRetail 
PrioritynormalResolutionopenFixed in Version
StatusnewFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget VersionTAP
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo

0047245: JIRA 2124 - Axis C3 initialization start for every login

DescriptionFor every login to Webpos, Axis C3 initialization start, here there are 2 possible behaviors :
- If the AxisC3 init configuration was not done, an error message appears
--> that case has to be correctly managed if no AxiC3 is configured on the related touchpoint
- Otherwise Axis C3 initialization start and check every components related to payment methods

In both cases, this initialization has not to be done for each login, it is really annoying because that will waste cashier's time as soon as he want to use the till.

2 possibilities in order to avoid this behavior :
- launch the initialization just once a day (or less frequently)
--> ideally trough a parameter in channel touchpoint menu allowing to configure the time between 2 init
- launch the initialization in background mode. It will allow to use WebPOS but the card payment method will not be available in that case before finishing the process
Steps To ReproduceTested with a channel touchpoint correctly configured in Axis C3 terminal configuration available in the related menu on BO (cf. this doc [^])
- Host : localhost
- Port : 9518
- Terminal : 00000165
- Prints info checked
- interface : network

Log in WebPOS
The application launch an initialization of payment terminal
Log out
The application launch an initialization of payment terminal
and so on.
Proposed SolutionThe proposal is to continue executing the initialization in the login but only if the device has not been initialized in a period of X hours. X will be a value configured at POS terminal level. If value equals to 0 (the default to not to change the current behaviour), initialization will be executed in every login. A good configuration value to guarantee the initialization will be executed every day can be 16 hours instead of 24 hours to be sure that initialization will happen every day even if one day the cashier logs in some minutes before the previous day.

This way if for example, the configuration value is 16 hours, if the POS terminal logs in at 9:00am and executes the initialization, in the next logins during the day the initialization will not be executed. But if the cashier logs in after 1:00am of the day after, in that moment the initialization will be executed.

This solution must be implemented in the module org.openbravo.retail.asyncpayprovider. As this module is currently in charge of managing the initialization of the device. Now, the function isLoggedIn() is used to check whether the initialization is executed or not. And the flag is set to true in the login, and to false in the logout.

The idea is to add a new check and execute the initialization not only if !isLoggedIn() but also if the previous initialization has happened before than the number of hours configured, and then save the last time the initialization has been executed in the localstorage the same way the logged in flag is saved in the local storage. This way it can be checked when the last initialization has been executed.

Note that the loggedin flag must be set to true and stored whether the initialization has been executed or not.

Note also that there is a menu option to execute the initialization. Saving the last time initialization has been executed must be done in both cases no matter when the initialization happens, in the login, or executing the menu option. I mean the initialization process must be responsible of saving in the local storage the last time the initialization has been executed.

TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
adrianromero (manager)
2021-06-25 12:21
edited on: 2021-06-25 12:25

This is the intended behaviour. As especified by the he AXISC3 integration documentation by Ingenico, the POS APPLICATION must send an initialization command to the C3 to initialize the payment. And it is recomended upon the opening and closing of each sales session.

Actually the normal operation of a POS is to login one time or two a day. Initalization takes few seconds.

dmiguelez (developer)
2021-06-25 13:01

Updated as Feature Request and minor due to the comment from Adrian.

The feature request would be to try to store information for one day, for example, to avoid some of the actual calls
timothee_catteeuw (developer)
2021-06-29 17:44

Feedback received by email :

→ Indeed, initialization must be performed daily at the start and end of the day. Therefore, initialization at the start of each session is not useful if the initialization has already been performed at the start of the day

So behavior to adapt and as a reminder :
2 things to keep in mind → in restaurant context, users close and open their sessions frequently in comparaison with retail. And secondly, according to my tests we need to wait for at least 15-20 seconds, that’s very long.

Correction to plan.

- Issue History
Date Modified Username Field Change
2021-06-24 15:59 timothee_catteeuw New Issue
2021-06-24 15:59 timothee_catteeuw Assigned To => timothee_catteeuw
2021-06-24 15:59 timothee_catteeuw Triggers an Emergency Pack => No
2021-06-24 15:59 timothee_catteeuw Summary JIRA 2124 - Axis C3 initialization done for every login => ISSUE NOT FINISHED / IN PROGRESS (JIRA 2124 - Axis C3 initialization done for every login)
2021-06-24 16:24 timothee_catteeuw Description Updated View Revisions
2021-06-24 16:24 timothee_catteeuw Steps to Reproduce Updated View Revisions
2021-06-24 16:54 timothee_catteeuw Description Updated View Revisions
2021-06-24 16:55 timothee_catteeuw Assigned To timothee_catteeuw =>
2021-06-24 16:55 timothee_catteeuw Summary ISSUE NOT FINISHED / IN PROGRESS (JIRA 2124 - Axis C3 initialization done for every login) => JIRA 2124 - Axis C3 initialization start for every login
2021-06-24 16:57 timothee_catteeuw Description Updated View Revisions
2021-06-24 16:57 timothee_catteeuw Assigned To => Retail
2021-06-25 12:21 adrianromero Note Added: 0129793
2021-06-25 12:25 adrianromero Note Edited: 0129793 View Revisions
2021-06-25 13:01 dmiguelez Note Added: 0129794
2021-06-25 13:01 dmiguelez Severity major => minor
2021-06-25 13:01 dmiguelez Type defect => feature request
2021-06-29 17:44 timothee_catteeuw Note Added: 0129961
2021-07-20 11:08 adrianromero Proposed Solution updated
2021-07-20 11:13 adrianromero Proposed Solution updated

Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker