jtxBoard: Notes and Journals on Nextcloud

1. Intro

On my self-hosted Nextcloud instance I used to use Nextcloud Notes and the Android app to sync my notes.

But since I discovered jtxBoard, I always wanted to make the switch: jtxBoard uses the VJOURNAL entry in CalDAV calendars to sync journals and notes.

This is great, because it follows a standard protocol (iCalendar / RFC-5545), which could be used by a lot of programs, and is independent from what the Nextcloud devs will do in future.

However, there are not a lot of clients which support VJOURNAL unfortunately, but more on that later.

When I tried jtxBoard on my phone for the first time, I discovered my existing calendars couldn't be used immediately. That's because calendars in iCalendar can be set up for different purposes:

By default, Nextcloud only enables the Calendar and optionally the Tasks feature for it's calendars. To make it work with journals, you need to create a new iCalendar in DAVx5, enable all features and then sync it to Nextcloud.

undefined

Since it is not possible to add a feature after creation (at least I don't know a way), there are some extra steps in order to keep all your existing entries.

2. Difference between Journal and Note entry

Both are stored as VJOURNAL entry in your iCalendar, with their only difference is journal entries do have a date entry, while notes do not.

3. Convert calendar

  1. Backup your existing calendar

Follow this guide:

https://makesmart.net/blog/read/nextcloud-backup-kontakte-und-kalender-sichern

Edit calendar, then you can select Export to download the .ics file. This already includes the tasks!

  1. Delete your calendar in nextcloud

Be careful here and make sure you have a complete backup. This step also deletes the related tasks list, even though that's not clear from the web interface.

  1. Create a new calendar

Important: Do it on the phone in DAVx5. This way, you can select to create Calendar/Tasks and also Journal. Which is important to make it work with jtxBoard.

  1. Import .ics file

In Nextcloud, under Calendar -> Settings there is an import button. After selecting the .ics file, you can choose the calendar to import to.

For me, I have seen a lot of failed requests (HTTP 500) in the network tab. I had to re-import the .ics several times until all entries have been imported correctly. Not sure what the issue was, maybe some kind of rate-limiting.

  1. Change the default..

.. calendar and todo list in Nextcloud to create new entries there.

undefined undefined

4. Desktop client

While syncing calendar entries and todos works with most clients, unfortunately, there seems to be no good gui client for Linux out there yet which supports journals. :(

But I do have hope it will find some adoption soon.

See here: jtxBoard GitHub Issue: What is the best desktop client?

and Thunderbird integration request here: Support VJOURNAL in Thunderbird

Joplin will not support VJOURNAL: To-Dos - sync with CalDAV-Server

KOrganizer and Evolution support journals I think, but I haven't tried them.

5. Deleting old calendar entries

To cleanup the calendar to not keep data of all times in the cloud, I will try this tool: github.com/flozz/calcleaner