Open SunboX opened 8 years ago
Hey, nice!
Your suggested behavior sounds good. But we should also find a solution for syncing folders that are only on the device by now (and not in the cloud). Additionally there should be a way to remove the sync of a folder.
Started with some basic stuff like adding menuflyout item and saving information for the folders to synchronize in db. If someone is interested, the branch is linked above.
Manual sync working (mostly). Next:
Has somebody an idea how to handle conflicts, e.g. file has changes locally and remotely? The easiest option to implement would be to use a default option (selectable in settings) like:
The other option would be to ask the user for every conflicted file. Maybe a separate page containing all conflicts with the above options to solve them or even a comparison view.
What do you think?
I would prefer the second option, a separate site with all conflicts listed, so you can choose the resolution by file (or select all files). But I'm open for discussion. 😄
Btw., great work! 👍
I'd like to ask you for testing the current state. Manual sync is finished from my perspective but may needs more error handling. I'll start to put all needed code in a background task library next week. This will also include common code like DirectoryService and ClientService. It would be possible to merge the current state into master - manual sync is better than none :)
Hey, this sounds great! I havn't much time the next days. Let's see, maybe I find some time on the weekend. Thanks a lot for your work, this feature is really great and necessary. 👍
Finally I got some time to try it out. Looks good to me! Maybe we should show a message box / a local push, if the app gets supended during synchronisation. So the user knows that it didn't finish and he has to restart it manually. This happens for example if the lock screen appears during sync (because synchronisation takes a long time).
Could you do a merge request for the current functionality?
Btw. do you know some nicer way to rely on SQLite? Maybe using NuGet? So we can avoid such things: https://github.com/SunboX/windows-universal/commit/b162478a08963a0f3855014052492f9ca0d3cc15
Maybe @altima knows a better way to do this?
I think the anniversairy update sdk contains sqlite, so we could remove the dependency if we update the min Version for the app. I'll add the info when the app/sync get's suspended and create a pull request afterwards. But it won't be until next weekend.
I think the anniversairy update sdk contains sqlite, so we could remove the dependency if we update the min Version for the app.
Ok, let's do this with the next app version (1.2.x) not the current one (1.1.0), so the users will have a bit more time to upgrade. 😄 By now I'm fine with using the UWP SQLite thing.
I'll add the info when the app/sync get's suspended and create a pull request afterwards. But it won't be until next weekend.
That's great, I also need some more time for the final 1.1.0 stuff. So no hurry, let me know if you have something I can merge. Would be nice to have this functionality in the app version 1.1.0.
This issue can be closed, as we have #108 and #187
I'll have a try on that:
Another approach would be to use the Cached File Updater Contract (see
https://dzone.com/articles/how-use-cached-file-updater
) to always sync files before reading or after writing them on the device, but as I understand that's more useful if you edit a file from nextcloud and want to upload the updated content afterwards, without saving it locally.