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] Calendar (Integration) #6504

Open
switchupcb opened this issue Jun 12, 2023 · 7 comments
Open

[Feature Request] Calendar (Integration) #6504

switchupcb opened this issue Jun 12, 2023 · 7 comments
Labels

Comments

@switchupcb
Copy link

switchupcb commented Jun 12, 2023

Feature Request: Calendar (Integration)

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

OwnCloud Infinite Scale has no calendar feature.

Describe the solution you'd like

A calendar per user, group, and space (when enabled) that can integrate with other calendar applications (using CalDAV).

File Behavior

I want the ability to drag a file into a space on the calendar. This action can prompt a calendar entry form:

  • Title: enter title...
  • Description: File URL...
  • etc.

When the user submits the calendar entry, it is entered into the calendar.

  • User: Personal calendar submission only affects the user's calendar.
  • Group: Group calendar submission is placed on the Group calendar and propagated to the group's users' calendars. The user has the option to disable the display of Group calendar entries on their respective User calendar.
  • Space: Space calendar submission is placed on the Space calendar and propagated to the group calendars. The group and the user can disable the display of Space calendar entries on their respective calendar.

The OCIS UI detects calendar entries with an OCIS Document URL in the description (or another metadata field) and displays a file preview in the calendar (rather than an entry with a URL description). However, this feature will only appear on OCIS UI's because other calendar applications will not have the context that the calendar entries referencing OCIS documents should be customized. So those applications will display a boring entry with a title, description (url), etc.

Describe alternatives you've considered

  • No Calendar.
  • Calendar as an integration rather than in the basic OCIS installation.

Additional context

I am willing to develop a calendar integration for sponsorship or salary now that #6503 is completed.

@micbar
Copy link
Contributor

micbar commented Jun 14, 2023

@dragotin @tbsbdr FYI

@switchupcb We had a minimal Calendar Feature in ownCloud 10. It was implemented as a CalDAV backend and we shipped a minimal frontend.

For ocis we are working on a community approach to integrate the Radicale CalDAV backend.

@kulmann @dschmidt For the web frontend we are working on an extension system.

For the ocis backend we have a hello example to create a ocis service and connect it to the ocis stack https://github.com/owncloud/ocis-hello/

@switchupcb
Copy link
Author

switchupcb commented Jun 21, 2023

Views

I am also proposing that the calendar support the following User Interface views.

  • Daily (24-Hour)
  • Weekly (7-Day)
  • Monthly (Default)
  • etc

Implementation

A "single view" can be implemented using the combination of a horizontal and vertical view, with a configurable day time range and day time interval for the calendar.

Combined View

This configuration determines how many days are shown in the calendar.

Instead of implementing a view that must be resized according to other conditions, create a combined view that lets the user configure the size of the calendar:

  • Row Count
  • Column Count

Add horizontal and vertical scrollbars to the calendar view when the amount of entries exceeds the viewport.

Example

  • A column count of "1" and row count of "1" creates the vertical view below.
  • A traditional monthly calendar uses a "7" or "weekly" (alias) column count and "monthly" (alias) row count.
  • A quarterly calendar uses a "7" or "weekly" (alias) column count and row count of "13".

Horizontal View

The standard view of a calendar: It displays days horizontally.

image

This view should NOT be implemented since the combined view provides the same functionality.

Vertical View

A vertical view lets users view days vertically.

image

This view should NOT be implemented since the combined view provides the same functionality.

Configurable Day Time

This configuration determines how days are shown in the calendar.

Let the user define the calendar's day time range and day time interval: This lets the user determine how calendar entries are presented in a single calendar day.

Day Time Range

The day time range of a calendar determines the available space for each day. For example, "24h", "all", "12:00 AM - 12:00 AM" are day time ranges that show every calendar entry in a calendar day.

Suppose the user configures a custom time range from "8:00 AM - 12:00 AM": The calendar day view will be scoped to 8:00 AM - 12:00 AM, and only entries containing time from 8:00 AM - 12:00 AM — during that day — will be shown.

Support for this feature can be found at https://help.nextcloud.com/t/calendar-app-customize-visible-time-range/77703 and nextcloud/calendar#577.

Day Time Interval

Configuring the day time interval of a calendar determines how the calendar day is divided into segments. For example, a "1/24" day time interval splits each day into 24 segments. So when the user is using a "24h" day time range, then each segment will be 1 hour.

Quality of Life (QoL)

Let the space, group, or user create multiple calendar templates that can be loaded from "tabs" with unique calendar views.
Let the user specify which weekdays to show.

@switchupcb
Copy link
Author

@micbar: #6504 (comment) contains an update that can be forwarded to the relevant people.

@micbar
Copy link
Contributor

micbar commented Jun 21, 2023

@tbsbdr @hodyroff @dragotin FYI

@switchupcb
Copy link
Author

switchupcb commented Aug 28, 2023

In hindsight, this feature request is basically asking for a customizable calendar similar to Google Calendar and Samsung Calendar. So if you are working on this feature request, I would also look at those implementations for inspiration on a simple UI and settings for these features.

@pReya
Copy link

pReya commented Jan 29, 2024

For ocis we are working on a community approach to integrate the Radicale CalDAV backend.

@micbar

Do you know of any funding possibilities for such an approach? I have a small team consisting of 2-4 devs with a good skillset end experiences for this task. But it's still a big undertaking. Any ideas where we could apply for some funding to get this off the ground (aside from NGI0 and Prototypefund)?

@micbar
Copy link
Contributor

micbar commented Jun 4, 2024

@pReya I think that would need to be an NGO or someting similar. Commercial use cases require integrations with ocis and are not interested in using some "home grown" solution.

In the meantime, there is progress on the Backend.

#8357

@micbar micbar moved this from Feature Requests to In progress in Infinite Scale Team Board Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: blocked
Development

No branches or pull requests

3 participants