Synchronizing notes over CalDAV as vjournal format?

Hello!

There’s a Linux software called Evolution, which is a sort of groupware client. It claims to be able to sync notes via caldav, at least there’s a set up page for it. Can this really be true? Is it really possible to sync notes using caldav? If it is: what app do I need to install on NC for it? Thanks in advance.

I use CalDAV sync by Marten. It syncs Notes as well without any further ado

Are you talking about the Android app by Marten? I use that one as well, but I use it to sync my calendar. I have not figured out how to sync notes with it. Could you tell me how this is done, please?

And if I get my notes synced between my Android and NC that way, how do I sync them to my Linux desktop machine?

Ouch! I’m terribly sorry for having raised false hopes… Clearly, it was too early for me :-/

I misread you and confused notes and tasks: Martens app syncs tasks along with calndar data, not notes.

Sorry again!

Don’t worry! I know that feeling, when there is too much blood inside the caffeine that runs through your veins. :slight_smile:

Anyway: I still find it strange that Evolution offers to sync notes with CalDAV anyway. I did not know that CalDAV could be used for that purpose.

Yes it can, as can some other PIM suites out there – VJOURNAL is a core object of the iCal/vCal format.

The issue is that I don’t know if there’s a Nextcloud app to view and edit notes/journals in the VJOURNAL format.

I guess that it’s easier to sync notes using 3rd party syncing software to sync whole folders than to write an app that syncs notes only. If you use a folder syncing app, you can sync anything you want.

On the other hand, if you use a groupware client like Evolution, it would be nice if you didn’t need to start a separate app to sync your notes.

Gnome Evolution store Memos as a VJOURNAL iCalendar records.

Nextcloud use a sabre/dav framework to deal with CalDAV,
and sabre/dav provides a support to the VJOURNAL entries.

Other data entries in iCalendar is a VEVENT for the calendar records
and a VTODO for the tasks - and each Nextcloud Calendar can be limited
to store only one type of the data entries (i.e. VEVENT for birthdays)
or some combination of them.

The Nextcloud applications does not use VJOURNAL records, and regular calendars
are limited to store VNOTE and VEVENT records - Evolution can’t use these calendars
as a CalDAV source for the Memos.

But Nextcloud core (i.e. sabre/dav) could work with VJOURNAL entries without any
modification.

Valid record types for calendars are listed in the Nextcloud database,
table ‘oc_calendars’, column ‘components’:

mysql> select id,principaluri,uri,components from oc_calendars;
+----+------------------------+--------------+--------------+
| id | principaluri           | uri          | components   |
+----+------------------------+--------------+--------------+
|  1 | principals/users/admin | personal     | VEVENT,VTODO |
+----+------------------------+--------------+--------------+

To allow a VJOURNAL records into calendar set ‘components’ to ‘VEVENT,VTODO,VJOURNAL’:

mysql> update oc_calendars set components='VEVENT,VTODO,VJOURNAL' where id in (1);

After that Evolution can use this calendar as a CalDAV source for Memos.

I can’t found a way to extend calendars capabilities via Nextcloud interface,
and VJOURNAL records can’t be accessed via Calendar/Task applications,
only from Evolution Memos - but it seems to work.

2 Likes

This is a nice work around! Thanks.

But we still have a problem with the iOS configuration. Sadly, I don’t know which protocol they use to sync the Notes app with cloud/mail services (not only icloud) but I can tell that I am able to sync my notes with many providers, unfortunately not with Nextcloud…

Any idea or work around ?

since march 2020 / gnome 3.37.1+ Evolution has integration for a webdav notes folder, scanning for .txt files - https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/165 … will need another patch to also list .md markdown, but the support is there. If you configure it, use the proper localized path to your notes folder:

https://example.com/remote.php/webdav/<yournotesfolder>/

gnome-notes (bijiben) talks directly to the notes API

1 Like

This discussion is rather old, but it might still be interesting for somebody who stumbles upon it:
I am the developer of jtx Board, the goal was to create an Android app that supports VTODO and VJOURNAL without making major compromises. Synchronization is done over DAVx5 and Nextcloud already fully supports it (there is no web interface for VJOURNAL though). However, you can check it out here:
https://jtx.techbee.at/

Btw. it’s open source, it’s available on app stores but also on f-Droid. So I hope it’s okay to also promote it here. :slight_smile:

2 Likes

@patrickunterwegs Are you able to use nextcloud for notes. The Nextclouda app Notes or the Calendar?

Hey @Mannshoch,
regrettably at the moment there is no way to use the nextcloud notes app in combination with jtx Board. Nextcloud notes is using a different backend for notes (not file based and not based on the iCalendar standard). There was/is a discussion about this topic here:

But as I am also not a backend specialist for nextcloud, it’s a bit difficult for me to tell what changes would be needed.

The colleagues from DAVx5 also opened another thread to ask if a web-frontend could be made that is implementing the VJOURNAL component of the iCalendar standard:

1 Like

I’m confused. Nextcloud Notes is file based.

I’m wondering that in these days anything structured exist that is not saved in a database. I was thinking that all data is stored in a database but nextcloud generate caldav textfiles on-the-fly on request over caldav. But so I was also wondering why Nextcloud-Notes save Data in files.

Databases are not the solution for everything. That’s why solutions like Nextcloud manage all the information about files in databases, but the data itself is stored in files.
Using the Webdav protocol or the Sync client gives you the possibility to edit files on different devices without the need for a special client.

This as a general thought and now back on-topic …

i have started using the jtxBoard app on my Android devices and by adding “VJOURNAL” to the components column in the relevant row of oc_calendars (as per the post by @nfetisov above) I find that I can sync journal entries and notes between two Android devices.

It would perhaps not be too difficult to add to the NC Calendar app to display at least the title of journal entries as an all day entry in the calendar.

I understand that the primary difference between VEVENT and VJOURNAL items is that VJOURNAL items to not have an end date/time.

Understandably when creating an entry in Calendar it requires an end date time (defaulting to the same as the start time), but a vJournal entry that is already in the database could be displayed by the calendar as it stands if it was able to accept entries without an end date/time.

In fact if you allowed a null end date/time when creating a calendar entry (by the user simply clearing the default from the entry form field and not putting a date in) then Calendar could simply detect that the end date/time was missing and create the entry in the database as VJOURNAL rather than VEVENT.

That might be a very quick fix to allowing Calendar in the first instance to also display vJournal entries (as read only) and with a little more work to allow editing and creation of vJournal entries.

I believe that Notes in jtxBoard are simply Journal entries without a date - certainly they also get sync’d by adding VJOURNAL to thecomponent column as above - since they don’t have a start date Calendar could continue to ignore them pending a Notes (or Notes+Journal) app for NC getting developed that would allow CRUD on them.

For now jtxBoard is really useful on Android devices and adding the ability for NC to at least display entries would be a big feature for NC.

1 Like

Feature request opened on GitHub

1 Like