• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Information for beta testing library sync feature

Download the files I have provided in the messages to get started. One file I did not send out originally is needed for the Windows 10 installation:


In order to install the appxbundle file, you need to install the certificate included in that zip file.  Open a console window with admin privileges (type cmd.exe in taskbar to search for it, right-click and "Run as Administrator"), then enter "cd <directory you extracted cert.zip to>" in order to change to the correct directory, and then run the following cmd:

certmgr.exe /add MobileSheets_2.1.8.0_x86_x64_arm.cer /s /r localMachine root

Then the appxbundle should hopefully install without error. If you do run into errors, you can also drop the appxbundle in the same folder as the the certificate, and then run the powershell script Add-AppDevPackage.ps1 (which may require putting Windows 10 in developer mode first). 

Instructions for testing:

The way the library synchronization feature is set up, you use one device as the server, and the other device will connect to that server as the client. The server is the one that is doing all of the real work during the merge. It requests the database from the client, and then runs through the deltas between the libraries and sends or requests files as needed. So you will see all of the output on the server side, and very little output on the client side. There are some important settings for the library sync feature:

1) Folder settings - if you have specific folders you are using on one device and you want those folders to be maintained on the other device (especially if one is Android and one is Windows 10), you will want to use the folder settings. This lets you set up a name/path pair one device, and another name/path pair on the other device. So here is an example:

Android mapping:
Name: Realbooks
Path: /storage/emulated/0/RealBooks

Windows 10 mapping:
Name: Realbooks
Path: C:\MobileSheets\RealBooks

If you set up those mappings, and a file is encountered on Android that begins with /storage/emulated/0/RealBooks, the server will look for a matching mapping name on the other device (Realbooks in this case), and then replace /storage/emulated/0/RealBooks with the path found (C:\MobileSheets\RealBooks). With Windows 10, all folders have to be under the storage location, so make sure you set it up this way otherwise errors will occur during the sync (I may need to add code to enforce this). 

2) Data to sync - There are a series of checkboxes for controlling what data is synchronized. I think this is pretty self-explanatory, but it's important to note that song metadata includes a lot of things (metronome settings, link points, bookmarks, all the group assignments, various fields like custom, duration, etc). Checking "Sync groups" will synchronize the groups on both devices (most of which usually occurs through synchronizing song metadata), but what this mainly means is that Setlists will be synchronized between the two, as setlists aren't a metadata field for songs.

3) Merge behavior - This is one of the most powerful settings. If you selelct "Use data form the song that was modified last", MobileSheets will just look at the last modified timestamp on each song to figure out which song's data to use. This isn't always desired though, and when it comes to files, the file last modified timestamp is used instead (which can be different on each device). Therefore, if you want the most control, switch this to "Prompt user for decision". You will then get a merge window where you can see exactly what data will be merged between the devices and you can select exactly what data you want to use (and you can skip things you don't want to merge). The last two options are useful if you only want to merge new songs and groups instead of processing songs that match on each device. The only difference between the last two options is that "Only merge new and prompt user" will use the same prompting mechanism as "Prompt user for decision".

4) Connect using - The only choices are WiFi and Bluetooth, but I thought that I should mention that bluetooth is not adviced for performing large merges. I've seen data loss, so it's less reliable than WiFi, it's much slower, and it's more difficult to set up. I just wanted to provide the bluetooth option if users need to merge in a setting where WiFi is not available.

Hi Mike,

I have tried the install of the beta version with mbs_beta.appxbundle. The first attempt after installing the certificate said that version was already installed, so I don't know if that was a good or bad message...

I then used PowerShell, but the command you gave didn't work, but the suggested one did - I think. See below for the details.

However, I am now a little lost, as I am not sure if the program has updated, and I can't seem to find anything concerning "folder". Sorry to be such a Dunce ;-)

John in Sunny Carnarvon - Western Australia

Windows PowerShell
Copyright © Microsoft Corporation. All rights reserved.

PS C:\Users\jblyt> cd "C:\Users\jblyt\Downloads\MobileSheets_2.1.8.0_Test"
PS C:\Users\jblyt\Downloads\MobileSheets_2.1.8.0_Test> Add-AppDevPackage.ps1
Add-AppDevPackage.ps1 : The term 'Add-AppDevPackage.ps1' is not recognized as the name of a cmdlet, function, script
file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At line:1 char:1
+ Add-AppDevPackage.ps1
+ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Add-AppDevPackage.ps1:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Suggestion [3,General]: The command Add-AppDevPackage.ps1 was not found, but does exist in the current location. Windows PowerShell does not load commands from the current location by default. If you trust this command, instead type: ".\Add-AppDevPackage.ps1". See "get-help about_Command_Precedence" for more details.
PS C:\Users\jblyt\Downloads\MobileSheets_2.1.8.0_Test> ".\Add-AppDevPackage.ps1"
PS C:\Users\jblyt\Downloads\MobileSheets_2.1.8.0_Test>
You may need to uninstall the Windows 10 version in order to install the beta version. You can back up your library first and then restore it in the beta version. Or you can just copy the storage location for MobileSheets, uninstall the app, and then copy those files back (if you are using a custom storage location, make sure to copy C:\Users\<your username>\AppData\Local\Packages\41730Zubersoft.MobileSheets_ys1c8ct2g6ypr\LocalState as well) . Make sure you don't allow the Microsoft Store to install version 2.1.9 either (you'll probably need to disable automatic updates). I'm going to work on creating a version 2.1.9 with additional logging for errors tonight. 

Thanks Mike,

That worked....

As a matter of interest, is there any reason why a DropBox or OneDrive etc local folder couldn't be used as the MS main data folder? I do that with my Calibre E-Book data.

MobileSheetsPro was designed to be used without with an internet connection, so none of the code is set up to stream content from a cloud source, or to download files temporarily so they can be viewed. For most users, I would think they wouldn't want the delays associated with having to download all of the files every time they open a setlist, especially if they are using fakebooks which can be 50+mb. There are so many parts of the application that depend upon the file being accessible at any time, versus having to establish a connection to Dropbox or OneDrive before the file can be downloaded (which happens asynchronously, so any synchronous action that wanted quick file access would no longer work correctly). One of the primary goals of MobileSheetsPro is to let users load the songs and setlists quickly, and having to download from cloud storage does not support that very well.

Even without download delays, in many of the places I played there was no (reliable) internet connection available.
Samsung Galaxy Note 2 (N8010) 10.1", Android 7.1.2 (LineageOS), AirTurn Duo.
Asus Zenpad (Z300M) 10.1", Android 7.0 (backup tablet).
Samsung A3 (SM-A320FL), Android 8.0 (emergency).
Mike, either you or I misunderstood.

I think John is talking about setting the *local* Dropbox (etc) folder as data folder.

Is there indeed such a limitation? I didn't notice that. It makes sense though to have it this way so you can sync (without the library sync) your sheets folders between devices (and I use dropsync and folder sync to achieve the same result on my Android devices).

And of course you need (and have) a local copy on your device for playing gigs without internet access.
(05-31-2018, 03:02 AM)BRX Wrote: Mike, either you or I misunderstood.

I think John is talking about setting the *local* Dropbox (etc) folder as data folder.

Hello BRX,

Yes, you are correct. I was asking about any impediment in using a LOCAL copy of the MS files on a Laptop in particular. There is a scenario that could cause issues, I suppose. That would be when your LOCAL cloud files are not up to date when you run MS. That could lead to conflicted copies of the database and other files. However, if a user ensured that the LOCAL files were up to date, then there shouldn't be any issues.

I have been doing this with the Calibre E-Book program for a number of years, and it uses databases too.....
The SQLite database file has to reside in the application data directory. The SQLite library I'm using will fail to load the file otherwise. So as long as you keep your database in the default location, but you synchronize all of the other files through Dropbox, then sure, that should work just fine.
when I try to launch MS, I get briefly the grery screen with the blue logo in the middle, and then I'm back on the Desktop, leaving the following in the event viewer.
I tried uninstalling/reinstalling an resetting the application from the add/remove software tool.

What can I try?
My Windows version is 1803.

Faulting application name: MobileSheets.exe, version:, time stamp: 0x5b0c7b2f
Faulting module name: Windows.UI.Xaml.dll, version: 10.0.17134.1, time stamp: 0x46278cb1
Exception code: 0xc000027b
Fault offset: 0x00000000006a4a12
Faulting process id: 0x998
Faulting application start time: 0x01d3f89d1fc40d40
Faulting application path: C:\Program Files\WindowsApps\41730Zubersoft.MobileSheets_2.1.8.0_x64__ys1c8ct2g6ypr\MobileSheets.exe
Faulting module path: C:\Windows\System32\Windows.UI.Xaml.dll
Report Id: cf2e9703-01e4-455d-9bda-a4316bd29621
Faulting package full name: 41730Zubersoft.MobileSheets_2.1.8.0_x64__ys1c8ct2g6ypr
Faulting package-relative application ID: App

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

Users browsing this thread:
1 Guest(s)

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