Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Add a GUI / App to manage VJOURNAL entries #1955

Open
devvv4ever opened this issue Mar 28, 2022 · 14 comments
Open

[Feature Request] Add a GUI / App to manage VJOURNAL entries #1955

devvv4ever opened this issue Mar 28, 2022 · 14 comments

Comments

@devvv4ever
Copy link

Hey everyone!

A lot of people already synchronize their Tasks from NC to Android with DAVx⁵, which works like a charm. Thanks everyone for your work on this Nextcloud app. It is super useful!

Currently Tasks uses VTODO to sync via CalDAV, and recently we've made it possible to sync via VJOURNAL also. Together with jtx Board (https://jtx.techbee.at@patrickunterwegs) we've collaborated on a new open source Android app so that users can already sync their journals and notes with DAVx5 and Nextcloud. The tasks part of jtx Board uses VTODO - so this can already be synced nicely.

If you create a new collection from within DAVx5 you can easily enable the storage of VJOURNAL in this collection and people can store their Journals and Notes on their Nextcloud. Thats nice, and can be used to sync between Android devices that run DAVx5 but people have no ability to edit or create syncable Journals and Notes on Nextcloud. And ususally Journals and Notes contain more text than Tasks - so it would be a lot easier to manage that on the big screen ;)

It would be a perfect addition for the Tasks app to have an interface on Nextcloud to manage all their journals, protocols, meeting minutes, and other stuff.

jtx Board implements the almost complete VJOURNAL standard and makes strong use of the related-to fields which makes it possible to cross-link tasks and notes to each-other and to journals. This is super-cool for a lot of use cases. For example you can create a team meeting protocol and add sub-tasks and notes to it.

We have no experience with NC apps (we're all Android developers), but we'd be very happy to assist/help/collaborate with the details on this to further empower the usage of open standards and to bring something new and useful to Nextcloud.

Thanks!
Bernhard / DAVx⁵

Release of DAVx5 with VJOURNAL support: https://twitter.com/davx5app/status/1504775846841757701
VJOURNAL RFC: https://icalendar.org/iCalendar-RFC-5545/3-6-3-journal-component.html
jtx Board: https://gitlab.com/techbeeat1/jtx/ & https://jtx.techbee.at

@rodneyrod
Copy link

This may also require some discussion with the Nextcloud Notes team, they've had this mentioned previously but it didn't go far at the time, could be good to reach out to see what can be done?

nextcloud/notes#197

@devvv4ever
Copy link
Author

I think Nextcloud Notes is not the optimal way to go. They have normal files as backend while a CalDAV server (that handles VTODO and VJOURNAL standardized content) can/must contextually understand requests by the client. A files server basically ignores the content of the file and "simply" transmits it. Nextcloud Tasks already has this more complex CalDAV backend so it is much more interesting to add VJOURNAL support here than in Nextcloud Notes.

@SamuXzX
Copy link

SamuXzX commented Aug 4, 2022

I agree that Notes should not be the app which implements it. At the same time I think that introducing it in Tasks would make it a very complex app, while all apps have simple UIs and serve a single purpose each.
Maybe the solution could be to create another app ("Nextcloud Journals"?) to manage VJOURNAL but also to communicate with people at nextcloud/calendar to use their backend (related: nextcloud/calendar#1514).

In this way Nextcloud can keep its simplicity, but it would require a team to build this another app...

@unalignedcoder
Copy link

unalignedcoder commented Feb 3, 2023

I don't agree it should be Notes to implement it. Journals are date-based and belong in the Calendar.

As already mentioned in OP, JtxBoard is already able to sync VJOURNAL entries with Nextcloud via DAVx5.

The entries are there, saved in a Nextcloud calendar. It's up to the calendar people to simply show events AND journals in the calendar.

@tcitworld
Copy link
Member

The CalDAV server lies in Nextcloud "server", not the Calendar app. Any Nextcloud app can connect to the CalDAV server through CalDAV, just like Calendar and Tasks do it. UX and implementation are different things that are not exclusive.

@unalignedcoder
Copy link

The CalDAV server lies in Nextcloud "server", not the Calendar app. Any Nextcloud app can connect to the CalDAV server through CalDAV, just like Calendar and Tasks do it. UX and implementation are different things that are not exclusive.

Well, they are saved in a table called "calendarobjects". So, for all intents and purposes, they are "saved in a calendar". In any case, it remains the fact that a journal entry, by definition, is connected to a date. It goes into a calendar. Notes, on the other hand, are by definition timeless.

@rogercreagh
Copy link

I have a Joomla component in development which uses VJOURNAL on a CalDAV server (eg Nextcloud Calendars) to store Journal entries and synchronise them with other apps (eg Evolution Mail on Linux, jtxBoard on Android and others).

It is a bit of a pain that although Nextcloud Calendar correctly handles VJOURNAL entries if you either create a new calendar remotely (from a CalDAV client) or manually add VJOURNAL components type to NC database entry for the calendar, there is no way within NC to either create a calendar with VJOURNAL enabled, or to add VJOURNAL capability to an existing calendar.

This would make NC much more useful as a CalDAV server, whatever native NC apps for Journal/Diary might ultimately be developed to use the facility.

Its a bit of a catch-22 to say that NC doesn't need to recognise VJOURNAL because no-one has developed a NC app to display journals within NC because NC (on the surface) doesn't appear to recognise VJOURNAL (although in fact it does and it works perfectly well)

Please can this request get some serious consideration, it appears to be quite simple to implement.

@rogercreagh
Copy link

In any case, it remains the fact that a journal entry, by definition, is connected to a date. It goes into a calendar. Notes, on the other hand, are by definition timeless.

Not quite - a note will have a created date,and probably a modified date as well. In CalDAV terms a VJOURNAL entry (like VEVENT AND VTODO) has a DTSTAMP (=created date) and LAST-MODIFIED (=modified date) property.

VEVENT and VTODO must have at least a DTSTART date (and often a DTEND) property.

For VJOURNAL on the other hand DTSTART is optional - a journal entry with a DTSTART set is tied to that date for display (like a diary entry appears on a specific day in real life) - it can be just date or date-time. A VJOURNAL entry without DTSTART set is not tied to a specific display date (but can still be ordered and filtered by DTSTAMP or LAST-MODIFIED) and is in effect a Note.

A native NC Journal App would handle both journal/diary entires (dated with DTSTART) and Notes (undated).

@thymaro
Copy link

thymaro commented Jul 26, 2023

I don't want to step on anybody's toes, but I read somewhere that VJOURNAL will not get more consideration as long as people aren't interested in it. This is me stating my interest.

Also, thanks @devvv4ever , after reading a lot of other stuff, I finally understand why my journal entries cannot be synchronized via my Nextcloud instance. I tried updating it, but it won't budge. The update process just fails at some point, so I didn't bother any longer. The fact that I have an old NC instance prevents the journal entries from syncing over my NC.

The strange thing is that it seems to also not be syncable over my company's Nextcloud. This instance is definitely up-to-date (I've had a short-lived argument about that fact with my boss a while back, and she told me it's being taken care of.)

All I am looking for, really, is a way to restore my journal entries should I lose my mobile device. At this point in time, I don't really care for editing them on desktop. I really just want to be able to download them to a new device should my current one break.

@patrickunterwegs
Copy link

Hi @thymaro ,

There was a problem creating collections with support for all components in ownCloud. Maybe there could be a similar problem with your older NC instance:
TechbeeAT/jtxBoard#48 (comment)

At least I guess it's worth having a look.

Please also have a look at this article just to make sure nothing basic is going wrong:
https://jtx.techbee.at/troubles-with-the-synchronization-see-what-could-go-wrong

@rogercreagh
Copy link

Also, thanks @devvv4ever , after reading a lot of other stuff, I finally understand why my journal entries cannot be synchronized via my Nextcloud instance. I tried updating it, but it won't budge. The update process just fails at some point, so I didn't bother any longer. The fact that I have an old NC instance prevents the journal entries from syncing over my NC.

The strange thing is that it seems to also not be syncable over my company's Nextcloud. This instance is definitely up-to-date (I've had a short-lived argument about that fact with my boss a while back, and she told me it's being taken care of.)

Hi, for your own instance of NC what version are you running? Are you trying to sync with an existing calendar, or one that you have created from outside NC with a VJOURNAL aware app - eg DavX5?

If you create a new calendar in DavX5 you can specify it to include VJOURNAL and NC will do this. But once a calendar is created it can't be changed to add VJOURNAL remotely (there is no CalDAV command to edit a calendar) except....

... if it is your own instance of NC and you have access to the server database (eg with phpmyadmin) you can manually edit the database entry for a calendar and add ,VJOURNAL to the components field. NC will then save and sync VJOURNALitems.

The same applies to your company's NC - by default NC does not enable VJOURNAL (it would be simple to fix this and adding VJOURNAL to all calendars would have no impact for people not using journal items). You will probably need to ask your IT people to make the relevant change in the database for an existing calendar.

@rogercreagh
Copy link

There are two (very minor) first steps that NC developers could take:

  1. Add the option to allow VJOURNAL entries when creating a calendar. This would involve adding two further lines to the create calendar menu
    image
    Add New calendar with journals and New calendar with tasks and journals to that dialogue with the change to the code behind to include ,VJOURNAL in the components field in oc_calendars table.

  2. Add an option in the three dots menu for a calendar
    image
    (or elsewhere, possibly under user settings) to allow VJOURNAL to be retrospectively added to an existing calendar if it was missing - a fairly simple bit of code behind to update the oc_calendars table. This is important to allow existing calendars to be used without having to resort to manually changing the database (which maybe beyond the reach of many users who simply want to add journal capability to an existing calendar)

@tcitworld
Copy link
Member

@rogercreagh please see nextcloud/calendar#4436 (comment)

@thymaro
Copy link

thymaro commented Jul 28, 2023

for your own instance of NC what version are you running? Are you trying to sync with an existing calendar, or one that you have created from outside NC with a VJOURNAL aware app - eg DavX5?

If you create a new calendar in DavX5 you can specify it to include VJOURNAL and NC will do this. But once a calendar is created it can't be changed to add VJOURNAL remotely (there is no CalDAV command to edit a calendar) except....

aha! I didn't even know I could create new calendars from within Davₓ5. This worked and I take everything back.

NC v24.0.4. I will soon need to take care of that, probably by smashing everything to pieces and reinstall, but I'll have to analyze why I can't upgrade, then adapt my host's install script or some setting in the backend. I'll see.

I was trying to sync with an existing calendar created in NC. When creating a calendar in Davₓ5, I can select all three options, including VTODO and VJOURNAL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants