GSoC 2015 – Moorsp Plugin for Moodle – Update 2

The 2nd week of GSoC and the final week of the Community Bonding period has rolled past, and I have been busy engaging with the Moodle community over the past couple of weeks.

As I explained to my mentor Dan, I see actually developing code as a great way to engage with the Moodle community as, in that case, I would be working on the Moodle Tracker and this enables me to interact with many members of the Moodle community through the peer review and integration testing processes.

As I had experience in writing automated Behat features beforehand, I thought the best contribution I could make would be to automate some of the top priority QA tests using Behat. So I worked on automating a couple of tests, MDL-50110 and MDL-50261. The first one was promptly accepted and integrated, while the 2nd it turned out, had already been automated. However, I got the chance to interact with the cool and calm dev community of Moodle who didn’t get frustrated by my repeated mistakes.

I also took some time to clean up the code of a Behat test I had been working on previously, MDL-43731, which is an interesting case as it required me to provide fixes on the Moodle 2.7 and 2.8 stable branches as well. This was a very interesting test to work on as I got input from over 8 members of the community who brought in different ideas on how to best automate the test. It was a very rewarding experience as I was able to understand the best practices involved with writing a Behat feature for Moodle.

While this was going on, I was working with my mentor Dan on getting started on developing the Moorsp plugin. My changes are currently going in to the dev branch on my fork of the Moorsp repo. As some initial work, I made some modifications to the Moorsp settings form so that it can be enabled for modules that support the Plagiarism framework. Dan was able to help me out with some snippets of code that would make use of the framework properly. I also had a lot of help from another commercial plagiarism plugin that Dan has developed; Urkund.

 

Moorsp Settings Page

That’s it from me for this week. See you soon!

GSoC 2015 – Moorsp Plagiarism Plugin for Moodle

For the 3rd time in my life, I have been selected as a Google Summer of Code student (after mentoring for the past 2 years, I might add) to work on a project for Moodle.

Moodle is one of the most prominent and widely-used Free and Open Source Learning Management Systems in the world today, and has a widespread developer community. I had particular interest in Moodle because it is the LMS used by most Sri Lankan universities to manage their degree programmes, which speaks volumes for the robustness and feature-rich nature of Moodle. Moodle development is done through PHP and MySQL.

My project involves the development of Moorsp; a skeleton plagiarism plugin for Moodle which integrates with the plagiarism framework within the system. The purpose of this plugin is to provide an effective testing mechanism for the plagiarism framework, as all current plagiarism plugins connect to commercial 3rd party APIs and testing them is not possible without a paid account. Moorsp will integrate with the plagiarism framework, implementing all its hooks and events, thereby providing a platform for acceptance tests (Behat) to be written for the plagiarism framework itself. This would provide a free plugin that could be utilized for regression runs during continuous integration on Moodle.

GSoC is in the Community Bonding phase at the moment. I have been engaging with the community on their forums and have also provided some Behat feature files for QA tests that were not yet automated.

I’m pretty excited, and looking forward to a great summer with this awesome organization!

Moodle Logo