Open mwest1066 opened 4 years ago
This basic idea is wonderful; a potentially simpler alternative that would still be a win would be to do this via export/import: export a list of all assessment dates into into a CSV and then allow an import with the dates modified. This isn't quite as wonderful as the automatic conversion, but would still save 90% of the work. (Hmmm -- thinking a bit more: one might be able to apply the date changes from one term to the next via Excel macros to the CSV, which could then automate even more, but I think the export/import would simplify sufficiently that you might not need anything else.)
This basic idea is wonderful; a potentially simpler alternative that would still be a win would be to do this via export/import: export a list of all assessment dates into into a CSV and then allow an import with the dates modified. This isn't quite as wonderful as the automatic conversion, but would still save 90% of the work. (Hmmm -- thinking a bit more: one might be able to apply the date changes from one term to the next via Excel macros to the CSV, which could then automate even more, but I think the export/import would simplify sufficiently that you might not need anything else.)
Awesome idea! This general pattern of "download CSV, modify, upload again" is a really good idea that we should be using more often.
I don't suppose you know anyone who'd be interested in implementing this? 😄 I don't think it would be very hard, and I'd be very happy to discuss implementation with anyone in @cheeren's weekly dev meeting.
I am probably going to a version of this over our Winter break (2/15) that works for my course; if I can also find the time to figure out how to do this generically, I'll certainly try. If @cheeren has the resources, I'm happy to work with them.
I do have resources... I have a nice little team that is willing to work on this. (recording this issue in a planning doc)
I do have resources... I have a nice little team that is willing to work on this. (recording this issue in a planning doc)
Yay!
To make it easier to copy courses instances, we could set
"dateOrigin": "2020-01-19"
ininfoCourseInstance.json
and then allow all other dates in the course to be specified relative to this origin date, using ISO 8601 interval notation. PostgreSQL accepts ISO 8601 intervals which are likeP5D
for 5 days, orP12W
for 12 weeks. These can be combined, soP8W3DT6H
is 8 weeks + 3 days + 6 hours.When copying a course instance for a new semester, we would then only need to change the
dateOrigin
and everything else would shift automatically. Of course some manual editing might also be needed to line things up with break weeks, but it might be easier to edit relative dates in weeks rather than absolute dates.For example,
infoCourseInstance.json
could include:This would allow access from three days before Jan 19 up to 16 weeks + 3 days after.