Replacing Event Generation from Google Event APIs to iCalendar (add serving own iCal feed) #221
probablyangg
announced in
Dev Notes
Replies: 3 comments
-
This is great work. While I digest, one question I have immediately is on: "Events are only associated in a calendar (as a result each event is associated with one and only one community)". It feels to me that (one or more) communities, could be a nice pattern. Thoughts? |
Beta Was this translation helpful? Give feedback.
0 replies
This comment has been hidden.
This comment has been hidden.
-
another very very relevant RFC - https://datatracker.ietf.org/doc/html/rfc5546 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Support RFC-5545
Goal
Update current Event management backend to support RFC-5545
RRULE
s)SEQUENCE
)isDeleted
=true
in the databaseCurrent
Events
model andiCalendar
data to implementcurrent `Event` model
`iCalendar` Event Data
defined here
Rethinking Communities, Events, Calendar, Collections and Users
Event → Calendar → Community
Event → Collection
User → Event
User → Rsvp
User → Collection
Recurrence UI
We currently manage recurrence by creating duplicates of a particular event and assigning the same
hash
to all the events so the UI knows which events to put together on an event’s page (which is stupid tbh)We use
rrule
library to set recurrence rules only because it has a nicetoText()
API that will make it easier to display the recurrence on event page (read more here)The Event model would need to updated to add RRULE associated with each event. If it’s empty the event is not repeating
→ On the event page, we update the right section with events to display the recurrence rule string (eg., Every 2 weeks on Friday for 6 times) which is clickable/tap-able. When you click the list of events slides down and user can scroll through all the upcoming dates and times in a list (only display first 5 if it’s an infinite event)
Example UI - https://ical.marudot.com/
Location Considerations
Caveats
Changes Required
Event
modelCommunity
, google stuff)Event
toConvo
🙂Calendar
model & associations withEvent
andCommunity
Google
model and associated APIs and backend servicesrrule
toEvent
model (rrule String?
)/calendar/<COMMUNITY_SLUG>/<CALEDNAR_ID>
that displays a list of all events in the calendar and a subscription URL/api/services/calendar/feed?community=COMMUNITY_NAME
).ics
attachment URL for each event in the database (also downloadable from the event page) (/api/serivces/calendar/event?eventId=EVENT_ID
)Beta Was this translation helpful? Give feedback.
All reactions