odrive’s progressive sync engine introduces a unique concept in syncing. It is not the binary state system that other sync engines have in which the objects in a folder either exist locally, or they don’t. With that type of system a green checkmark on parent folders is easily determined. If all of the objects within the parent folder - which can be files and folders with many levels - are downloaded locally, then the folder is checked green and deemed to be in sync.
With the view of the odrive client, you can have a structure that is:
- not exposed (a cloudf placeholder file)
- partially exposed (certain sections of the folder are exposed, but other are not and nothing has been locally cached),
- fully exposed (the entire structure is visible, but nothing is locally cached. i.e. you can see everything, but all files are still placeholder .cloud files, taking up no space)
- partially cached (partially/fully exposed, with files/folders are cached locally, to some degree)
- fully exposed and locally cached (everything in the folder is local. This is akin to what you would see in a “synced” folder for a standard sync engine like Dropbox).
When badging comes into play with odrive, it presents some challenges for representing these different states, specifically when viewing the “roll-up” badges on parent folders. How do you represent the partial states of the underlying structure?
Our stance is that the badging should represent the intention of the user. This means that a green badge can be shown on a top-level folder, if all of the items the user wished to sync are now in sync.
So, for example, if you are looking at a placeholder folder (.cloudf file), this will not be badged. It is in a clear state of being “unsynced”, taking up no space and exposing nothing of its structure. The same goes for a placeholder file (.cloud file). Since the user has not chosen to sync the file or folder, in any way, they are left unbadged.
Now, if you double-click a placeholder folder, the folder will “expand” and the underlying structure will be exposed. Some, or all, of files inside could be downloaded at this point, depending on the auto download limit that is set: https://www.odrive.com/usageguide#limitlargedownloads. In any case, once the action is completed, the folder will be marked with a green badge, indicating that the items you wanted synced inside, as per your explicit actions and your configured settings, are now synced. In other words, the folder is synced within your specific context. If you choose to sync a placeholder file inside this folder, the folder will have its green badge removed until the action is completed, then it will be reapplied, indicating, again, that everything inside has been synced according to your wishes.
This level of customization and flexibility can be confusing when you don’t know what to expect, especially when coming from the traditional sync engine model.
For further information, I would like to point to a few specific sections of the usage guide:
A walkthrough of placeholder files - https://www.odrive.com/usageguide#placeholderfolders
Sync all - https://www.odrive.com/usageguide#syncall
Folder sync rules - https://www.odrive.com/usageguide#configurefoldersync
Unsync - https://www.odrive.com/usageguide#unsyncoldfiles
I suspect that I may not have addressed everything, so let me know what is still outstanding.