Developers' Forum



by Willem Sonke -
Number of replies: 2

Dear Richard,

About a year ago we contacted you about the development of a Moodle plugin for intuitive editing and automated checking of graph-based structures. After a brief discussion with you we decided to fork CodeRunner to be able to build on the great technology already in place.

A year later now, we have a tool which we think is intuitive and efficient and we aim to publicly announce the plugin soon. At the moment our plugin can be found on GitHub at

Before publicly announcing we wanted to discuss some topics with you. Firstly, if you are interested in our work we are happy to answer any questions or share any insights in our code. Particularly, from the perspective of CodeRunner, we have worked on making the graph editor more intuitive to use. As you know the graph editor is mostly self-contained and if you would like to upstream this we would gladly assist. Be aware though that we made some backwards-incompatible changes to the UI parameters.

Secondly, we will keep GPL v3 or later, as required, but to credit you as the original author of part of the code we would like to add an additional line "GraphChecker is based on CodeRunner by Richard Lobb et al. See" next to the copyright text for GraphChecker. Please let us know if that is okay by you or if you would like another reference.

Best regards,
Willem and Arthur

In reply to Willem Sonke

Re: GraphChecker

by Richard Lobb -

Dear Willemm and Arthur

Good to hear that your plugin has progressed so well. I look forward to experimenting with it shortly, during my summer (Southern Hemisphere) CodeRunner development binge. One of the things I'm planning on updating is the way in which UI parameters get handled - using the template parameter mechanism isn't a nice solution. I intend requiring that UI plugins have a JSON file that specifies the parameters it supports, and the author editing form will then have a new section for editing those parameters. Since the Ace UI doesn't have any parameters, this change will not complicate the UI for the vast majority of users. I'll look into how you've handled the UI parameters in your fork before starting that.

It's a shame in a way that you've had to fork CodeRunner. You may have seen the thread on the Blockly UI in which Ruben suggested using the Moodle sub-plugin capability. Unfortunately that capability isn't currently supported for question-type plugins. 

Thank you for offering to credit me as the original author of CodeRunner: I'm certainly happy with your proposal.



PS: I noticed while looking back at your previous thread that I never responded to your last posting to that thread. In fact, I don't even remember reading that posting. My apologies for the non-response - it must have come in at a time when I was swamped with other things and it somehow never made it into my input queue.

In reply to Richard Lobb

Re: GraphChecker

by Willem Sonke -
Dear Richard,

The way we handle UI parameters is also not optimal; they are mostly hardcoded in the question edit form. So there is a series of checkboxes (with corresponding columns in the database table), and the PHP code decides based on those which UI parameters to send. We have been thinking about supporting other UI plugins as well, but we would have to generalize our setup in that case.

It's indeed unfortunate that we had to fork, but as you also assessed in your previous message, the custom question editor UI we needed would require many changes to bring it to CodeRunner upstream. Subplugins sound like a possible solution; it's a shame that they are not supported for question types (to be fair, we are not expert Moodle developers, so we were not even aware that this functionality existed).

Kind regards, Arthur and Willem

PS: No problem :)