While it serves my purposes, it would be better if this concept were integrated into the assign activity plugin as a submission type. I foresee wanting to use the same Moodle course with other teachers who would like to grade their students using a more conventional submission type while I scan QR codes. I attempted to make a submission plugin myself, but I was unsure how to go about making the necessary modifications (I was using the onlinetext plugin as my template). Seems like my plugin barely has to do anything. I should not need to store any data, so no need for the database files. Also, seems like the lib and locallib files should be pretty sparse. All I need to do is pass a url up to the assign plugin and have it display when students open the assignment. Unfortunately, I'm having trouble figuring out how to do this. Any help would be greatly appreciated.
It feels a bit sad, but there is so much plumbing under the hood of a Moodle plugin, that seriously the best way is to copy the simplest one you can find, rename, and add in your functionality. The other way of looking at it, is that Moodle will mostly handle backups/restores/course resets/grading/feedback etc for you, so rename and edit is a handy shortcut to all that functionality. The assignment submission in particular gives you a lot of bang for your developer buck.
It's not really easy to advise without a specific question. So the first step is to look at the dev docs for the Moodle Assignment Submission Plugin. Read it from top to bottom, it helps to get a feel for what you will need to edit.
Reading your description, I do not quite get what your plugin does yet. So its a bit hard to give much comment. But onlinetext is a good place to start in general.
Thanks for your reply.
I did start with the Online text assignment submission type, but I'm not entirely sure what I'm trying to do is even possible via just a submission plugin. Is there a way to control what appears before a user clicks the submit button from the submission plugin, or is the first page a student sees completely controlled by the assign plugin? Here's a link to the repo I have for the submission version of the plugin so far: https://github.com/mbbackus/GradeQR-MoodleSubmissionPlugin