Closed rogercreagh closed 1 week ago
Hi,
I don't think this makes sense as long as nothing in the Nextcloud ecosystem makes use of VJOURNAL
and that it's not widely used anywhere at the moment.
3rd-party apps that makes use of VJOURNAL
, such as jtxBoard + DAVx5 or Evolution / KDE PIM can themselves create calendars synced to Nextcloud that can hold journals, so you don't need to manage that in the Nextcloud calendar interface.
Showing journal items in the calendar interface just like tasks is a different issue than allowing the creation of calendars with journal components.
That being said, the reason we have different button to create a calendar with just events or a calendar with tasks + events is because people were removing their calendar in the tasks app, without noticing it was holding their events as well. Now that we have the trashbin for components and calendars in both apps, I wouldn't mind having a single « Create calendar » button that can hold VEVENTS
, VTODO
and VJOURNAL
at the same time.
cc @nextcloud/designers @raimund-schluessler
Thanks @tcitworld . Yes I see your point about not wanting calendar to be able to create and edit journal components - that would be better handled by a new third party NC app which would combine journal/diary functionality with undated notes functionality.
Your proposal to simply allow a single VJOURNAL
components would meet the immediate need of allowing the use of NC to sync journal entries between devices without having to manually add to the database.
The additional feature of displaying the title of any journal entries in the NC Calendar as a read-only all day entry would be useful. It would be exactly like the way VTODOs are stored in calendar and the titles displayed. When you click on a Todo in Calendar it opens the separate Tasks app. For Journal entries there would currently not be an app to handle them so clicking on the journal title would either do nothing or more usefully display a popup with title and description. Once a CalDAV aware Journal/Diary app emerges then Calendar would link to it exactly as with Tasks.
The title of this particular feature request is simply to allow the addition of VJOURNAL
components to the calendar definition and your proposal would meet that.
Incidentally I see that https://github.com/nextcloud/calendar/blob/main/src/models/calendar.js at line 45 defines a flag
// Whether this calendar supports VJournals
supportsJournals: false,
so someone has perhaps already foreseen this requirement... what happens if you simply set that to true
?
3rd-party apps that makes use of
VJOURNAL
, such as jtxBoard + DAVx5 or Evolution / KDE PIM can themselves create calendars synced to Nextcloud that can hold journals, so you don't need to manage that in the Nextcloud calendar interface.Showing journal items in the calendar interface just like tasks is a different issue than allowing the creation of calendars with journal components.
Hi! While I agree with the basic issue I also want to emphasize that a journals UI on Nextcloud could be a great addition. I do understand that there is the dedicated notes section, but I think a proper journals section is underestimated and would be a good feature to add in NC.
For the basic problem I would say if there is no good reason to automatically block VJOURNAL, I'd say it's better to activate it by default - after all it would be a benefit for NC (by offering more use cases by default) and for the users anyway!
I don't think this makes sense as long as nothing in the Nextcloud ecosystem makes use of VJOURNAL and that it's not widely used anywhere at the moment.
A CalDAV server supporting the protocol, and UI utilizing a CalDAV server are two different things. Taking Cyrus IMAP as an example for CalDAV server, it offers only UI for creating and deleting WebDAV collections. The UI allows changing the supported components after the calendar is created (as there is not standard operation for thus post-creation change). In particular the UI does not offer the possibility to view/edit/delete iCalendar data.
That said, it would be beneficial to extent the capabilities of the NextCloud CalDAV server, even if the NC UI does not utilize all all capabilities. UI that enables changing the supported components, like VALAILABILITY, VJOURNAL, will be welcomed, since there is not CalDAV way of changing the supported components once a WebDAV collection is created.
Did this proposal (to add VJOURNAL to the components field in oc-calendars by default) ever get picked up?
That being said, the reason we have different button to create a calendar with just events or a calendar with tasks + events is because people were removing their calendar in the tasks app, without noticing it was holding their events as well. Now that we have the trashbin for components and calendars in both apps, I wouldn't mind having a single « Create calendar » button that can hold VEVENTS, VTODO and VJOURNAL at the same time.
cc @nextcloud/designers @raimund-schluessler
Just to add it would be really really useful to be able to change the supported components for a calendar after it has been created. The CalDAV spec does not allow clients to change the supported-calendar-component-set property of a calendar. Obviously within Nextcloud you are able to do this because you can access the database and edit the oc_calendars components
value directly.
Currently if you want to add Vjournal support to a user's existing calendar you have to use phpMyAdmin (or similar) to edt the database value. This is ok if you know what you are doing and have access to the server - but not so easy if you are using some other hosting for your Nextcloud, in which case your only option is to create a new calendar remotely which includes VJOURNAL support. Since Vjournal use is now starting to catch on it would be a big advantage for Nextcloud to have the ability to both create calendars with VJOURNAL support and to add VJOURNAL support to existing calendars.
I support adding support for VJOURNAL
by default to new calendars in the calendar app and to the default user « Personal » calendar. This could be done as part of https://github.com/nextcloud/calendar/issues/4554#issuecomment-1534455585
Once that's done, I don't support - for now - allowing users to change the supported calendar component set, as we can't predict the behavior of CalDAV clients with this change (even though just removing and adding back the sync should make everything clean).
nextcloud/server#45786
VJOURNALs
are enabled by default if the client doesn't specify a component set since https://github.com/nextcloud/server/pull/45786.
Currently, we don't set it in the Calendar app as we don't support VJOURNALs
in the UI for now. But external clients are free to do so. I think we can either add them by default in Calendar or add another action similar to the New calendar with task list
once someone implements https://github.com/nextcloud/calendar/issues/4447.
I'm closing this in favor of the VJOURNAL
feature request.
Is your feature request related to a problem? Please describe.
NC has the ability to handle VJOURNAL elements in CalDAV. Although there is no current NC app to manage vJournal entries it is possible to allow transfer and syncing of vJournal items over CalDAV by added VJOURNAL to the components used by a Calendar. At the moment this has to be done by manually editing the oc_Calendars table with phpMyAdmin or whatever thus:
Describe the solution you'd like
There don't seem to be any unwanted side effects to simply appending
,VJOURNAL
to the existing component types for a calendar so this request is to include VJOURNAL by default when creating a calendar in addition toVEVENT,VTODO
If there is a reason not to make it a default then provide an option to include it when creating a calendar.
The immediate benefit is that users will be able to sync vJournal entries (used for both Journal items and Notes by apps such as jtxBoard for Android) through NextCloud, although Calendar can not currently display them.
The longer term benefit is that this opens the way for NC Calendar to actually display Journal entries in the Calendar display, and potentially to be extended to also allow creation, updating and deleting of Journal entries within NC Calendar thus adding a whole new layer of potential use for Calendar as a diary.
Describe alternatives you've considered
The obvious alternative is to develop a completely new NC app to handle VJOURNAL items. There may be good reasons to pursue this, but providing a default facility for calendar to at least accept Journal items for sync if not display would be a very quick win.
Additional context
The essential difference between VJOURNAL and VEVENT is that Journal entries have a start date/time but no end date/time and Note entries using VJOURNAL do not even have a Start date.
It would require significant UI work to modify calendar to display notes using VJOURNAL - they have no date to be displayed against and would be better done by a new Notes app (or a major extension to the existing Notes app which I don't think is currently CalDAV aware)
However displaying Journal entries from VJOURNAL items should be relatively straightforward - most fields are present in both journal and calendar entries. Journal entries, not having an end date, could naturally be displayed in the same way as 'all day' calendar entries, with some UI formatting to distinguish Journal items from all-day Calendar items. This would provide a read-only display of journal items which would be a useful next step.