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

Scheduling feature #160

Open
16 tasks
edemaine opened this issue Mar 17, 2021 · 1 comment
Open
16 tasks

Scheduling feature #160

edemaine opened this issue Mar 17, 2021 · 1 comment
Labels
priority Need to work on this soon

Comments

@edemaine
Copy link
Owner

edemaine commented Mar 17, 2021

  • Store calendar in new database
    • as a single iCal blob: This seems like the easier way to get started, and the fastest way to support iCal output. Clients can parse iCal to jCal.
    • maybe as JSON as defined by jCal and parsed by ical.js. This would be a faster way to do CalDAV operations (smaller updates in a big calendar), though honestly I'm not sure the added complexity is worth the complexity. If we did, the iCal database would still be useful as a cache, for various clients fetching it via the iCal export interface (probably more common than updates).
  • Clients download the iCal, and server uses a chat-style notification to notify client to redownload in case it changes. I imagine changes are rare, so this is much more efficient than a subscription (which requires the server to keep many copies of the calendar in memory).
  • Admin toggle for whether to show schedule to all users, which shows Schedule tab. (Admin always see the Schedule tab as an option, but maybe purple when normal users wouldn't see it.)
  • Admin schedule editor (or rely on iCalendar/CalDAV support; see below)
  • User view:
    • Show previous event(s), grayed out (for what you missed)
    • Show next few events, along with number of days/hours in future (to avoid timezone confusion)
    • Maybe show the current time or timezone (so it's clear what the computer thinks it is)
  • Comingle as CalDAV or SyncML server? Then Google Calendar desktop clients like Apple Calendar and Windows Calendar (via a hack) and Android can edit the calendar directly, so I don't need to worry about creating a nice interface.
  • Option to sync Comingle's calendar with other CalDAV servers, where Comingle takes the role of a CalDAV client. This would enable 2-way sync with a Google Calendar, with good failure mode if the Google Calendar gets deleted or drops CalDAV support (just stop syncing). Ditto for iCloud Calendar or other CalDAV service.
  • iCalendar output URL for users to add to their own calendars (including Google Calendar)
  • iCalendar import. (This is the simpler first thing to implement for getting events in, without building an add-event user interface.)
  • Configurable browser notifications when meetings are about to start
  • Server-based email notifications as an option?
@mehtank
Copy link
Contributor

mehtank commented Mar 17, 2021

Also:

  • User notifications via browser when meetings are about to start

@edemaine edemaine added the priority Need to work on this soon label Mar 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority Need to work on this soon
Projects
None yet
Development

No branches or pull requests

2 participants