This is an old revision of the document!


16.07. Synchronisation preferences

  • Synchronisation preferences are only relevant for a synced system.
  • These preferences can be safely ignored if you have a stand-alone mSupply installation, or a single server.
  • These settings will normally only be changed by Sustainable Solutions. They are not intended for general use by mSupply users.

To view the synchronisation settings choose File > Preferences from the menus and click on the Synchronise tab on the left hand side. This is the window you will see:

When you first arrive at this window, all fields will normally be disabled. If this is a datafile for a correctly configured sync site then all the settings and fields except the Sync time interval field and the Test connection button will be disabled and cannot be edited.

Click on the Click to un-lock button and this window will open:

Enter your unlocking code in the Authorisation code field and click on the OK button. If the code you enter is valid, the various fields and buttons will be unlocked for editing and using, otherwise you will be told that the code is invalid and everything will remain read-only.

  • This site: these fields contain the settings for the sync site this datafile belongs to
    • Sync ID: An integer that is greater than 0, the unique ID of this sync site. This is the ID the site is identified with to all other sync sites in the system.
    • Sync time interval: the number of minutes between attempts to synchronise with the primary server. Setting this to 0 pauses sync. Editable without clicking on the Click to unlock button but only if sync is enabled on this site (i.e. if Sync ID is greater than 0).
    • Sync request size: the number of requests to lump together when communicating with the primary server. If the internet connection is stable it is more efficient to have a larger number here. If the connection is less stable then it is better to have a smaller number.
  • Use js node HTTP client checkbox: checking this causes mSupply to use a Node.js HTTP client instead of its built-in webserver to communicate with the primary server. This is advantageous in some situations. This option will be enabled if synchronisation is being used on this site. It is the one setting that can be changed without entering the authorisation code mentioned above.
  • Check connection button: click on this to check the connection to the primary server. The button is available even if the settings have not been unlocked and will send a test request to the primary server (but only if sync is enabled on this site i.e. if Sync ID is greater than 0). The result of the request will be displayed in a message and will tell you whether this site can reach the primary server.

This list contains the names of all the sites to synchronise with. If this is the primary server all the satellite servers will be identified in this table. If this is a satellite server then the primary server only will be identified in here.

Sometimes there can be hundreds of sites in this list. To find the one you're interested in, you can click on the column headers to order the list by them (click again to reverse the sort order - same as with most columns throughout mSupply) or enter a site sync ID or user name in the field just above the list to reduce the list to those with an ID or user name starting with what you have entered.

Editing an existing row

Double-click on a row to edit its details. This window will open:

  • Sync ID: The ID of the site in the synchronisation system. You choose this; it MUST be unique to each site to be synchronised. ID 1 is reserved for the primary server (so, if this is the primary server put 1 in here).
  • User name: Communication between the primary and satellite servers is authenticated. This user name and the Password field must match what the primary server is expecting for communication to be successful. So, you can enter any valid username and password in these fields but they must all be the same for the primary and satellite servers.
  • Password: as above.
  • URL: On a remote site, this should be the central server's URL or IP address, including the port if the default is not used. On the central server, if any sites have this field populated it'll disable sync.
  • Hardware ID: This is a unique hardware identifier of the remote machine. The primary server has a copy of this information and, if the value here differs from that on the central server, sync will be diabled for this site. If the remote machine hardware has actually changed (e.g. a new computer) then clearing this value on the primary server will allow the new value to be saved and sync will resume.
  • Generate sync records button: If this is the central server, this button will generate all the sync records to initialise a new data file; if you're on a remote site, it will generate the sync records for stores active on this site (e.g. if you need to refresh the central server copy).

New Data Sync Alert

  1. New : It will create sync out records for all data like users, preferences and store datas's.
  2. Existing : It will create sync out records for only store datas's.
  • Retrieve sync records button: Does a manual pull of sync records waiting for this site on the primary server.

Adding a site

To add a new site to sync with, click on the button to the right of the list. That will open the same window as editing a row but it will be empty, ready for you to enter the appropriate values.

Deleting a site

To delete a site from the list, simply click on it to select it and click on the button to the right of the list.



  • Last modified: 2021/10/08 09:25
  • by Gary Willetts