Chromis Sync User Guide
Chromis Sync User Guide
Version: 0.1
Created: 1st August 2016
Author: John Lewis
ABOUT CHROMIS
Chromis is an open source point of sale application and is free to own, use and modify for both personal
and commercial purposes under the GPLv3 license. It was forked from Unicenta oPOS by John Lewis.
Chromis Sync is an add on to the main application, whilst the application will still be made available to
the users of Chromis POS, it is released under a closed source licence, which means that the source code
will not be made available to the public.
INTRODUCTION
This guide is designed to assist in understanding the sync process and how it works within the Chromis
POS application. It is important to be aware that this will only work with MySQL at this moment in time.
You have a store and office that are separate in locations, and you would like to be able to manage the
stores database from your office.
o Place the database in the cloud, and connect to it remotely from both locations
o Place the database at the store and connect to it remotely from the office
o Place the database in the office and connect to it remotely from the store
o Place the database in the store and use a remote desktop method to manage it
While any of the above options will work they are not ideal, they all rely on a single database source and
is only really ideal for a single site units.
This becomes more difficult if you have multiple sites, you would need to use locations within Chromis.
Using any of the above requires that you have very good network connections to work effectively.
How does Sync overcome this?
Chromis synchronisation (sync) enables the user to overcome the above issues by allowing a separate
database at each site.
It is important to remember that a site is a complete database, not a location within the database. These
databases are not identical copies of each other, but independent operation entities.
When setup the process consists of at least 2 databases, this is for a single site.
There is then a data exchange between the two databases, so that a change in the office copy of the
database is replicated back in the store.
Not all of the tables are involved in the data exchange between the site and the server. Only the core
tables are involved in this.
ROLES
PEOPLE
CATEGORIES
TAXCATEGORIES
TAXES
TAXCUSTCATEGORIES
FLOORS
PLACES
CLOSEDCASH
CUSTOMERS
THIRDPARTIES
SHIFTS
BREAKS
SHIFT_BREAKS
LOCATIONS
LEAVES
VOUCHERS
RESERVATIONS
RESERVATION_CUSTOMERS
PROMOTIONS
ATTRIBUTE
ATTRIBUTEVALUE
ATTRIBUTESET
ATTRIBUTESETINSTANCE
ATTRIBUTEUSE
ATTRIBUTEINSTANCE
PRODUCTS
PRODUCTS_COM
PRODUCTS_KIT
STOCKCHANGES
STOCKDIARY
STOCKLEVEL
STOCKCURRENT
RECEIPTS
TICKETS
TICKETLINES
PAYMENTS
TAXLINES
DBPERMISSIONS
RESOURCES
When the sync process is run, there are number of steps involved in the execution of the task.
The above tables are monitored for any changes to the data held, this includes
Insert
Updates
Deletions
All changes in the data are held in a dedicated table ready for the first processing step.
Once this data has been processed, it is moved to another table to be transferred to the remote
database; this could the Central database or the site. It is important to remember that site to site data is
not exchanged.
When the sync process is then run on the remote database, the transferred data is processed into that
database.
The sync process needs to run at both ends of exchange for all changes to be reflected in each database.
You would decide which best for your situation depending upon how you have setup your systems. If
you use a dedicated MySQL server then the best option is to use the sync application, this is not really
recommended if your database also resides on the POS.
OPERATING MODELS
Single site
Multiple sites
Central - HO
You are required to have MySQL install at each site and Central office, and allow connections to the
database from other IP addresses. It recommended that you use a different username and password for
each site, this is not essential, but assists with security.
While the sync process will work over the internet if the database can be accessed using that method, it
is best to try and use a VPN connection to the each site, for extra security.
Note that this will not explain how to configure MySQL server, it assumes that you have the ability to
perform those steps.
To assist in setting up the sync process, you will require the following
It is assumed that if you reading this, you are already with how to install Chromis POS, and this guide will
not cover that.
Complete a Chromis POS install on your central Server, at this stage do NOT do anything else with the
system.
This will need to be installed on all servers that will be running the Automatic sync process.
Click Next
Click Next
Click Next
Click Finish
If you are using Windows You should have the 2 icons above on your desktop.
PREPARING THE DATABASES
Install your site database, (you can use an existing database providing it is running Chromis V0.60 or
higher).
You should now have 2 databases, ready for the sync configuration to be installed.
Run ChromisSync.
This can be run from any server, but you must be able to connect to all servers that will be involved the
sync process.
The configuration screen consists of 2 areas
At this moment in time we have no servers configured, so the first thing we need to do is the Central
Server.
Complete the details for the connection to your Central server, you can also apply a name for your
Central Server, this will then be recorded in the database.
Once you have completed the connection details, Click Check Server Status
The application will check your database is available and ready for you. If the response takes a while it
indicates a problem.
Once connected you will be shown the GUID for the server, along with the message Stage one of
Central Server checks passed...
The next stage is to activate the server to become the Central system.
Click Activate Central
You should now be rewarded with the above panel, indicating that all is good.
Once all the stages have been completed, this will allow a site server to be added.
Complete the connection details for your site. And add the site name, this will be used in all reports.
Once it has been confirmed that the connection is good you can activate the site server.
Once the transfer is complete the Transfer Site Data will be disabled.
If you wish to add additional sites at this stage if you wish, just change the configuration details and
repeat the process of activation.
If you wish to change the name of your site, enter the new name into the Site Name text area and the
Update Name button will appear.
The Save button will save you current settings to it properties file. When you go back into the
application it will read the database URL, Username and Password into the panel.
When you click Check Server Status, the form will be completed by reading the database.
CONFIGURING THE AUTOMATIC SYNC PROCESS
If you intend to run the sync process manually you do not need to complete the following.
This need to be completed for each server involved in the automatic sync process. The ideal situation
would to be to have this installed on the same machine as the database or on the same LAN as the
server.
The first time it is run, you need to complete the configuration profile.
You can change the time interval for the sync process, this by default is every 15 minutes (which is the
minimum setting using the GUI).
Enable Remote Transfer switches on the transfer of data from this server to its remote partners(s). If
this is disabled the remote partner will need to fetch its changes, either manually or using its automatic
sync process.
Once complete click Save & Exit to close the configuration screen.
This time the auto sync dialog will be shown, because you have saved your settings. This must be left
open all the time, as the sync process is currently not a service, if it closed the auto sync will not run.
If you wish to override the timer and run a manual sync this can be done at any time by clicking the
Sync Now button.
Repeat the above on all servers that require an auto sync process.
It is important that you now understand how the new system functions.
There are a number of changes to the screens within the software when running the central system.
There are no visible changes to the system for usage at a site or POS.
It is important to remember that the central system is an Administration system and should NOT be
used to conduct sales or refunds. If you require this function create a new site based around this and
sync it to the process.
Each site operates independently of each other. They have nothing in common.
If you start to supply a new product, it needs to be created for all sites, and will not be the same product
as seen by the database, this has the advantage that each site can charge a different amount if required.
Users for one site will not work at another site, unless you create it in both with the same details.
When you start Chromis, it will detect if the database is the central system or a site, and react
accordingly.
There is also new launch point available for the administration console. When Chromis is started using
this option, you will be presented with a new screen to login via. You may use this without it being the
central system, when using the administration console, there is no ability to handle sales etc.
The first thing you will notice is the fact that it is now menu driven, as are most modern applications.
You will now see a screen that you should recognise with some minor differences.
There is now an area By Store details.
This is where you select the store you wish to work with. At this point if you add a new product it will be
added to the store selected. This product will then be placed it the sync queue ready for the next sync
process.
If you are allowed to add details for the Central system in any of the screens, you will be given the
option in the store details drop down box.
So the basics of adding, updating and deleting most items in the system are the same as before, with
one exception.
If you had a stock diary entry in the central system for any store, the stock quantity is not added
immediately to the stockcurrent table. There is a new table called Stockadjust where the details are
added ready for the sync with the store. Once the store as the details in its table it will then add the
stock to the inventory.
This is to prevent incorrect stock levels being registered in the system. If you changed the stock level at
Central this would override the levels at the store which may have been decreased due to sales, or
another delivery has been entered.
Report changes
The only other change is the reports sections and what information they show.
Again the basic layout is almost identical to the previous versions, except you can now select the store
you require the information from.
So that is the basic of the new sync process and central administration server.