-
-
Notifications
You must be signed in to change notification settings - Fork 26
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
Epic: Redesign event schema #88
Comments
I meant to be farther along before presenting this, but since you're also looking at this, this is what I have so far. The recurring event model need fixing.
|
@fyliu I think we can use django-recurrence to simplify this. I'm testing this currently. Update: I've tested this and it works. There is an error in the installation instructions so I've created this pr in their repo to correct. |
@chelseybeck this looks like exactly what we need. It even handles multiples rrules, which would allow us to have a single event for the slightly complex onboarding schedule, which Google calendar doesn’t support. Great work finding this! This is what I meant for this issue to do, which is to get rid of all the extra tables and have just the event table doing everything and working better than before. This package does all the heavy lifting for us. Maybe we’ll need another model for overriding single occurrences, to store overwritten fields like different url or different address or changed time. I’m not sure if this package has a recommendation for doing that. Maybe the override part could be designed later if it’s not easy.
|
Product to make issues for
For reference: Fang's visual comparisons between the current and new table designs. django-recurrence will make it even simpler. |
Moving this here to clean up Bonnie's original comment above.
I created an issue to work on this |
|
I think this needs some more work to create work issues. |
I started a thread to compare a new option that showed up recently at Their differences are not small, and we'd have to use each in a different way. A GH discussion feels like a good place to hold this information. We can copy a summary of it to the top of this issue later. |
Progress update
|
Status update:
|
@fyliu I don't know whether your last status update was from before or after last week's team meeting but just in case, here's the usual update request: Please provide update
|
Progress: I haven't been able to work on this the past week. I'll make sure to spend time on this this coming week. |
|
Dependency
recurring_event
table toevent
and make simple changes firstOverview
As database architects, we would like to make sure the schema is designed well and adhere to good relational design. The current event tables are modeled after the old VRMS non-relational database, and doesn't fit some normal use cases very well as well as having data duplication. We need to redesign it to be simpler, more useful, with no data duplication, and follow the iCalendar (not related to Apple) standard.
Action Items
Research. Read through a few designs
Create a design that includes the use of the django-recurrence field
Propose the design at a meeting
new design related tasks
event
recurring_event
to it in Update Table: recurring_event (rename to event) #173close Eliminate event/event_history tables location redundancies #55 if we don't need it anymore
review Create Table: cancelled_event #57 and close if we don't need it anymore
Implement a solution for cancelled events #151
Revisit Eliminate event/event_history tables location redundancies #55 to see if it's still relevant
Resources/Instructions
rrule demo
search for "data model for recurring calendar events"
stackoverflow answer - other answers could be useful as well
iCalendar standard RFC 5545
Tim Shaker's schema is also worth referencing. It is modeled after google calendar
Why it needs to be changed
New Design
png
withuml
.The text was updated successfully, but these errors were encountered: