nextcloud / nextcloud/calendar

Support VJOURNAL entries in Web UI

Open
#4,447 5 comments 13 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement feature: caldav Feature: Integration
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Is your feature request related to a problem? Please describe.

No Nextcloud app support VJOURNAL calendar entries, even though Nextcloud does through the backend and officially featured connectors like GNOME Online Accounts and DAVx5.

I can sync a journal entry from JTX in my Nextcloud calendar on Android through DAVx5 to my Nextcloud server, to GNOME Online Accounts and Evolution on Linux. But there's no way to display or manipulate those entries in Nextcloud itself.

Describe the solution you'd like

Journals in Calendar

I think journal entries would go well with the calendar app just like task and deck entries. The calendar views would be a practical tool to get an timeline overview of journal entries, be it a quick glance at the titles, check regularity and frequency or quickly navigate to an entry at a specific date.

Journal entries themselves can be used for anything, i.e. repeating technical reports, diary entries, personal medical registrations, meeting notes etc.

In the long term, a dedicated app for journal entries would most likely be ideal. But displaying journal entries in the calendar app is a quick fix to the complete lack of web UI. In the long term, perhaps journal entries belong in the calendar anyways, with the same type of link to the dedicated app as tasks have?

It's worth noting the standard of splitting VJOURNAL-entries in two, where entries without a start date is considered a memo. Memos would be incompatible with the concept of Calendar, so such entries could be dumped in a Memo-section and just sorted by title until a dedicated Journal app appears. After that it would probably be best for Calendar to ignore memos.

Suggestion and mockup

My suggestion for the input interface is basically a simplified copy of the existing event creation interface. Regular sidebar unless a "Journal" toggle box is selected. This toggle would switch the interface from standard to journal input and toggle the VJOURNAL flag in the calendar entry.

Mockup - Journal

  • Event Title: No change
  • Select calendar: No change
  • Start Date: No change
  • End Date: Remove on toggle. VJOURNAL entries are either full day or 0 seconds.
  • All Day: No change
  • Journal interface toggle added

Details

Remove other tabs because they're relevant to journal entries, then remove tab row because there's only one tab?

Location: No change
Description: No change, perhaps expand input field to improve writing.
Confirmation status: Remove
When Shared: No change
Busy status: No change
Categories: No change
Event Color: No change
Reminder: Remove
Recurrence: Remove

I imagine there's a lot of shared code and functionality since the only difference between a calendar entry and a journal entry is a single toggle.

Displaying journal entries

Displaying journal entries in the calendar views could be just like tasks, with a short 5 or 15 minute "timeslot" displaying the entry's title. Opening the entry could perhaps be done by doing a VJOURNAL check when opening the entry and then showing the correct interface.

Describe alternatives you've considered

Continuing using Nextcloud Notes, great for taking notes, not so much for creating and browsing time-based entries. No [TOC], table of content support for timestamp headers.

Use the ugly and unintuative native apps on desktop instead of the beautiful and sleek web interface of NC Calendar.

Additional context

"It is a rarely used function because there's little support for it because it's a rarely used function because there's little support for it."

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reviewing the existing calendar event and task interfaces, then compare them with the backend's VJOURNAL support described in the issue. Done would require an agreed scope for creating, displaying, editing, and handling dated versus memo journal entries in the Web UI.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.