-
Notifications
You must be signed in to change notification settings - Fork 83
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
Review CfP data model #1794
Comments
One possible approach - which I'm not especially wedded to - is to flatten the whole thing out, and divide it up this way:
The subtype could be a free text field where specific defined values can enable certain fields (e.g. music gets a genre, film gets a classification, pissup gets a preferred beverage). Perhaps these custom fields which aren't otherwise used in the CfP system could be stuffed in a JSON column or a separate key/value table rather than an ever-wider table, which would then make it easier to customise them. |
This list should probably include "scheduling process (manual/via slot machine, which venues/time slots) |
I was going to suggest type specific columns being shoved into a JSON column too, but I am a little worried about that biting us later. Whatever we do, we need to be able to convert proposals from one type to another. |
There are two annoyances AIUI:
Switching to e.g. a parent table that holds the really basic information along with a related, per-type model might help with some of this, but as Jonty notes we won't be able to get rid of the requirement for the convert endpoint. Some of columns are close matches and share information, and we may even want to request extra information in order to convert between some types. Also what happens to historic changes? |
Given the increasing demand for more granular proposal types (#1514, #1515, #1601), we should review how we model these to see if we should make any changes before 2026.
The proposal type governs several things:
We currently use SQLAlchemy's single-table inheritance to differentiate between proposal types. This causes some occasional annoyances - maybe it would be better done another way.
We likely also want to consider #1789 at the same time. This may move the schedulable items to a different class (which I'm provisionally calling "occurrence").
The text was updated successfully, but these errors were encountered: