Question types: Electron Pushing / Curved Arrow

Maintained by Picture of Carl LeBlondCarl LeBlond
Curved Arrow / Electron Pushing question can be used to test and strengthen students knowledge of reaction mechanism, resonance and curved arrow notation. This plugin requires Marvin Applets from Chemaxon.
3 sites
Current versions available: 1


Curved Arrow / Electron Pushing question can be used to test and strengthen students knowledge of reaction mechanism, resonance and curved arrow notation.  The instructor builds a reaction scheme/mechanism with all electron pushing arrows and the student must provide the correct arrows on the reaction during assessment.  Note:  This plugin requires MArvin Applets from Chemaxon
You can ask questions such as;
  • Please add curved arrows showing the flow of electrons for the following reaction?
  • Please add curved arrows showing how the following resonance structure could be obtained?


  • Interactive - students draw curved arrows representing flow of electrons.
  • Students can view step by step arrow placement.
  • Multistep reactions OK!
  • Radical or Polar reactions possible.
  • Teacher can hide or show products for varying difficulty.
  • Teacher can require strict arrow addition order.


This plugin adopts the same license that Moodle does.  The Marvin Applets are free for academic purposes.


This plugin was developed at the Indiana University of Pennsylvania (IUP).  Neither IUP or Carl LeBlond are affiliated with Chemaxon.


This plugin requires Marvin Applets from Chemaxon which can be downloaded here.  Download the full package and install it at your web servers root directory.


Example questions are provided as a Moodle xml file in the examples folder.

A video available here, outlines using this plugin.



This plugin is part of set EasyOChem.


Screenshot #0
Screenshot #1


Picture of Carl LeBlond
Carl LeBlond (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Picture of Carl LeBlond
    Wed, Mar 26, 2014, 1:58 AM
    Reviewer - Send me a message and I can email you some example questions for testing. Carl
  • Anthony Borrow
    Wed, Mar 26, 2014, 3:16 AM
    Carl - Go ahead and send them to me at Peace - Anthony
  • Anthony Borrow
    Wed, Mar 26, 2014, 8:30 AM
    Carl - Many thanks for sharing this plugin with the Moodle community. I was successfully able to install the plugin. I would recommend some better documentation and examples for folks - perhaps even a video for how to create the questions and how the students respond.

    The README file mentions: "You must download a recent copy of Marvinsketch from (free for academic use) and intall it in folder named "marvin" at your web root. Alternatively you could edit the php scripts if your marvin installation is elsewhere." I have 2 comments: 1) it is important that we make that dependency clear from the very beginning so let's add a notice in both the short and long description of the plugin and 2) the URL provided should take the person to where they can download the needed files. It was not clear to me where to find Marvinsketch so I think that needs to be made a little more obvious.

    For now, I am going to mark this plugin as needing more work until we get these issues resolved. Thanks for your patience with the review and approval process.

    Peace - Anthony
  • Anthony Borrow
    Wed, Mar 26, 2014, 8:34 AM
    It is encouraged to follow Moodle's coding style as outlined in:


    Tthe code checker plugin can be quite helpful in finetuning your code and can be found at:

    You may wish to consider using that tool to further improve your plugin. Below, are the initial results:

    question/type/easyomech/lib.php - 2 error(s) and 0 warning(s)
    question/type/easyomech/renderer.php - 301 error(s) and 78 warning(s)
    question/type/easyomech/question.php - 354 error(s) and 80 warning(s)
    question/type/easyomech/easyomech_script.js - 4 error(s) and 0 warning(s)
    question/type/easyomech/lang/en/qtype_easyomech.php - 9 error(s) and 0 warning(s)
    question/type/easyomech/styles.css - 2 error(s) and 0 warning(s)
    question/type/easyomech/backup/moodle2/backup_qtype_easyomech_plugin.class.php - 2 error(s) and 11 warning(s)
    question/type/easyomech/backup/moodle2/restore_qtype_easyomech_plugin.class.php - 2 error(s) and 11 warning(s)
    question/type/easyomech/backup/moodle1/lib.php - 2 error(s) and 4 warning(s)
    question/type/easyomech/db/upgrade.php - 0 error(s) and 1 warning(s)
    question/type/easyomech/db/simpletest/testupgradelibnewqe.php - 16 error(s) and 4 warning(s)
    question/type/easyomech/db/upgradelib.php - 2 error(s) and 0 warning(s)
    question/type/easyomech/version.php - 2 error(s) and 0 warning(s)
    question/type/easyomech/module.js - 1589 error(s) and 0 warning(s)
    question/type/easyomech/edit_easyomech_form.php - 107 error(s) and 15 warning(s)
    question/type/easyomech/questiontype.php - 21 error(s) and 3 warning(s)
    question/type/easyomech/README.txt - 2 error(s) and 1 warning(s)

    Total: 2417 error(s) and 208 warning(s)
  • Picture of Carl LeBlond
    Thu, Mar 27, 2014, 9:56 PM
    Anthony - Wow, that codechecker is awesome...I learned a lot about coding styles! I have fixed all issues reported by the code checker (php files only). I will use it on all my plugins before submitting and I'll check my previous submission (easyoddname). I added some more info on where to download Marvin Applets and I'm working on some videos for teachers and students. The updates are on github. Thank you very much for your input! Carl
  • Picture of Carl LeBlond
    Fri, Mar 28, 2014, 8:00 PM
    I added a collection of examples. They are in the examples folder.
  • Picture of Carl LeBlond
    Wed, Apr 2, 2014, 3:38 AM
    Anthony - I found some javascript on the edit form page and replaced with YUI calls. I should point out there is one other small bit of javascript thats called from renderer.php which handles showing students correct and incorrect answers. If this is an issue I can just delete that functionality so we can move forward. Updates are on github.

    Should I upload new version to everytime I make some changes to the code or should I wait till we are closer to approval?
  • Anthony Borrow
    Wed, Apr 2, 2014, 9:36 AM
    Carl - Go ahead and add the new version so that when it is approved it will have the latest and greatest code. Peace - Anthony
  • Anthony Borrow
    Wed, Apr 2, 2014, 9:38 AM
    p.s. - after adding the new zip file, under Administration, select the option to Schedule this plugin for re-approval
  • Anthony Borrow
    Wed, Apr 9, 2014, 10:21 AM

    Thanks for your continued work. I appreciated having the example questions to import. When previewing one of the questions, I saw the following PHP notice you may want to fix when you get a chance:

    Notice: Undefined property: stdClass::$qtype_easyomech_options in /var/www/m26/question/type/easyomech/renderer.php on line 149

    When I went to submit an answer I noticed:

    Fatal error: Call to a member function attributes() on a non-object in /var/www/m26/question/type/easyomech/question.php on line 49

    I also saw the question revealing technical information on the preview - I had not noticed that before on questions but figured I would share it with you in case it was disclosing information that it should not be. What I saw was:

    Behaviour being used: Deferred feedback

    Minimum fraction: 0

    Maximum fraction: 1

    Question summary: Provide curved arrows for the following reaction mechanism?

    Right answer summary: <?xml version="1.0" encoding="UTF-8"?>
    Question state: complete

    For now, I am going to mark this plugin as needing more work until we get these issues resolved. Thanks for your patience with the review and approval process. Peace - Anthony
  • Picture of Carl LeBlond
    Wed, Apr 9, 2014, 11:56 PM
    Anthony - I fixed the undefined property notice and the error. The fatal error occurred when a student attempted a question expecting radical arrows but did not add any arrows. Should be all good now. I submitted for re-approval. Thanks for catching that error!
  • Anthony Borrow
    Wed, Apr 23, 2014, 10:42 AM
    Carl - Many thanks for tidying things up. I am ready to approve this plugin. If you need anything else, just let me know. Peace - Anthony
  • Picture of Bren Denger
    Mon, Dec 12, 2016, 6:53 PM
    I wonder what questions I can make up using the plugin. I guess the ones used here could be easily found by the students, if I use them... I need something unique for Programming. I found some BuyEssayInfo of one company that can make a task on that. But they don't help with Moodle plugins. I think there should be some IT and programming oriented services that could do that.
    Can you please e-mail the questions? So that they should not be visible for the online users.
  • Picture of kat8adamson kat8adamson
    Fri, Feb 24, 2017, 7:31 PM
    Thanks for the sharing your post, and thank you guys for the useful links. I will share it with my friends who has their own website. Their writers have helped me with my paper. They cam use this plugin in their work.
  • Picture of shiva moola
    Wed, Dec 27, 2017, 2:11 PM
    The SSLC Result 2018 Tamilnadu will be going to Release this May and all the students who are willing to know the official Tamilnadu SSLC Result would request to search on the official organization website
Please login to post comments