comingle icon indicating copy to clipboard operation
comingle copied to clipboard

Scheduling feature

Open edemaine opened this issue 3 years ago • 1 comments

  • [ ] 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?

edemaine avatar Mar 17 '21 19:03 edemaine

Also:

  • [ ] User notifications via browser when meetings are about to start

mehtank avatar Mar 17 '21 20:03 mehtank