• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Cloud Sync Issue
#1
Greetings,

I'm part of a barbershop chorus and would like to use MobileSheets for sheets and learning tracks. Note, I've bought MobileSheets - not using trial.

Goals:
  • Using OneDrive to host MobileSheets database in the cloud
  • One member using one computer (host) will be used to create/manage the library and sync new content to the shared OneDrive location. The OneDrive (i.e. Microsoft personal) account for this purpose has full control (read/write) over the target OneDrive folder.
  • Chorus members (consumer) will be given read only shared access to the OneDrive folder and will sync the library from the cloud to their own computer/tablet/phone. Members aren't very tech savvy, so it is preferable that members who sync the library from the cloud can't mess anything up (i.e. write to the cloud location) by selecting wrong options - I hope this setup is possible.

What I've done:
  • Create MobileSheets database on host computer (using licensed Windows app) and sync with OneDrive. No issues here - straight forward.
  • I've read the manual and it isn't clear specifically what options to select to sync from a cloud on a consumer device
  • On a consumer tablet (in the test case using licensed Windows app), "Sync Library > Synchronize to a cloud folder" then logged into OneDrive, selected the target shared OneDrive source folder.
  • At this point, it doesn't seem to matter which sync type or merge behavior, I get the error "Failed to successfully complete library merge".

Is this issue due to permissions? Specifically what sync screen settings should be checked simply to sync/update the consumer tablet with what's in the cloud?

I appreciate your time and attention in responding to this inquiry. Please let me know if additional specific details are required to assist with resolving this issue.
Reply
#2
Sorry for the delay in responding. On the consumer devices, set the sync type to "Update Device" and set the merge behavior to "Always use data from folder" (that should be selected by default though). In theory, this should not need to write anything to the cloud folder, so it should work even if the cloud folder is in a read-only state for the consumer. However, if the consumer can't access specific files within that folder, that would be a problem. I'm not sure how restrictive the permissions are that you set in OneDrive. Hopefully we can get this all working for you.

Mike
Reply
#3
(04-29-2023, 06:04 PM)Zubersoft Wrote: Sorry for the delay in responding. On the consumer devices, set the sync type to "Update Device" and set the merge behavior to "Always use data from folder" (that should be selected by default though). In theory, this should not need to write anything to the cloud folder, so it should work even if the cloud folder is in a read-only state for the consumer. However, if the consumer can't access specific files within that folder, that would be a problem. I'm not sure how restrictive the permissions are that you set in OneDrive. Hopefully we can get this all working for you.

Mike

Mike,

Thank you for this reply. I am still experiencing the same issue with the settings you've posted. With the "Add new songs" box checked, all of the songs are in fact downloaded and work on the consumer device, however the last status message is always "Failed to successfully complete library merge". Note that I am using MobileSheets version 3.7.7 for Windows on all machines where I'm testing. Using both Windows 10 and 11 - getting the same results on both operating systems.

Regarding the current permissions setup - consumer accounts (i.e. user personal Microsoft Accounts) are granted read only permission at the OneDrive folder level which also grants read only permission to every file in the folder. I manually confirmed this so this setup would be easy to replicate and test on your end. Note that if I change the consumer permissions to read/write within OneDrive, the consumer device sync completes without errors so the sync process doesn't like 'something' when the permissions are read only to the cloud source. There will be a number of folks who would use this and I can't chance any of them making a mistake and compromising the library as synced from the host computer to the cloud so everyone but me will only have read only permission - I hope that makes sense.

Is there something in the process that is trying to write to any file in the cloud? Is there any way to get a detailed trace log of what is happening within your app to provide more insight into why I'm getting the failed message? I'm not seeing anything in the Windows Event Viewer that provides any clues. 

Please let me know what troubleshooting steps I may try or assist with. If you need any further information, please let me know.
Reply
#4
I'll run some tests to see if I can reproduce what you are describing. There isn't any logging you can enable at the moment (that's on my list of things to do). As far as the choices you selected for the sync, you didn't enable the option to check for updated files or to search for new files by chance, did you? Those would likely cause a problem because if the client found modifications or new files, it would try to update the hash file and database in the cloud folder but wouldn't have permission to do that. So you'd want to leave those unchecked. I just want to confirm this as it would be an easy fix.

Thanks,
Mike
Reply
#5
The issue is not what I expected - it's due to the "stamps" folder not existing under the sync folder, and the client is unable to get or create it. If you manually create a folder named "stamps" in the sync folder, that may resolve the issue entirely. I'm making changes right now to prevent this from causing the entire sync to fail though. For reference, that is the folder under which custom user stamps are placed.

Mike
Reply
#6
(04-30-2023, 08:54 AM)Zubersoft Wrote: The issue is not what I expected - it's due to the "stamps" folder not existing under the sync folder, and the client is unable to get or create it. If you manually create a folder named "stamps" in the sync folder, that may resolve the issue entirely. I'm making changes right now to prevent this from causing the entire sync to fail though. For reference, that is the folder under which custom user stamps are placed.

Mike

Mike,

Thank you for investigating. I am pleased to report that I was able to replicate your test by creating a "stamps" folder in the cloud folder. 

On a cause/effect basis: 
  • the sync completes successfully when a "stamps" folder is present in the cloud, and 
  • the sync fails without the presence of a "stamps" folder. 
  • This solves my reported issue of being able to sync a device from a OneDrive cloud source where the user has read only permissions to the OneDrive folder (and all sub-folders/files within).

Note for anyone else reading this - I did not encounter this issue if the user syncing from the cloud had read/write permissions to the OneDrive folder - it only happened when the user syncing has read only access to the OneDrive folder. 

Mike - you may be interested to know that my library did not contain stamps, annotations, text or any custom user additions/items on the song sheets (i.e. song PDF files). The library contained only songs configured with a single PDF song sheet and related mp3/m4a music files (which is likely the most basic a use case).

I will continue testing and building my library and will let you know I find anything else or require further assistance.

Thanks again for your time an attention and for working to make changes to the code base. I work with a lot of IT vendors in the corporate world - you've actioned and resolved this issue report in a short amount of time which is impressive and much appreciated!
Reply
#7
The error is caused whether not any custom stamps are used unfortunately, because the code first tries to obtain this folder before checking both libraries to see what stamps need to be either sent or downloaded. If the stamp folder does not exist, a null reference is returned, and then the code proceeds to use the reference which throws an error and aborts the sync due to that. So the fix is easy - I only use the folder reference if it's actually required due to the use of custom stamps. If no custom stamps are used, then it's perfectly fine if the folder does not exist. 

You are very welcome - thanks for reporting the issue in detail and giving me everything I needed to investigate and fix it.

Mike
Reply




Users browsing this thread:
3 Guest(s)


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