For modules, pages, or anything really, create a tool (or enhance the existing module builder or date modifier) which will publish/unpublish Canvas items based upon a date window. This would be duplication somewhat by other date selection options in Canvas (such as in an assignment) but would add options for modules and pages. For example, in modules one can only lock until a date but can't re-lock after a certain date. For pages, there are no date related availability choices. The idea is some sort of bot which publishes/unpublishes based on date/time.