{"id":19591890,"url":"https://github.com/catalyst/moodle-assignsubmission_maharaws","last_synced_at":"2025-04-27T14:33:29.392Z","repository":{"id":38259793,"uuid":"277644721","full_name":"catalyst/moodle-assignsubmission_maharaws","owner":"catalyst","description":"Moodle assignment submission plugin for Mahara portfolios","archived":false,"fork":false,"pushed_at":"2025-04-03T01:52:27.000Z","size":130,"stargazers_count":9,"open_issues_count":14,"forks_count":11,"subscribers_count":25,"default_branch":"MOODLE_401_STABLE","last_synced_at":"2025-04-05T00:41:21.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/catalyst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-06T20:42:48.000Z","updated_at":"2025-04-03T01:52:15.000Z","dependencies_parsed_at":"2023-09-22T17:34:45.781Z","dependency_job_id":"faa48aa6-f2dc-4a4d-a118-400bd7f5846b","html_url":"https://github.com/catalyst/moodle-assignsubmission_maharaws","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catalyst%2Fmoodle-assignsubmission_maharaws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catalyst%2Fmoodle-assignsubmission_maharaws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catalyst%2Fmoodle-assignsubmission_maharaws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catalyst%2Fmoodle-assignsubmission_maharaws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/catalyst","download_url":"https://codeload.github.com/catalyst/moodle-assignsubmission_maharaws/tar.gz/refs/heads/MOODLE_401_STABLE","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251154586,"owners_count":21544525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T08:31:34.074Z","updated_at":"2025-04-27T14:33:29.376Z","avatar_url":"https://github.com/catalyst.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/catalyst/moodle-assignsubmission_maharaws/ci.yml?branch=main)\n\nMahara assignment submission plugin for Moodle\n===============================================\n\nMahara assignment submission plugin for Moodle 3.9+\nhttps://github.com/catalyst/assignsubmission-maharaws\n\nThis plugin adds Mahara portfolio submission functionality to assignments in\nMoodle. It requires configuration of Mahara web services for REST and OAuth 1.x.\n\nThis plugin allows a teacher to add a 'Mahara' item to the submission\noptions in a Moodle assignment. Students can then select one of the pages\nor collections from their personal Mahara account as part of their assignment\nsubmission.\n\nThe submitted Mahara page or collection can be locked from editing in\nMahara if you wish, the same as if it had been submitted to a Mahara group.\nDepending on settings, it may be left permanently locked or get unlocked\nwhen the submission has been graded (or if the grading workflow is used, its state\nchanged to \"Released\"). Alternatively, portfolios can also be submitted without\nlocking. If portfolios are locked, they can be archived automatically in Mahara once\ngrading has finished.\n\nSupported Branches\n--------\n\n| Moodle version    | Mahara version  | Branch  |\n| ----------------- | --------------- | ------- |\n| Moodle 4.1 - 4.5   | Mahara 24.04+   | MOODLE_401_STABLE  |\n\n\nInstall the Moodle plugin\n--------------------------------------------------\n\n1. Make sure that your Moodle and Mahara versions are up to date.\n\n2. Copy the contents of this project to mod/assign/submission/maharaws in your Moodle site.\n\n4. Proceed with the plugin installation in Moodle.\n\n\nConfigure Mahara\n--------------------\n\n1. Configure LTI in Mahara:\n\n      1.1 Navigate to 'Administration menu (🔧) -\u003e Extension -\u003e Plugin administration\n       -\u003e lti'.\n      \n      1.2 Select to 'Auto-configure LTI' and save the form. The necessary web services\n        will be activated.\n\n2. Generate a consumer key and consumer secret:\n\n      2.1 Navigate to 'Administration menu (🔧) -\u003e Web services -\u003e External apps'.\n\n      2.2 Type a name for the application into the 'Application' text input, \n      e.g. Moodle. Applications are listed alphabetically. If you have multiple \n      institutions on your Mahara site, select the institution for which you \n      want to enable the connection.\n\n      2.3 Select 'Moodle Assignment Submission' from the drop-down menu.\n\n      2.4 Click 'Add'. You will then see the consumer key and secret. These \n      will be used when configuring the assignment activity in Moodle.\n\n3. Enable account creation (optional):\n\n      3.1 Click the 'Manage' button (cog icon) next to the newly created external application.\n\n      3.2 Enable 'Auto-create accounts' and click the 'Save' button.\n\n4. Set a parent authentication method (optional):\n\n      4.1 Click the 'Manage' button (cog icon) next to the newly created external application.\n\n      4.2 Set the authentication method that your institution members shall also be able to \n      use and click the 'Save' button.\n\n5. Ensure your Mahara server does not block the oauth authorization header.   \nMoodle passes the oauth tokens in an authorization header to the Mahara site, some webservers will block this information and you may get an error \"Invalid token selected or none supplied\" - If this occurs take a look at this stack-overflow post for information on to fix: https://stackoverflow.com/questions/26475885/authorization-header-missing-in-php-post-request\n\nConfigure Moodle\n----------------\n\n1. Go to Site Administration / Plugins / Activity Modules / Assignment / Submission Plugins / mahara Submissions\n\n2. Set defaults for whether the option to submit from Mahara should always be enabled and the default state of 'Lock submitted pages'.\n\n3. If you are only going to use one target instance of Mahara and you wish to set Mahara connection details only once, fill in the rest of the form. These values will default each time:\n    - URL of your Mahara site.\n    - Mahara web services OAuth key (the 'Consumer key' from the external apps list in Mahara).\n    - Mahara web services Oauth secret (the 'Consumer secret' from the external apps list in Mahara).\n4. If you select 'Force global credentials' then these credentials will always be used and course creators will not be able to override them on individual assignments. At the same time, you won't need to provide these details to course creators.\n  \nCreate a new Mahara assignment in Moodle\n------------------------------------------\n**Note**: Users must have _assignsubmission/maharaws:configure_ capability to be able to configure URL, OAuth key, and secret.\n\n1. Add an assignment in Moodle.\n\n2. Select Mahara as the assignment submission type.\n\n3. if you have not chosen to use global connection details, fill in the following:\n      - URL of your Mahara site.\n      - Mahara web services OAuth key (the 'Consumer key' from the external apps list in Mahara).\n      - Mahara web services Oauth secret (the 'Consumer secret' from the external apps list in Mahara).\n\nA little info about what it does\n---------------------------------\n\nThis plugin requires your Moodle site to be connected to a Mahara site via\nMahara web services.\n\nThis plugin adds a 'Mahara' submission method to 'Assignment' activities in Moodle. \nWhen a teacher creates such an activity, they will see 'Mahara' as one of the\nsubmission method options. This submission method will ask students to select one\nof their pages or collections from Mahara to include as part of their assignment\nsubmission. \n\n* If you have not yet 'jumped' from Moodle to Mahara, you will need to do so. That\nestablishes the connection between the two platforms and allows you to view your portfolios\nthat you may have already created.\n* Individual pages that are part of collections cannot be picked on their own. The\nentire collection must be picked instead.\n* Pages and collections that are already locked due to being submitted to a Mahara \ngroup or another Moodle assignment are also not available.\n\nOptionally, the assignment may lock the submitted pages and collections\nfrom being edited in Mahara. This is recommended because otherwise\nstudents will be able to continue editing part of their assignment\nsubmission even after the assignment deadline. The teacher may choose whether\nsubmitted pages and collection will be unlocked after grading, or when the\ngrading workflow state changes to \"Released\".\n\nIf you choose to use locking, note that:\n* Pages and collections that are part of a draft submission will not be locked until the draft is submitted.\n* The Mahara pages will be locked if the submission is submitted OR the submission is locked via the Moodle gradebook.\n* If a submission is 'reopened' via the Moodle gradebook, the page will become unlocked.\n\nIf the locking setting permits 'Unlock after grading':\n* If the grading workflow is disabled, then grading the work will result in page unlocking.\n* If the grading workflow is enabled, then page unlocking will happen at the point when the workflow state changes to 'Released', whether the submission has been graded or not prior to that.\n\nIf you need help, try the [Moodle-Mahara Integration forum](https://mahara.org/interaction/forum/view.php?id=30)\n\nSubmitting of group portfolios is not yet supported.\n\nConvert MNet submissions\n------------------------\n\nTo manually run the upgrade step which converts applicable submissions from [the original MNet plugin](https://github.com/MaharaProject/moodle-assignsubmission_mahara):\n\n1. for each Mahara instance you wish to convert submissions from:\n    1. Make sure your Mahara instance is running at least 24.04.10, 25.04.0 or a higher version.\n    2. ensure a functional LTI connection exists between the instance and your Moodle site.\n2. if using multiple Mahara endpoints:\n    1. uncheck the assignsubmission_maharaws config setting _force_global_credentials_\n    2. clear the global credential fields (url, key, secret).\n    3. for each course assignment whose submissions you wish to convert:\n        1. disable _Mahara portfolio_ submission type.\n        2. enable _Mahara_ submission type and input the relevant LTI credentials.\n3. run the cli script in classes/cli/convert_mnet.php\n4. Remove the old Mahara MNet assignment submission plugin from the code base.\n\nBugs and improvements?\n------------------------\n\nIf you have found a bug or if you have made an improvement to this plugin and want to share your code, please\nopen an issue in our [Github project](https://github.com/catalyst/assignsubmission-maharaws).\n\nCredits\n--------\n\nThis web services plugin is based on the [original one created for the connection via MNet](https://github.com/MaharaProject/moodle-assignsubmission_mahara).\n\nThe upgrade of the plugin to support web services has been done thanks to funding from\n\n* Waitematā District Health Board\n* Monash University\n* Catalyst IT\n\nLicense\n-------\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, version 3 or later of the License.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatalyst%2Fmoodle-assignsubmission_maharaws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatalyst%2Fmoodle-assignsubmission_maharaws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatalyst%2Fmoodle-assignsubmission_maharaws/lists"}