Hi Willem and Artur
Good to know you're finding CodeRunner useful and interesting to hear about your use of the GraphUI.
I appreciate that the question authoring UI isn't very user friendly but it is at least fairly consistent with the standard Moodle question authoring UI. I think it would be difficult to incorporate a customised GUI-fied authoring UI just for questions using the GraphUI in a clean way that was consistent with the various other CodeRunner UI components (currently AceUI, TableUI, GapFillerUI, GraphUI and HtmlUI). It would be possible with major refactoring to extend the existing UI plugin API to allow companion question-authoring UIs as well, but it would be a massive effort and I don't think the complexity would be warranted. CodeRunner has already been accused of suffering from feature bloat. Also, your proposed UI, while it looks very nice and quite likely perfectly fits your own team requirements, wouldn't cover many of our own GraphUI use cases, and GraphUI is already a niche market.
So unfortunately I think your own project lies outside the main CodeRunner development path.
Off the top of my head I can see three ways you might proceed:
- Write a completely independent question-authoring program (not even a CodeRunner plugin) that outputs the Moodle-XML representation of CodeRunner questions. Import those questions into Moodle. This is the easiest approach from a coding standpoint but is very clumsy (unacceptably so?) when you need to do any question maintenance. Certainly not a good long-term solution but perhaps worth considering as a way of getting yourself up and running.
- Fork CodeRunner and rewrite edit_coderunner_form.php to display the HTML you require. This is probably the next simplest option, but has the disadvantage that you'll have trouble maintaining compatibility with standard CodeRunner over time. It's also not quite as simple as it may first appear because (assuming you want to be able to run standard CodeRunner questions on the same server) you'll need to change the question type to something else, which will affect a lot of code, albeit in a straightforward way. Also there is a fair amount of JavaScript support code (see the amd/src folder) and some of that will need changing, too.
- Write a new Moodle plug-in that allows you to create or edit CodeRunner questions independently of CodeRunner itself. I think this would be the nicest solution but is also probably the most work. It gives you reasonably good long-term compatibility with CodeRunner itself, although you would still need to adapt your code if/when CodeRunner modifies its database schema.
A big advantage of (3) is that question authors who wanted to go beyond the GUI-fied interface you provide will still be able to use the more-powerful code-based approach. I predict this will happen almost immediately, following the Software Engineering rule "People seldom know what they want until you give them what they ask for"!
Good luck
Richard