Your Moodle version

Assignment submissions : Mahara Assignment Submission

Maintained by Picture of Tony Box Tony Box
An updated Mahara Assignment type that works with Moodle 2.3+. It allows the submission of Mahara pages to a Moodle assignment.


This plugin is part of set Mahara assignment.

Mahara Assignment Submission Plugin

This repository houses an updated Mahara assignment submission plugin.


  • XML-RPC integration with a Mahara installation
  • Select a portfolio to submit from within the assignment
  • If multiple submissions are allowed, it releases the previously selected submission
  • Abides by Moodle assignments config options
  • Popups for quickly previewing submissions (no windows... no tabs)
  • When used with the Mahara Feedback plugin, it will lock and unlock portfolio pages in Mahara upon submission.



Be sure that you have a version of Moodle that is equal or greater than 2.3. Also make sure you have successfully integrated your Moodle installation with a Mahara instance.

Mahara has detailed documenation on how to achieve that on their wiki. Once you have done that, you must install the updated Mahara local plugin on your Moodle installation. Then, install this plugin in one of two ways:

  1. Download the source archive and extract its contents to the following location {Moodle_Root}/mod/assign/submission/mahara
  2. Execute the following command:
> git clone {Moodle_Root}/mod/assign/submission/mahara

The remainder of the install is taken care of by Moodle by clicking on Notifications.

Feedback plugin

The only reason the feedback plugin exists is for properly releasing graded submissions and for Mahara outcomes. It's an optional install because it's technically not required for a fully functional Mahara assignment but it's highly recommended.


Developed for the University of Portland by Philip Cali and Tony Box (

The original Moodle 1.9 version of these plugins were funded through a grant from the New Hampshire Department of Education to a collaborative group of the following New Hampshire school districts:

  • Exeter Region Cooperative
  • Windham
  • Oyster River
  • Farmington
  • Newmarket
  • Timberlane School District

The upgrade to Moodle 2.0 and 2.1 was written by Aaron Wells at Catalyst IT, and supported by:

  • NetSpot
  • Pukunui Technology


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

Comments RSS

Show comments
  • Capt. Moodle
    Sun, Aug 25, 2013, 7:50 AM
    Tony - Many thanks for sharing these plugins for integration with Mahara with the Moodle Community. I noticed that there were a couple of validation warnings which should be easy to fix up in the version.php. Specifically,

    Maturity information ($plugin->maturity) not found in version.php
    Release name ($plugin->release) not found in version.php

    Also in the version.php, I like to encourage folks to explicitly declare the GPL license. More information can be found in

    Also, I try to encourage (thought it is not an absolute requirement) for folks to use the Moodle naming convention for the repositories. The ideal name for the repository would be moodle-assignfeedback_mahara. This makes life simpler for Moodle site admins who maintain their sites using Git.

    I am going to approve this but would ask that you tidy up the version.php next time you get a chance. It would also be good if we could see a screenshot.

    I did not actually test the functionality of this plugin as I do not have a test instance of Mahara up and running at the moment but I trust Netspot and Pukunui have done good work on this plugin.

    I have created a set called Mahara assignment - - to group the Mahara assignment submission, assignment feedback and local plugins together.

    Peace - Anthony
  • Picture of Roland Sherwood
    Wed, Sep 25, 2013, 4:28 AM
    Many thanks for sharing these plugins with the community (and, more importantly, for producing them; I'm sure I'not alone in saying it's been a long wait for a Moodle 2.3+ version to come along!).

    Unfortunately, we're seeing the following error whenever a student tries to submit a page (btw, all 3 plugins install fine, and all other Mahoodle functionality is working as expected e.g SSO, exporting of content, etc.), so any advice you might be able to offer would be very much appreciated:

    The following RPC failures: 7:User with ID 257 attempted to call unauthorised method mod/mahara/rpclib.php/get_views_for_user on host http://mahara.**********

    More information about this error

    Debug info:
    Error code: err_mnetclient
    Stack trace:
    line 476 of /lib/setuplib.php: moodle_exception thrown
    line 360 of /mod/assign/submission/mahara/locallib.php: call to print_error()
    line 219 of /local/mahara/optionalib.php: call to {closure}()
    line ? of unknownfile: call to Model_Either->fold()
    line 282 of /local/mahara/optionalib.php: call to call_user_func_array()
    line 366 of /mod/assign/submission/mahara/locallib.php: call to Either_Projection->__call()
    line 366 of /mod/assign/submission/mahara/locallib.php: call to Right_Projection->fold()
    line 4298 of /mod/assign/locallib.php: call to assign_submission_mahara->get_form_elements_for_user()
    line 4380 of /mod/assign/locallib.php: call to assign->add_plugin_submission_elements()
    line 49 of /mod/assign/submission_form.php: call to assign->add_submission_form_elements()
    line 191 of /lib/formslib.php: call to mod_assign_submission_form->definition()
    line 2650 of /mod/assign/locallib.php: call to moodleform->moodleform()
    line 405 of /mod/assign/locallib.php: call to assign->view_edit_submission_page()
    line 53 of /mod/assign/view.php: call to assign->view()

    This is under Moodle 2.4.5, linked to a fresh Mahara 1.7.2 install.

    Again, I'd be very grateful for any help you could offer.
  • Picture of Roland Sherwood
    Wed, Sep 25, 2013, 11:13 PM
    Hi. Please ignore the above; I completely forgot the local plugin also adds a new set of MNET-related publish/subscribe settings on our Mahara peer's services page. With subscribe ticked, a list of the user's Mahara pages is now visible on the assignment submission page.

    However, we've hit another snag; for students who've created only a single page on Mahara, selecting that page and then clicking the save changes button results in a warning message which states 'Nothing was selected' (above which there's also the outline of what looks like another warning, although it contains no visible text). Please see the following example:

    Interestingly, on exiting the page and re-entering the assignment, the status of the assignment is then shown as draft, the edit and submit assignment buttons are visible - but no link to the selected page is present where you'd expect it to be:

    And after submitting nothing (in terms of a link to the selected page) is then shown to either the student or tutor:

    Where a student has created more than 1 page, clicking the save changes button then results in the following error:

    Notice: Undefined variable: release_previous in /var/www/moodle/mod/assign/submission/mahara/locallib.php on line 510 Fatal error: Function name must be a string in /var/www/moodle/local/mahara/optionalib.php on line 78

    Reentering the assignment this time does show a selected page link:

    However, if the student then tries to edit their submission (i.e. select a page different from the one chosen previously), after clicking save changes and being brought back to the submissions summary page nothing appears to have changed. The selected page shown will be the same as before. You can see this in action here:

    Any suggestions or help would be very much appreciated - otherwise I think we'll have to revert back to the 2.2 plugins.

  • Picture of Tony Box
    Thu, Sep 26, 2013, 12:47 AM
    Hi Roland,

    Thanks a bunch for the detailed bug report. Would you please add it to the bug tracker on GitHub?

    You can find the link to the bug tracker up above, within the "Useful Links" section which is below the description of the plugin.

Please login to post comments