Tuesday, March 24, 2015

Offline Data Management in BlueBox ePOS

BlueBox ePOS stores data offline to speed up sale processing and allow operating in non-connected times of the day.

Here is an overview of the process:
  • BlueBox ePOS is a web-page which uses Javascript and an offline flat-file database to process sales without interacting with the server.
  • When the ePOS page is loaded by FireFox, it checks for an offline flat-file database and if not found, tries to create a blank database.
  • It then connects with the server (through a series of page refreshes) and establishes which till it is representing and which till-session it is currently running.
  • If it does not find an open session it will challenge the user for an opening float and open up a new session by redirecting back to the server.
  • Once a session is found and a blank offline database is created it will then start downloading the category and product info from the server and storing this offline. This is done in the background in 'pages' of 500 products and can be seen in the bottom right hand corner of the screen. (An optional optimisation setting restricts the number of products downloaded to only include the commonly sold items).
  • If, while the product catalogue is downloading, a product is scanned or requested which has not yet been downloaded, the system will fall-back to searching the server for the sku_code. This also happens during the day if a sku_code is requested which cannot be found offline, perhaps because it did not qualify as a commonly sold item etc.
  • As sales are made they are stored offline first, and then immeditely added to the sync-to-server queue. The queue is 'pushed' after each sale and will attempt to send the oldest transactions first. A number indicating the number of un-synced transactions is displayed just above the num/key-pad on the screen.
  • If an error occurs while syncing the queue a small red counter will display just above the num/key-pad on the screen. The queue should automatically keep itself syncronised, but if for some reason ( ie data corruption of a sale etc) it gets blocked then there is a manual 'force sync' setting in the 'Sales History' section of the menu.

4 comments:

  1. Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me. big data analytics

    ReplyDelete
  2. I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business. website management

    ReplyDelete
  3. Another learning upshot! Thanks for this worthwhile content! Points and Trick

    ReplyDelete
  4. I needed to thank you for this incredible read!! I unquestionably adored each and every piece of it. I have you bookmarked your site to look at the new stuff you post Babar Azam vs Virat Kohli

    ReplyDelete