emfcamp / Website

The Electromagnetic Field web site
http://www.emfcamp.org
GNU Affero General Public License v3.0
41 stars 84 forks source link

Scheduling time constraints should be specified in a less baffling way #1150

Open russss opened 2 years ago

russss commented 2 years ago

The allowed times for talks on a stage are currently determined in the following way, which is quite confusing to put it mildly:

The Proposal.get_allowed_time_periods_with_default method returns the time periods in which the scheduler can schedule the proposal. If the user hasn't specified acceptable time slots, we extract the times from the strings in the PROPOSAL_TIMESLOTS datastructure.

For youth workshops and performances, which have different time constraints, the REMAP_SLOT_PERIODS datastructure is used to modify these timeslots.

This is backwards, I think. Acceptable scheduling time ranges should be in the database, configurable in the admin by venue and by proposal type (a stage can host talks and performances in different time ranges). These time ranges could then be used to automatically generate the timeslots (which we can probably do automatically by splitting the time ranges into approximately 3-hour chunks). If we do this we need to consider what happens if we change the time range after timeslots have been assigned.

This should probably be done after #1149.

russss commented 2 years ago

Perhaps it would be best to only allow people to submit their time constraints as "morning" or "afternoon" on each day, rather than having more granular timeslots which could be affected by changes to the venue schedule ranges.

russss commented 6 months ago

We should validate any manually-added time constraints for proposals based on whether there is a venue capable of hosting them at that time.

(We've seen some proposals this year which somehow got clearly erroneous time constraints several months away. This caused the scheduler to blow up.)