I need to develop a CRM system which will allow users to have a local copy of the DB which can then be synched with the main server system. The idea is that a sales team can travel to non-internet enabled areas and still operate with relatively up to date information and then synch up when they get back to the office.
Ive never done something like this before, can anyone recommend a synch solution?
Having written just such a system myself, I’d recommend avoiding it if possible. The ways that users can mess up such a system are legion, particularly when the users are the sales team. A CRM system named Act! (you are probably familiar with) has offered such a sync option in the past, and maybe they still do. Whenever my company is selling to a company that has been using Act!’s sync system, the company always complains of corrupted and mis-synced databases.
If you really need to do such a thing, then I’d recommend database-level replication (which wasn’t available at the time we wrote our sync application). Many databases offer replication, including MS-SQL Server. You can eliminate many of the problems we experienced by tracking changes at the database level, and making the database responsible for transporting those changes to a remote database.