Activities ::: mod_edusharing
Maintained by Christian Ernst, edu-sharing Integrations
The edu-sharing activity module adds a new option to the activities/resource menu. Using the edu-sharing resource allows you to either pick content from the repository or upload it to a folder of the repository. You may pick which version of the content you would like to provide in the course (always the latest vs. the version you just picked).
Latest release:
296 sites
15 fans
Current versions available: 1

The edu-sharing activity module adds a new option to the activities/resource menu. Using the edu-sharing resource allows you to either pick content from the repository or upload it to a folder of the repository. You may pick which version of the content you would like to provide in the course (always the latest vs. the version you just picked).


After installation connect the activity module to an edu-sharing repository (plugin settings / repository settings)

For a full documentation with screenshots of the post installation steps for the edu-sharing plugin pakage visit the documentation pages.

Note that PHP SOAP extension must be installed on your webserver.


More information can be found on the homepage.

Where can I get the latest release?

You can download source and binaries from our download page.


If you plan to contribute on a regular basis, please visit our community site.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3


Christian Ernst (Lead maintainer)
edu-sharing Integrations
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Wed, Apr 27, 2016, 2:52 PM
    Prechecker results: 1736 errors/693 warnings

    * Please provide a full description of the plugin. You can describe the plugin's features, purpose and typical usage scenarios there, for example.
    * Bug tracker is not specified for your plugin. Providing a place for users of your plugin to report issues encourages participation and provides a way for users to report bugs, make feature requests, or suggest other types of improvements.
    * In order to facilitate easier sharing and further development of your open-source plugin, please provide publicly accessible URL of your code repository. The suggested naming convention of the repository is moodle-{plugintype}_{pluginname}.
    * Please add a screenshot of your plugin to help folks get an idea of what it looks like when installed.
  • Sat, Jun 18, 2016, 1:32 AM

    Hi Steffen. Thanks for sharing the set of edusharing plugins with the community. Please note, all the "Recommended" warnings reported above should really be considered as required as we insist on them before approving the plugin (they will be marked as required in the next version of the plugins directory UI). Please pay attention to them and fill them. Thanks for understanding.

  • Tue, Aug 9, 2016, 5:05 PM
    Hi David, i uploaded fixed versions some weeks ago. The status ist still "Waiting for approval". Can you etimate when the plugina will be checked again?
  • Tue, Aug 9, 2016, 5:22 PM

    Hi Steffen. Apologies for the delays with the review and approval process. Your plugins are #1 in the list of plugins waiting for re-approval and I am sure we will get to them this week.

  • Wed, Aug 10, 2016, 6:13 PM

    Hi Steffen. We finally got to looking at the submitted code. Firstly, the edu-sharing looks like an interesting project to support teachers. Well done on that. We are happy to see Moodle supported.

    While reviewing the code of your plugins, I noticed couple of issues that I should be addressed before the plugin is approved here. Some notes I took while reading the code:

    • Generally the coding style is quite far away from the standards we would like to set up and maintain here. Please review the and again and try to fix all the violations.
    • Just a quick overview shows that the rules for naming the constants and functions are not always followed. On contrary, the class mod_edusharing_sig_soap_client has all methods prefixed with the frankenstyle name for no good reason.
    • Incoming request superglobals are accessed directly without parameter cleaning.
    • SOAP extension is optional in Moodle. However, your plugin relies on it and it should be better documented in the plugin description, readme and via the environment.xml file.
    • The upgrade code uses some custom locally available files in db/upgrade.php. It does not seem to be valid for majority of installations that will install the plugin from this plugins directory.
    • Also please note that using the DIRECTORY_SEPARATOR constant in a away you do in that file makes it only hard to read. Just use the forward slashes like Moodle core does, it works on all platforms.
    • Some strings are not provided via language packs but are hard-coded in the code (some in English, some in German).
    • Files like signatureRedirector.php in the filter represent a potential security risk - they could be abused to redirect another user to a malicious page easily. Places like this should have strict input validation and heavy sesskey protection.

    I know you have been waiting in the approval queue for a long time now. But I am sure it will help the integration if the implementation follows the Moodle coding style more. I am going to mark this as needing more work. Once there are new versions uploaded here, please schedule the plugins for re-approval again.

    Thanks for your patience with the review and approval process.

  • Thu, Aug 18, 2016, 9:29 PM
    Hi David, thanks for your reply. I am about to fix the remaining issues. To accelerate the process of approval please give me another hint to the mentioned "heavy sesskey protection". Is it enough to send the sesskey() as parameter and validate it in the receiving script?
    Thanks and best regards
  • Fri, Aug 19, 2016, 4:33 AM
  • Mon, Aug 22, 2016, 8:42 PM
    Hi, i uploaded a new version now (hopefully) respecting all requirements. Best regards!
  • Fri, Aug 26, 2016, 11:50 PM

    Thanks Steffen for providing the updated versions promptly. I've been playing with a demo available at your project site.

    There are certain areas in the code which I think could be reconsidered from both Moodle and edu-sharing API perspective - such as sending the raw value of session_id() as a session ticket to the remote server. Also the way how your Moodle plugins deal with session storage (e.g. directly setting properties like $_SESSION["USER"]->ticket) are warmly discouraged in common Moodle plugins. I can understand it may not be always possible to follow these guidelines as the other side of the integration (edu-sharing server and its API) may be limiting factor as well.

    I am going to approve these plugins now. Good luck in further maintenance a development of the project. You are cleared to land, welcome to the Plugins directory.

  • Fri, Aug 26, 2016, 11:52 PM

    Please note string definitions like $string['modulename'] = $string['pluginname'] = '...'; are not supported by the AMOS parser at (we do not eval() these files) so we could not register strings of your plugin there.

Please login to post comments