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

How to use OpenToDoList in multiple machines #53

Closed nawshad closed 2 years ago

nawshad commented 2 years ago

Hi,

I am new user for this app, I am interested to know how to enable this tool for multiple machines, i.e. synced for multiple machines. I know it can be done using web storage server, I was looking for some more detailed information on how to set it up?

Thanks,

mhoeher commented 2 years ago

Hi @nawshad,

yes, documentation is a kind of weak point of the app - I simply found no time yet for this. But it's planned :wink:

Anyway, regarding your question: Setting this up is actually pretty easy. All you need is a server where the data can be stored.

Currently, OpenTodoList only supports WebDAV. This is a rather generic protocol that many servers implement. The app is heavily tested against NextCloud and ownCloud, so if you can use one of the two, you should get a pretty smooth experience. Other servers might work as well, however, unfortunately, a lot implement WebDAV not according to the standards, hence, you might run into issues with the sync (if this happens, I'd like to ask you to raise another issue - most of these things can be worked around on the client side, but of course, only if they are reported).

Support for using DropBox is also in the pipeline and I hope I can include it in the next release (which is due end of September).

Now, considering you have a suitable server, you can setup sync like that:

  1. On each device, add an Account in the app. You can do this from the side bar: Select Accounts and then use the plus icon. You will then see a list of account types to select from. If you plan to use a NextCloud or ownCloud server, select the appropriate options. For any other WebDAV server, use WebDAV. Fill in the required information and finish creating the account.
  2. Next, to create a library that is shared between several devices, start on one device and use New Library from the sidebar. You will see several options there. Local Library as well as Use Folder as Library are not suitable, unless you plan to use external tools to sync the data of the app. Instead, you should see the account you created below. Click on it.
  3. Another page will open. On the top, you will be shown a list of existing libraries found below that account. You shouldn't have anything there if you just started using the app. Instead, select the option Create a New Library, enter a name for the library (you can change this later at any time) and proceed. Your new library should now show up in the sidebar. You also should see in the toolbar that there is a sync indication. This signals, that data is synchronized with the server.
  4. Now you can proceed on the other devices. Again, use New Library from the sidebar and click on your account. This time, you should see the library you created on the first device in the Existing Libraries section. Select the library and proceed - you're done! The library will be added and the existing items in it will be downloaded to your device.

Hope that helps! If you have any issues, please let me know.

nawshad commented 2 years ago

Thanks a lot, however, I don't have cloud service subscriptions. I would like to know more about hosting in dropbox or similar, for example github?

mhoeher commented 2 years ago

Hi @nawshad,

you usually do not need a "cloud subscription". A lot of services have WebDAV integrated into their offering; for example, a lot of email providers do so (you could check if your email provider has some "online storage" - most often, this is accessible via WebDAV and hence, could be used by OpenTodoList as described above). Please make sure that you use an up-to-date OpenTodoList - I plan to release a new version in the course of this week. This new version will drastically improve the compatibility with WebDAV servers that are not standards compliant (which is a huge issue as stated in my previous comment).

If you really have no WebDAV storage at hand, there are a few other options for you.

One would be to simple wait :wink: I finished implementing sync via DropBox in the SynqClient library (which is the underlying library used by the app for running the sync). I still need to integrate that into the app. My hope would be that I can do so in the course of the next release (which is planned for end of the year, but test versions should be available earlier, I hope).

Another option which you could use right now is to create/add a new library via Library -> Use Folder as Library . This allows you to create libraries (which, on their own, are just a bunch of folders and files which make up your items) in arbitrary locations. This way, you could create libraries in a folder that is synced by another application (e.g. the DropBox desktop client) and let that other application do the sync. Note, that this is not supported on iOS, though, because on that platform, there is nothing like a shared file system (most recent versions gained something similar, but, ... it's not as easy, unfortunately).

Hope that helps. Let me know if you need more information!

mhoeher commented 2 years ago

For the records: Version 3.40 of the app introduced support for Dropbox, which in turn has a free plan with a bit of storage suitable for synchronising libraries across your devices.

Hence, I'll close the issue for now, as the app both can be used with self-hosted WebDAV services as well as it at least makes one widely used cloud storage provider available for sync.