We are in the process of developing an application that should be accessed from two locations: the internal offices (for LAN users), and from internet (for web users). We were hosted our application on web or in a local server with real IP, so anyone from internet or local network (offices) can access the application, which is a good solution if we haven't the following problem: the internet connection is not guaranteed to be always available for local users, and worse problem, the local network, and hence, the local server is not always powered on...too bad situation...I know, but it is the case.
I thought we can provide two copies of our application (and its database), one is online and the other is local, that is good with synchronization between both servers, but our local users and some other external users may change their login place, so some changes on their records on web, for example, may be not synchronized with the local copy, while they may go locally and do some other editing, this will leave our database in inconsistent situation according to our requirement, unless the both records (online and offline) is synchronized before any further updates. I came up with some solution for this problem too, but I think it is complicated enough to try finding another one, so I would appreciate any participation to work around this problem.
Sorry for the lengthy text, I just want to make it clear so you can make useful replies. Thanks in advance for anyone who may try to help.