Along the lines of the needs outlined in https://tracker.moodle.org/browse/MDL-48298 we have now a working (alpha quality) solution at https://github.com/fuhrmanator/course-activity-planner/
The service is not yet on the web (we run it on a private web server), but it is working as a proof of concept. I was able to plan my two courses this summer, each with some 20+ activities in each, and the dates were automatically updated by the tool (so many saved clicks).
The overview from the readme:
Here's how it works:
- An iCal file specifies the meeting times of course seminars, labs, etc.
- The Moodle course, which already has activities created, is backed up to an MBZ file (and uploaded to CAP).
- The CAP tool parses both these inputs, and presents the info to the instructor:
(note the info above is partially in French because that is the language our school uses for Moodle and the calendar plannings)
- Then the instructor can specify the plan. The plan is a simple language (based a bit on how MS Project tasks are planned), For example:
MH1 S2F S4@23:55 S4@23:55
The first line specifies that Moodle Quiz 1 opens Seminar 1 finishes (S1F) and is closed 30 minutes before Seminar 2 starts (S2S-30m).
The second line specifies that Moodle Homework 1 can be submitted from when Seminar 2 finishes until just before midnight the day of Seminar 4, with no grace period (the third date is the same as the second).
- There is a preview of the results, and the instructor can download an updated MBZ that can be imported into Moodle again.
As a software engineer, I was reluctant to propose this project as a plug-in to Moodle, due to the complexities of coding in the Moodle environment and the issues with backporting, etc. On the other hand, if and when there's a REST API developed, this proof of concept could be done that way (without using backup files).
If anyone is interested in collaborating, please star/fork the GitHub repo and contact me. Regards,