Hey folks. I have a nice little niche challenge fo...
# general-advice
h
Hey folks. I have a nice little niche challenge for a not-so-average-project and could use some ideas / hints. I am about to replace a "Access App" for a small group of clients. The challenge: It needs to run completely offline (no internet is available at all) and for a few distributed people working at different locations. At the moment the distributed set up is somehow (I reall don't know how) working with the Access "database" file living on OneDrive or Dropbox. The users explicitely said that a central database server and a VPN connection is not acceptable. For me this bring the challenge to find a file based db backend that can also live on cloud storages like OneDrive. The current userbase might be fine off with sqlite. But I would like to have a solution where the source file isn't locked for one user only. So I am looking for either an alternative to sqlite or a library that handles the "I am locking for the write when needed" / collision detection and solving merge conflicts. ( I think for the use case a pure time based resolution is good enough fttb). Another side-challenge: There is no budget for subscriptions or loads of maintenance work... Looking forward for your input.
s
Not sure I understand the question. How is it living on OneDrive/Dropbox, if everything is offline with no internet access? Or are you saying that there are times when each user is offline, and other times when they are able to sync changes to a shared copy?
h
AH, sorry. The extremes are: • one computer with no internet access whatsoever • a few people working distributed on internet connected devices, currently synching the "Access DB" via e.g. OneDrive
My client is technically a group of voluntary clubs. One club has the "one computer, no internet" scenario, the other one has the "distributed and synching via $clouddrive"
👍 1
Unfortunately, they are hesistant when it comes to VPNs
k
If those that use OneDrive/Dropbox do so via a router, you should be able to establish a local subnet where one PC acts as the "central" db location and you can run a server there so you can use proper locking.
h
Yeah, they have the „Home Office“ situation. Otherwise, that would be a no brainer for me. :(