How many files are involved when syncing with second computer

tan.k.h's Avatar

tan.k.h

22 Apr, 2020 04:26 AM

Hi,
I am learning about Syncing with Moneydance and there is a point that I am unclear about.

As I read the documentation in https://infinitekind.tenderapp.com/kb/syncing-and-sharing-data/syncing-with-other-computers
I see that the main data file ( x.moneydance, say ) should be a local file. Using Sync with Dropbox Folder,
does Moneydance generate a shared file that is placed in the dropbox folder? What extension does that shared file
have?

Essentially, I have this situation where PC1 and PC2 are involved.

   PC1 : 1) local x.moneydance ( main data file )
              2) dropbox folder/<shared file>

   PC2 : 3) dropbox folder/<shared file> ( automatic update via Dropbox )
              4) local file? x1.moneydance?

The user on PC2 uses File->New to open synced file. Does he then save his file to his local file x1.moneydance or does he always save back to the open synced file? In other words, does file (4) need to exist?

Thanks,

  1. 1 Posted by dwg on 22 Apr, 2020 04:46 AM

    dwg's Avatar

    I'm a fellow user.

    Each instance of Moneydance maintains a copy of the Moneydance data on the local disk, it is this local copy that the user interacts with, this is how the software avoids file/data contention.

    The syncing capability in the software manages reading and writing of the update files, these are the small transactions files that Moneydance creates when you are working with the software, between your local copy and the shared folder (Dropbox in this case).

    Hence you do some work on your system, transaction files are created and the syncing service copies them to the shared folder, the syncing service on the other system sees there are files not in the local store of that machine, copies them and triggers the local copy of Moneydance to update with these transactions, that works in both directions and thus facilitates concurrent multi user use, it is not restricted to just 2 users and can handle more. The transactions have internal date/time stamps to ensure transactions are posted in the correct order.

  2. 2 Posted by tan.k.h on 22 Apr, 2020 06:22 AM

    tan.k.h's Avatar

    Hello dwg,

    Thank you for your reply. It has helped clarify my thinking. So that's why the documentation says to specify a Dropbox folder. I am assuming that folder will then contain many small transaction files that is used to sync with any number of PCs.
    So it is best to specify an empty folder solely for Moneydance sync usage so that
    the transaction files will not collide or be accidentally used.

    So the user at PC2 will save his local copy for his own purpose. His local copy can be a different name then, eg x1.moneydance instead of x.moneydance in PC1.

    Does Moneydance still treat PC1 as the master/original source and PC2 as the receiver, or once everything is set up and running, both PC copies are "equivalent"?

  3. 3 Posted by dwg on 22 Apr, 2020 07:02 AM

    dwg's Avatar

    There are three options when setting up syncing, Dropbox Folder, Dropbox Connection & Shared Folder, the architecture is the same but the method varies a little.

    The local copy and the shared copy will both contain many small transactions files, on the local machine they will get progressively rolled into a central trunk file.

    When you create the syncing relationship Moneydance creates a folder for the use of the syncing data in the shared location, hence Moneydance data is not mixed with other data, also if you have more than one data set being synced there will be a separate sub-folder for each data set in the shared location.

    When you use the command Open Synced File it sets up the linkage between what will be the local data set and the syncing data it also initiates a copy procedure to create and populate the data set, by default it will have the same name but that could be changed as the name is not significant since an internal unique ID is used to link the data.

    The PC that initiates the syncing always remains the master. This is the machine that determines the type of syncing used, it is the only one that syncing can be disabled on and syncing methods changed, to do the same on on secondary machine it is necessary to reset that data copy to be a standalone system and that requires extra works and a script to be used, it is not a routine event. I'm not aware of any but I could envisaged the master machine having other functions e.g. acting as arbitrator in the event of two updates having identical time stamps. In other respects all machines are equals in the relationship.

  4. Support Staff 4 Posted by Sean Reilly on 22 Apr, 2020 08:41 AM

    Sean Reilly's Avatar

    Just chiming in to say that dwg's explanation is spot-on and probably better than I've ever explained it. I'd also recommend creating a test data file and turning on syncing for it. You can then go to the folder you've selected for syncing (or the .moneydancesync subfolder if using Dropbox) to see the UUID-based subfolders for each document, as well as the contents of those folders. You can see that when you make changes locally, about every 30 seconds new txn files are added to the v3 subfolder of the document's UUID subfolder. You can also see in the tiksync_info.txt file the small unencrypted bits of information which are used to distinguish files from each other when using File->New->Open Synced File to choose which synced file to open.

    --
    Sean Reilly
    Developer, The Infinite Kind
    https://infinitekind.com

  5. 5 Posted by derekkent23 on 22 Apr, 2020 08:57 AM

    derekkent23's Avatar

    I am not support staff just a user.
    Hi tan.k.h

    Perhaps an overview of Moneydance syncing would be useful.

    There are three method of syncing supported by Moneydance 2019.

    Dropbox Folder, Dropbox Connection and Shared Folder.

    The sync method Shared Folder can only be used with other computers, it will not sync to mobile devices (phone etc.).
    With "Shared Folder" Moneydance syncs using a folder you create that is shared across computers. This could be a folder in a cloud server such as OneDrive, iCloud, Box.com. pCloud or Google Drive. I have tested all of these and they all work.

    The following is an explanation regarding the other two syncing methods, Dropbox Folder and Dropbox Connection. However, if you are an Apple user and did not purchase direct, but purchased through Apple, due to one of the restrictions Apple impose on Moneydance, “Dropbox Folder” is not available. Note in both cases you need to have at least a free Dropbox account. With Dropbox Folder, the most flexible and easiest to set up of the two, you need to install Dropbox client on all your computers, but not no your mobile devices.

    With Dropbox Connection Moneydance uses the Dropbox API to talk to the Dropbox service directly. So, you don't need to have Dropbox client actually installed on your computer, but you do need to be online when Moneydance is running in order for changes to be synced. Data will be synced once you go back on line when Moneydance is open. With Drobox Folder Moneydance will just read and write files to your Dropbox folder on your computer, which means that you need to have Dropbox client installed and running, but you don't need to be online in order for Moneydance to read and write the changes.” Syncing will occur when you go online, Moneydance does not need to be open.

    You can also use either of these syncing methods Dropbox Folder and Dropbox Connection to sync with mobile device (phones etc.) that have the Moneydance APP installed. The Moneydance mobile APP has Dropbox API embedded.

    When syncing you have one primary and as many secondary computers as you require. The data set is stored in the default location on the hard drive of your primary computer. See under HELP – SHOW DOCUMENT FOLDER. Your data set is a folder not a file. It contains other folders and files. The data set folder is named yourdatasetname.moneydance. DON’T STORE YOUR DATA SET IN DROPBOX or any other shared drive or cloud server as it could become corrupted due to how Moneydance reads/writes small files.

    When you start the syncing process, FILE (MONEYDANCE on Mac) - SYNCING, a syncing folder “.moneydancesync” is automatically created in Dropbox or your Shared folder. If you have more than one data set you can set up syncing for each. The “.moneydancesync” folder in turn has an alphanumeric folder created, one for each data set you sync.

    Your secondary computers, set up using FILE (MONEYDANCE on Mac) – NEW – OPEN SYNCED FILE, do not have the same data set as the primary computer. There data sets are automatically created from data synced via the folder “.moneydancsync” / alphanumeric folder, created automatically by the primary computer. See under HELP – SHOW DOCUMENT FOLDER. Although the data sets have the same name the main difference between a primary and secondary data set is you can’t change the sync method when running a secondary data set.

    Once set up you can say add a transaction on one computer and within 60 seconds see it appear on your other computers or mobile device e.g. phone.

    In normal operation Moneydance on your devices reads and writes to the folder “.moneydancsync” / alphanumeric in the Dropbox folder, creating small transaction files (mdtxn files) in such a way that there should never be any conflicts (at least not to any important files). Filenames are unique and the data is end to end encrypted using your sync key (“Encryption Passphrase”) only held on your devices, not in the cloud. All changes are recorded in this folder and if any of the changes cause conflicts then they are resolved by checking Unix Time stamp that are internal to the file (i.e. not the file modification date). At interval these transaction files are rolled up in to a truck file to reduce the number of small transaction files. The alphanumeric folder also contains other support folders and files.

    All this is transparent to the user.

    Hope this helps.

  6. 6 Posted by tan.k.h on 23 Apr, 2020 03:51 AM

    tan.k.h's Avatar

    Thanks dwg, Sean and derekkent23 for providing a wealth of info that I am still digesting.

    One minor point regarding Dropbox Folder vs Dropbox Connection.

    I have the free Dropbox account which only allows 3 connected devices for the Dropbox Folder. Is the Dropbox Connection also limited to the same 3 devices set up for the Dropbox Folder?

    Thanks again, and safe distancing!

  7. 7 Posted by dwg on 23 Apr, 2020 04:17 AM

    dwg's Avatar

    Moneydance's Dropbox Folder method requires that you have the Dropbox client installed and running, it is the Dropbox client that uses your device connection.

    The Dropbox Connection method uses an API to pass data to/from the Dropbox server and as such it has no requirement for the Dropbox Client, so provided you do not install the Dropbox Client you will not use a device connection with this method.

    The mobile applications is effectively also using Dropbox Connection so it also does not use a device connection in its own right.

  8. 8 Posted by tan.k.h on 23 Apr, 2020 04:34 AM

    tan.k.h's Avatar

    dwg, thanks for clarifying that Dropbox API does not use any device connection.

    Meantime, I've got it working now with Dropbox Folder.

    What I have is :

       PC1 : 1) local <path1>/x.moneydance ( main data file )
             2) dropbox folder/<shared file>

       PC2 : 3) dropbox folder/<shared file> ( automatic update via Dropbox )
             4) local <path2>/x.moneydance ( sych data file )

    where path1 and path2 are specific to each PC.

    Another question comes to mind: Although each local file can be independently backed up in their own backup folders, is there any advantage to keep backups at both PCs? It might be simpler to just backup the main data file and just pay attention to the main file. The synced files can always be regenerated from the main file, right?

  9. 9 Posted by dwg on 23 Apr, 2020 05:01 AM

    dwg's Avatar

    There are a number of advantages to maintaining backups from both machines. The main ones that come to mind are.

    1. It provides more restore points

    2. Depending on the nature of the failure(s) you may not have all transactions in the available backups if you only back up one machine.

    You are saving the backups to external media aren't you. Hardly much point in having a backup if it was on the same disk as the main data set and it was this disk drive that failed. The syncing data should not be considered as a backup, there are certain types of failure that could take this out as well as the data on your primary and secondary machines.

  10. 10 Posted by tan.k.h on 23 Apr, 2020 05:05 AM

    tan.k.h's Avatar

    Thanks dwg - What u say makes a lot of sense. Thanks for the advice.
    Looks like all my answers are answered, so I'll go ahead and close out this discussion.

  11. tan.k.h closed this discussion on 23 Apr, 2020 05:06 AM.

  12. derekkent23 re-opened this discussion on 23 Apr, 2020 07:15 AM

  13. 11 Posted by derekkent23 on 23 Apr, 2020 07:15 AM

    derekkent23's Avatar

    I am not support staff, just a user.
    Hi tan.k.h

    Some further background on backups.

    Moneydance 2019 has two methods for making a backup.

    The default backup location can be found under HELP (MONEYDANCE on Mac) – SHOW ARCHIVE FOLDER. This location is on your hard drive. In both cases you can select the backup location and as such it is good practice to set the location on a cloud server such as Dropbox, in case your hard drive fails.

    Manual backup. A manual backup can be made under FILE (MONEYDANCE on Mac) – BACKUP EXPORT. The file naming convention is yourdatasetname-yyyymmdd-tttt.moneydancearchive

    Automatic backup is set under FILE (MONEYDANCE on Mac) – PREFERENCES – BACKUPS. Auto backup makes a backup every time you close Moneydance. Moneydance only keep the last auto backup of the day, overwriting any previous auto backups for that day. You can set the number of backups to be kept. When this number is exceeded the oldest backup is deleted. The file naming convention is yourdatasetname.yyyy-mm-dd.moneydancearchive

    When a backup is made, if you were syncing, the syncing method is set to don’t sync. This prevent syncing if you restore a backup. This can be important if the need for restoring a backup was related to syncing or corrupted data has been synced. Other backup methods such as making a copy of your data set want do this and can mean a restored data set will sync and your data set will be corrupted again.

    If you are syncing and using say Dropbox as a backup location don’t set your computers to use the exact same backup location. When you sync you have a primary computer and secondary computers. A primary data set is not the same as a secondary data set and hence neither are there backups. But as they use the same data set name, it possible to get confused. A secondary data set can be identified by the fact that the syncing method cannot be changed. It is possible to convert a secondary data set to a primary data set but it means running a python script. Your password is not reset, you still need it to open a backup. A moneydancearchive file is a compressed data set.

    The contents of a backup file is encrypted and provided you have set a password under FILE (MONEYDANCE on Mac) – PASSWORDS can only be opened by Moneydance by entering your password after using FILE – RESTORE FROM BACKUP.

    When you FILE (MONEYDANCE on Mac) – RESTORE FROM BACKUP you do not overwrite your existing data set, a new data set is created with the naming convention – from manual backup yourdatasetname-yyyymmdd-tttt.moneydance the date time code taken from the backup file - from auto backup yourdatasetname (plus at number) e.g. yourdatasetname 2.moneydance The default data set location can be found under HELP (MONEYDANCE on Mac) – SHOW DOCUMENT FOLDER. You can delete old data sets you no longer want. You can rename a restored data set with Moneydance closed as you would any other folder provided you retain “.moneydance” extension. A data set is a folder not a file containing other folders and files. When you open Moneydance it will open in the “Welcome to Moneydance” window with the data set name listed on the right.

    Hope this helps.

  14. tan.k.h closed this discussion on 11 May, 2020 04:45 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac