Steve,
Overall this looks good. I find the distinction between the activity completions per se and whether they are also in the course completion settings to be interesting. My experience tells me these are almost always set the same, but obviously don't have to be. In any case, there's likely some education to do here for instructors.
I think the section that is missing is the specific capabilities your plugin will need. You mention "roles" several times but it is much better if you first specify which capabilities your plugin will need to have to be added to those roles (or to be available to any custom roles.) It won't work without some sort of checking and it is much better practice (and the common Moodle code practice) to check for specific capabilities and permissions instead of a standard role.
So, I think you need to specific those in some detail here so a developer will know what to check for given certain functions (eg the deleting of rows).
Overall this looks good. I find the distinction between the activity completions per se and whether they are also in the course completion settings to be interesting. My experience tells me these are almost always set the same, but obviously don't have to be. In any case, there's likely some education to do here for instructors.
I think the section that is missing is the specific capabilities your plugin will need. You mention "roles" several times but it is much better if you first specify which capabilities your plugin will need to have to be added to those roles (or to be available to any custom roles.) It won't work without some sort of checking and it is much better practice (and the common Moodle code practice) to check for specific capabilities and permissions instead of a standard role.
So, I think you need to specific those in some detail here so a developer will know what to check for given certain functions (eg the deleting of rows).
This is especially so as you plan to open it up for others to use, and you have no way of knowing how sites may use or adjust roles, but with a permissions based setup, anyone will easily be able to adapt it to their specific setup.
Good luck,
Randy
Good luck,
Randy