Add conflict rules for scheduling #214
Labels
size: big or difficult
Will take a long time and/or a lot of skill
stage: up for grabs
type: feature
We need to check schedules for conflicts, and there are different kinds of conflicts that may have different impacts. Once the rule system exists, users may want to change the importance of conflict rules as fits their event.
Features
Impact levels
BLOCK SCHEDULING
: check and forbid while scheduling. This should be very rarely used, as forbidding a scheduling move instead of just flagging it is jarring for the user.BLOCK RELEASE
: check whenever appropriate, but block a release.WARN
: check whenever appropriate, show warnings, but permit a release.IGNORE
: don't check at all.Checking styles
All checks except for blocking checks should run asynchronously to avoid delaying scheduling moves.
Known conflict rules
Future conflict rules
We may want to include attendance requests, room size/interest rate, scheduled breaks, and maybe even user defined features in our conflict rule system, which is one of the reasons it needs to be generic.
Implementation
As long as we only talk about named rules we know about, we may store them by name. We could have a (later on configurable) conflict ruleset as a JSON field in our event's settings:
The text was updated successfully, but these errors were encountered: