mhoeher / opentodolist

A simple Todo and task management application - Mirror of https://gitlab.com/rpdev/opentodolist
https://opentodolist.rpdev.net
GNU General Public License v3.0
161 stars 12 forks source link

Sync problem to WebDAV on Windows Server #62

Closed ProNoiser closed 2 years ago

ProNoiser commented 2 years ago

Hi, Martin! Please tell me why OpenToDoList doesn't want to synchronize via WebDAV protocol. I have a VPS based on Windows Server 2012 on which a WebDAV server is deployed. I tried deploying it inside IIS, tried deploying it on nginx. And in no case does synchronization work, and when you try to establish a connection from other applications and from the file system, everything goes without problems. Why can't I configure WebDAV to interact with OpenToDoList. Maybe there is some manual or tricks and subtleties of the WebDAV server settings for working with OpenToDoList? Deploying NextCloud on Windows Server is impossible in principle, because there is simply no server part of NextCloud for Windows. Only the client. Somehow it's very sad... Can you help in any way?

Sincerely. @ProNoiser

mhoeher commented 2 years ago

OpenTodoList (or better: The SynqClient library, which implements the WebDAV sync) has some requirements towards the WebDAV servers. In particular, it relies on proper "etags" being generated and used by the server. However, there are a lot of servers which don't - these servers are typically not suitable for a sync.

So why do other apps work: Because not all of them do a real sync but rather fetch the data and push it back once the user is done. However, this is not how OpenTodoList can work - the app is explicitly designed to have a reliable and quick sync, which is impossible to implement without etags.

You can try to run the app from the terminal (start it with --enable-console on Windows, otherwise the app "forks" and you won't get any output on the console) to get a bit more insight into what exactly fails.

I know this sucks, however, there is little the app can do - in this case, it is the server which is to blame.

So how to continue?