chromis sync user guide - sourceforge · you would decide which best for your situation depending...

19
CHROMIS SYNC USER GUIDE Version: 0.1 Created: 1 st August 2016 Author: John Lewis

Upload: others

Post on 09-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chromis Sync User Guide - SourceForge · 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

CHROMIS SYNC USER GUIDE Version: 0.1

Created: 1st

August 2016

Author: John Lewis

Page 2: Chromis Sync User Guide - SourceForge · 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

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, point of sale & Chromis Kitchen Screen.

Copyright (C) 2015 John Lewis

www.chromis.co.uk

This program is free software: you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

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.

Let us consider the following situation.

You have a store and office that are separate in locations, and you would like to be able to manage the

store’s database from your office.

You have a few options that you could employ

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.

Page 3: Chromis Sync User Guide - SourceForge · 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

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.

• One at the store

• One at the office

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.

So what data is exchanged?

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

Page 4: Chromis Sync User Guide - SourceForge · 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

• STOCKCURRENT

• RECEIPTS

• TICKETS

• TICKETLINES

• PAYMENTS

• TAXLINES

• DBPERMISSIONS

• RESOURCES

How is the data exchanged?

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.

When does the sync process run?

The sync process is run using one or a combination of 2 methods.

• Manually, by the user

• Automatically, using Chromis sync application

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.

Page 5: Chromis Sync User Guide - SourceForge · 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

OPERATING MODELS

The following show example so two types of operating models

• Single site

• Multiple sites

Single Site to Central Office Option

Store - Site Central - HO

Central - HO

Store 1 Store 2 Store 3

Multi Site to Central Office Option

Page 6: Chromis Sync User Guide - SourceForge · 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

INSTALLING THE APPLICATION

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

• Chromis POS Installer

• Chromis Sync Tools

Install Chromis POS

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.

Install Chromis Sync Application

This will need to be installed on all servers that will be running the Automatic sync process.

Locate and run ‘ChromisSync’.

Click ‘Next’

Page 7: Chromis Sync User Guide - SourceForge · 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

Click ‘Next’

Click ‘Next’

Click ‘Finish’

Page 8: Chromis Sync User Guide - SourceForge · 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

If you are using Windows You should have the 2 icons above on your desktop.

Page 9: Chromis Sync User Guide - SourceForge · 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

PREPARING THE DATABASES

Setting up the databases for sync.

You are now ready to proceed to the next stage.

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.

Page 10: Chromis Sync User Guide - SourceForge · 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

The configuration screen consists of 2 areas

• Central Server Details

• Site Server Details

Central Server Details

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.

Any error messages will be displayed in the status panel.

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.

Page 11: Chromis Sync User Guide - SourceForge · 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

Click ‘Activate Central’

This will then complete changes on the database.

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.

Site Server Details

We are now ready to start adding the site servers.

Complete the connection details for your site. And add the site name, this will be used in all reports.

Click ‘Check Server Status’

Once it has been confirmed that the connection is good you can activate the site server.

Click ‘Activate Site’

Page 12: Chromis Sync User Guide - SourceForge · 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

The next step is transfer existing data to the central system; this must be done even if you created a new

server.

Click ‘Transfer Site Data’

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.

You have now added you first site to the system.

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.

Page 13: Chromis Sync User Guide - SourceForge · 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

When you click ‘Check Server Status’, the form will be completed by reading the database.

Page 14: Chromis Sync User Guide - SourceForge · 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

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.

Locate and run ‘Chromis Auto Sync’.

The first time it is run, you need to complete the configuration profile.

Complete the connection details

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).

Page 15: Chromis Sync User Guide - SourceForge · 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

‘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.

Now open the application again.

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.

The dialog shows

• The current server time

• The time of the next sync

• The sync interval set

• If it is enabled for remote servers

• Basic details from the last sync run

• The version of the sync library file being used

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.

Congratulations you are now ready to use the system.

Page 16: Chromis Sync User Guide - SourceForge · 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

USING THE NEW CONFIGURATION

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.

So let us consider some of the new screen changes

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.

If you so wish, you can still start Chromis as normal.

Page 17: Chromis Sync User Guide - SourceForge · 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

So now let us now logon to the system, the user rights work in the same way as the normal version.

The first thing you will notice is the fact that it is now menu driven, as are most modern applications.

As you should notice there is no ‘Register option’ available.

Basic tour of the system.

From ‘Stock Management’ select ‘Products’

You will now see a screen that you should recognise with some minor differences.

Page 18: Chromis Sync User Guide - SourceForge · 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

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.

For this example we will look at the ‘category sales report’

Again the basic layout is almost identical to the previous versions, except you can now select the store

you require the information from.

But first we will get a report for all sites.

Page 19: Chromis Sync User Guide - SourceForge · 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

As you can see the report is broken down by site to enable you to collect the information in an easier

format to understand.

If we now select an individual site.

The report only reflects those sales.

This principle has been applied to all reports if possible.

So that is the basic of the new sync process and central administration server.