Static schedule exports can currently only be triggered manually via a management command. But we know when the data changes so looking at #275 we should do that automatically, if the user wishes us to do so.
There is no good way to catch bulk updates, but we don't really do those. Instead on updating on talk changes directly, how about storing a dirty flag that will be reset once the schedule has been regenerated?
I decided that it doesn't hurt to be careful, so this flag is set on any submission save and speaker save, currently (as long as the schedule is configured to be exported on release). I think it would be way harder to make sure a change does/does not affect the schedule than to just trigger a regeneration of the schedule export periodically. I've limited the automatic regeneration to 30 minutes to be on the safe side in terms of DoS.