Do not try to "run" FileMaker files from Drop Box or any similar service. Chaos with multiple copies of the same file but with different data is the least disastrous outcome that can come from that.
Such cloud storage can be useful for off site interim backups during development of a new version and can be useful to move files in and out of an iOS device, but don't try to host the file from such. (And until they do some bug fixing, don't use Google Drive even to move files on and off iOS devices as drive can remove file extensions from file names and cause other problems for the iOS users.)
Anyone do this? Any drawbacks or dangers?
Yes, plenty of danger. Don't do it.
Considering I'm both the developer and the user of this system, I don't see the dangers, but you could elucidate.
Google drive and drop box continuously 'touch' and sync the files. FileMaker also continuously reads and writes to the files.
The Google drive sync application, and the drop box sync application will very quickly corrupt the FileMaker file because they both read and write to the FileMaker file at the same time as FileMaker. Don't do it for data entry, and definitely don't do it for development.
Your BEST option for development is to get the FileMaker Developer subscription and use the development version of FileMaker Server as it is only $99. That license is only valid for Development however, not for files in production use.
Sorry, dropbox will not open a file that is already open, so it will not read and write at the same time as Filemaker.
You have a file on your computer. Dropbox default file location is located under My Documents and is name dropbox, but you can use any location on your computer. The file is copied to the Dropbox server which is a duplicate of the local file. The file that is used on the computer is located on the local drive. When a user opens a file, they are opening the file from the local drive on their computer not on the dropbox server. When the users closes the file then dropbox will check the timestamp of the file and if it is a newer copy, then it is upload to the dropbox server. Dropbox will not copy the file, if it is open. Dropbox only copies new files from the server back to the desktop computer when the file is closed. Issues occur when User A opens the file at 8:00am makes changes during the day. Another user, User B open the file at 10:00am. (Note this a separate copy on two different machines). User B closes file the at 10:30am. This file is uploaded to the dropbox server. Users A then closes his file at 10:35am, which has a newer timestamp and then is uploaded to dropbox server. User B data is now missing from the file. The more user, the more this is compounded. It's not that the file is corrupt, it just non of the data is correct in the file. If two user close the file at the same time then dropbox uploads both and appends conflicted copy to the file name. Neither has the same data nor is the data correct.
This issue can be limited by not installing the Dropbox Desktop Application. The Desktop Application is what automatically uploads the file to dropbox.
As PhilmodJunk stated, Dropbox should only be used to move files to and from different devices and to make extra backups.
What about other race conditions?
E.g. you modify the file, close it, dropbox starts the sync process and you re-open the while the sync is going on.
Then two programs are accessing the file at the same time potentially causing corruption.
... actually that reminds me of Time Machine:
See point 2. It can get corrupted in this condition.
Clearly, for a multi user installation this would be a bad idea, but for my purposes it's got potential. One observation: Before I left work I had my solution create a copy into the drop box folder, and I'm pretty sure I closed the original file, but left filemaker running. At home, several hours later, the file hasn't turned up in drop box. It might be that it is necessary to close the application, not just the file before drop box will begin acting on it. I'll verify this tomorrow.
Not a good idea. Get FMS or host from FMP if you have two licenses.
Clearly, for a multi user installation this would be a bad idea, but for my purposes it's got potential.
Multi-user just increases the interaction with the file and therefore makes any problems show up faster.
But the core issue remains the same, even if you are the only user in the file. It's going to be a given that at some point the file will be synced to dropbox but you'll forget that you left it running in the office and you'll open the dropbox copy from home.
You asked for advice and you got it. Do a search on this and other FM forums and you'll find stories of people being bitten rather badly if you don't believe the advice given.
Host the file the proper way if you want access from multiple locations.
It sounds like another option to accomplish what you need to do would be to set up remote access to your work computer from your home computer. That would be safer (file corruption wise, at least) than putting the file in the cloud, and wouldn't require a hosting solution.
1 of 1 people found this helpful
I know where you are at. I've done it myself for a while. There are often too many variables to account for...and it puts the file at risk for corruption, not just a failure to sync. I'm about as obsessive as they come about closing files, etc. But I still ran into a lot of mystery problems...that pretty much ALL stopped when I stopped trying to work on a file that relied on syncing with Dropbox.
If possible, host it on FileMaker Server. You can give yourself access to that file from anywhere. Sometimes a hosting service is a good option here.
Another option is to remote into the computer where the file is stored.
If you absolutely have to do it the way you are describing...create a script that does a "Save a copy as..." into that Dropbox folder. And then closes FileMaker. Click that when you leave every day. You may still run into problems...that's really all I can say. I know others have done it...but as Wim says often, "absence of evidence is not evidence of absence".
Also, NEVER open a file from Dropbox that is syncing. It will damage the file every time. Then you can only hope you can restore it from Dropbox. But that process is sketchy at best and fraught with problems.
A clarification in case someone reads through this in the future... after giving this a try, it is not necessary to close filemaker for the DB sync to happen, only the file...
Dropbox states when the file is open being synced (uploaded), that the file is read only, then when it detects an attempted to access the file it pause the sync.
... actually that reminds me of Time Machine:
Which relates to any program trying to access the database while the database is open. The solution is not to stop using Time Machine, but to use it correctly. Use FM to make a backup copy of the database then use Time Machine to backup the backup copy. Same with dropbox, it needs to be used correctly. Dropbox is safe to use to make backup copies and to move files to and from different devices.
I decided against this method, by the way. If one had more control over when dropbox synced, and had a clearer picture of when this sync is happening, it might be OK, but it's too mysterious for my comfort. Also, one file I used to test with, a rather large file of about 500MB, never synced at all. It sits there just like all the rest of the files in the dropbox folder, but never appears anywhere else.
I might use a shutdown script that saves a copy to DB for backup though...