• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Use Mobile Sheets pro at same time (read/write) from 2 devices
#1
I am a long time user of this nice product. Until now I used to transfer my library from my Android tablet to my Wind10 PC or vice versa via the backup function using the common Google Drive as backup directory. I changed now my working environment and I want now to use on my workplace at the same time both devices with same content and with the possibility to change content arbitrary on both devices. I tried now to use the "library synchronisation" using my WIFI network. It works, but using it  it is necessary to trigger a sync every time I want to see the changes I made on one device on the other. 
My question: Is there a function which synchronizes this two devices via WIFI on the fly without manual sync triggering (if both devices are switched on)? Can I use e.g. a (common) Google Drive Directory for storing (and changing) the Mobile Sheets Files? 
I tried to find a similar question in the forum or function in the handbook, but no success.
Thanks for any solution I could use.

Wolfgang
from Austria
Reply
#2
There isn't an automatic synchronization option at the moment, although some users have accomplished the same thing by just performing a file sync using standalone tools. If you wanted to do this, you'd need to enable Settings->Storage->Expose Database on the Android device, then sync the storage location (you must use a folder on the internal storage, if you use an SD card the database will be stored at /storage/emulated/0/Android/data/com.zubersoft.mobilesheetspro/files). On the Windows side, you'd want to use the default storage location and then sync that folder to the same location. Then in theory, as long as you are letting MobileSheetsPro manage your files on the Android device, everything should sync properly between the two without any additional changes.

I am going to look into an automatic sync option in the future, but the one thing I haven't figured out yet is how I should handle conflicts between multiple devices if they try to sync at the same time, because I'm not currently tracking deletions in the database. If I keep it dead simple and just do the equivalent of a file sync, then the database on one device would just overwrite the database in the sync location, so you wouldn't want to be making changes on both devices at the same time while synchronization is active otherwise you could lose changes. The problem with a file sync approach is, if I want the other device to reload the database after changes are made, I can't just constantly be reloading the entire library to figure out what has changed as that could kill performance (I'm thinking about the situation where you might have five or six devices all synchronized to one location and one user is making a lot of changes and the other devices are grabbing those changes every minute or so). If I try to leverage my current synchronization capabilities, this would handle conflicts and merges far better, and I would just take changes from whichever device modified something last, but the only way this is going to work well is if I track deletions so the other devices can know when they need to delete something versus recreating it. There are a lot of complex things I would need to figure out how to handle with this kind of a feature, as there are a lot of potential error scenarios. What if one user is viewing a song that another user deletes, and then the synchronization happens in the background and that song needs to be deleted? Should synchronizations only happen while songs are not being viewed? What if one user wants to get updated annotations that another user is actively making and they are viewing the same song? 

Mike
Reply
#3
Thank You for the answer and also for sharing Your thoughts about sync. I think I understand now where the problem is. I will try Your proposal.
Reply
#4
Until now I was using MSP on a Windows tablet, while preparing sheets on my Windows Desktop and then sending them to my tablet using the Companion.

Now I'd like to use MSP at the Desktop PC, too, and keep the libraries in sync on both devices. Of course, this could be done using the MSP Sync Library feature over WiFi. One needs to put one device in server mode, the other in client mode, the sync process will then be moderatly fast. @Mike, I understand your concerns about an automatic sync feature. I just wonder if the following simple process would solve the problem at least for my simple use case. Recall that I want both libraries in total sync.

My idea is to put the MSP storage folder on a cloud drive (OneDrive in my case). OneDrive will make sure that local copies of that folder are synced automatically. Both instances of MSP will use their local copies, and to avoid any possible conflict or corruption of the database I would make sure to use only one instance of MSP at a time. Workflow would be as follows:
  • Use MSP at device A to add/modify sheets.
  • When finished close MSP. After a short time OneDrive will have synced device B.
  • Use MSP at device B, all sheets appear in sync.

Is this feasible? If it works this would be a no-brainer to use...

Michael
Reply
#5
On Windows, the database is stored under C:\Users\<your username>\AppData\Local\Packages\41730Zubersoft.MobileSheets_ys1c8ct2g6ypr\LocalState and can't be moved due to limitations with the SQLite library. As long as that is the folder you are synchronizing, then in theory, yes, what you have described will work. I have seen plenty of cases where OneDrive won't properly sync files though, so I'm not sure how well it will work in practice. I personally would rather have control over when the sync happens versus waiting for it to happen and not knowing if OneDrive is finished synchronizing or not. You will have to test to see if it meets your needs.

Mike
Reply




Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2024 MyBB Group.