Posts Tagged ‘Turnitin’

Goodbye Turnitin…

Thursday, July 10th, 2014

Time to say goodbye to the “Dan Marsden Turnitin plugin”… well almost!

Turnitin have done a pretty good job of developing a new plugin to replace the code that I have been working on since Moodle 1.5!

The new version of their plugin contains 3 components:

  1. A module (called turnitintool2) which contains the majority of the code for connecting to their new API and is a self-contained activity like their old “turnitintool” plugin
  2. A replacement plugin for mine (plagiarism_turnitin) which allows you to use plagiarism features within the existing Moodle Assignment, Workshop and forum modules.
  3. A new Moodle block that works with both the above plugins.

The Plugins database entry has been updated to replace my old code with the latest version from Turnitin, we have a number of clients at Catalyst using the new plugin and the migration has mostly gone ok so far – there are a few minor differences between my plugin and the new version from Turnitin so I encourage everyone to test the upgrade to the new version before running it on their production sites.

I’m encouraging most of our clients to update to the new plugin at the end of this year but I will continue to provide basic support for my version running on all Moodle versions up to Moodle 2.7 and my code continues to be available from my github repository here:

Thanks to everyone who has helped in the past with the plugin I wrote – hopefully this new version from Turnitin will meet everyone’s needs!

New Turnitin API and Moodle plugins

Wednesday, January 15th, 2014

Turnitin have been working on a new back-end API to improve the way integrations are able to access the Turnitin product range – they have also developed new plugins for Moodle using this new API including a replacement for my plugin. The new code supports the full range of Turnitin products (my plugin was only focused on their plagiarism/originality checking service) and the new API will hopefully also improve reliability and stability. Turnitin asked me to review their initial code and were very receptive to my feedback – the new code follows Moodle coding guidelines and looks like a good replacement for my plugin.

The code isn’t available in the Moodle Plugins db yet but it is available in github here:

I have a few clients starting to test the new plugin this week – all going well I plan to stop further development on my old plugin – my plugin still works in Moodle 2.6 but at this stage I don’t have plans to maintain support for it past Moodle 2.6 and I recommend everyone starts to look at the new plugin from Turnitin.

GSOC update

Thursday, July 26th, 2012

We’re just past the half way mark of GSOC and Kanika and Mayank have been hard at work!

Kanika has pushed a range of improvements for the plagiarism API into Moodle 2.4 including support for Online text in assignments, Forum posts and the Workshop module. She has been working on adding support for these new api hooks into the Urkund plagiarism plugin and may have time to add support to the other plugins in future.

Mayank has been rewriting the way navigation works in SCORM – he has a pretty big patch incoming for SCORM which will hopefully enable us to pass a few more SCORM 2004 ADL Tests – we also have some special courses loaded on that contain all the ADL test package for both SCORM 1.2 and 2004 so we hope to run the test harness a lot more frequently when making changes to SCORM code.

Thanks to Kanika and Mayank for their valuable contribution!

GSOC 2012

Sunday, March 18th, 2012

GSOC is here again and Moodle has been approved as a participating organisation. GSOC students get USD $5,000 for participation in the program(thanks Google!).

Depending on the number of slots allocated to Moodle and the quality of the applicants, I’m planning to run 2 projects this year.

SCORM 2004 – building on the work from our GSOC 2011 student Mayank, I’d like to get some more progress towards SCORM 2004 compliance – there are a large number of tasks to complete 2004 and I may take on more than one student to work on this (depending on slots/applicants) If you know of any students good with Javascript and PHP – make sure you point them towards GSOC.

Improving Plagiarism API – The plagiarism api currently only hooks into the upload assignment types – I’ve been planning to add hooks into other Moodle modules but haven’t quite got round to it – this project will involve adding new hooks to other Moodle modules and probably some work on some plagiarism plugins like Crot.

For more info see:


Future of Moodle Turnitin plugins

Tuesday, March 6th, 2012

Ever since Moodle 1.5 I’ve enjoyed developing the Turnitin integration which has resulted in the new Plagiarism API in Moodle 2 – now we have plugins for Urkund, Crot, Moss and hopefully more to come!

I started developing the Turntin integration while working for Lincoln University and playing with the Turnitin basic assignment type developed by Turnitin which didn’t really suit our requirements. Since then a company called nLearning (now part of Turnitin) developed a 3rd plugin called “Moodle Direct” – so there are now 3 different ways of connecting Moodle to Turnitin.

Independently developing the Turnitin plugin has presented a range of challenges – including:

  •  Keeping in touch with new features/improvements to Turnitin services and implementing them in my plugin.
  • Providing support to people who have downloaded the plugin and have a contract with Turnitin but no support contract with me – I’ve spent a lot of volunteer time helping via e-mail/forum support but this can be quite time-consuming. It can also be confusing for people using the plugins – not knowing who to contact related to a problem.
  • Diagnosing issues can prove difficult – is there an issue with the code/Turnitin (Kudos to the Turnitin Devs who have provided a lot of support directly to me while developing/improving the plugin)
  • Enabling my plugin can be a convoluted process, emails to Turnitin, extra configuration required…

Where am I going with this you ask? – Turnitin are working directly with me to “merge” their “Turnitin Direct” plugin with my plagiarism plugin for Moodle 2.x – this will bring a range of very good benefits.

  • Single support base – support for the plugins will come direct from Turnitin for all plugins making it much easier to access support.
  • Larger feature-set available – my focus has been on the originality checking feature – Turnitin provides a range of other features which will be implemented and supported in both plugins.
  • Moodle admins will be able to choose between using the plagiarism plugin which uses the existing assignment types or to use a separate “turnitin” module.
  • The new plugin will be backwards compatible with data stored from my version. (planning to use the same tables)
  • The new plugin will sync grades entered via Grademark with Moodle.
  • The new plugin will support the existing featureset (and more).

Obviously there will be some form of changeover period where I will continue some level of support for the existing plugin but sites will be migrating to the newer version provided directly from Turnitin – Turnitin are hoping to provide the new code in a git repo and allow others to contribute patches back (I know I’ll probably be submitting a few in the long term)

This is all very new and there isn’t a specific time frame in place to have this completed except to say that you should keep an eye out for the initial code release in the upcoming months.

Thanks to everyone who has tested/provided feedback/provided patches/provided funding for the plugin – it’s been a cool project to be involved with. Now that the core plugin will be supported directly from Turnitin I may finally have time to implement the plagiarism api into other areas of the Moodle codebase like forum posts, workshop mod, Essay quiz questions etc – or maybe I’ll just waste away more time on SCORM… 🙂

Turnitin and Moodle

Wednesday, October 27th, 2010

With the new Plagiarism API landing in Moodle 2.0 I’ve been working on the Turnitin plugin for Moodle 2.0 and backporting some of the new features in the 2.0 plugin into a new 1.9 version

The 2.0 version has the following features:

  • Single folder for really easy installation – just drop it into a new folder called “turnitin” in the new /plagiarism folder in 2.0
  • Uses Teachers own credentials instead of a “global teacher” account – makes for better integration with Turnitins other products like Grademark
  • I mentioned it above – new “experimental” integration with Grademark. (needs a few victims to test/give me feedback)
  • Better Date handling – uses the start/close dates in Moodle as the start/close dates in the Turnitin assignments it creates (although Turnitin doesn’t like start/close dates before the assignment is created so it uses the earliest possible date instead)
  • More advanced setting of Turnitin features when creating/updating an assignment. You can now set:
    • Whether to compare a submission against other students files
    • Whether to compare a submission against Internet sources
    • Whether to compare a submission against Journals, periodicals, publications
    • When to generate the Originality Reports
    • Whether to use an institutional repository (if set up)
    • Exclude Bibliograpy references from the report
    • Exclude quoted text from the report
    • Exclude small matches from the report
  • Improved performance and handling of errors (still more improvements to come over the next week on the error reporting page)
  • Now creates assignment in Turnitin as soon as Moodle assignment is created instead of waiting for the first file to be submitted (it creates the assignment in Turnitin when the next cron cycle runs after the Moodle assignment is created)
  • Easier integration with other Moodle modules (soon to come) – keep an eye out for integration with essay quiz questions and the Workshop module.

The new Moodle 1.9 version has the following new features:

  • Better Date handling – uses the start/close dates in Moodle as the start/close dates in the Turnitin assignments it creates (although Turnitin doesn’t like start/close dates before the assignment is created so it uses the earliest possible date instead)
  • More advanced setting of Turnitin features when creating/updating an assignment. You can now set:
    • Whether to compare a submission against other students files
    • Whether to compare a submission against Internet sources
    • Whether to compare a submission against Journals, periodicals, publications
    • When to generate the Originality Reports
    • Whether to use an institutional repository (if set up)
  • Improved performance and handling of errors

Sites using an older 1.9 version of the integration that wish to upgrade to Moodle 2.0 must upgrade their 1.9 Turnitin integration first – otherwise they will lose content/data during upgrade.

The new 1.9 version of the code is available as a git branch here:
(this is based off the old mdl19-turnitin branch on so if you’ve been using that it should be an easy switch)
Installation of this on an existing 1.9 site should only be attempted if you can easily manage significant customisations to your Moodle site (and know how to use git) – if this is new/difficult for you, best that you wait untill you upgrade to Moodle 2.0 – you can also get this code in patch or diff format here:…mdl19-turnitin.diff…mdl19-turnitin.patch

The 2.0 version of the code is available as a git branch here:
or you can get it as a zip here:

To install the 2.0 version – just grab the files above and put them in a new folder called “turnitin” under the /plagiarism folder in 2.0

  1. Go to: Admin > Advanced features and select the checkbox “Enable plagiarism plugins” and save the settings
  2. Go to: Admin > Plugins > Plagiarism Prevention > Turnitin configure this page as usual
  3. Select the “Turnitin Defaults” tab and set the default settings you would like when a new module that allows plagiarism is created.
  4. Make sure Scheduled Tasks/Cron is running on your site
  5. Create a new Assignment and make sure Turnitin is enabled
  6. Submit a file
  7. Done!

I’m also working with Sergey Butakov to generate a Moodle 2.0 Crot plagiarism plugin – Crot is an open source based plagiarism tool that uses the MS Live (Bing) Search engine as a backend for comparing results – it’s not quite ready/working yet, but you can check out the progress so far here:

For those wanting to create their own Plagiarism plugin with another tool, I’ve created a “new” template that can be used as a basis for creating your own plugin here:

and developer docs on the api are available here:

It’s important to note that Moodle 2.0 doesn’t include any Plagiarism plugins by default – you must install them separately – but as it is all self-contained in a folder it is very easy to install. Inclusion of Plagiarism Plugins in Moodle Core may be investigated/debated/discussed in future (definitely not before 2.0 final release!)

Always keen to hear feedback – let me know how you go!

New version of Turnitin Integration

Sunday, March 1st, 2009

Last week I updated the turnitin version in CONTRIB – and I realised there have been a few changes recently, but I haven’t actually mentioned them anywhere! – here is an attempt at some “release notes” for those interested!

  • Improved display of errors to both Students and Teachers –  errors in the 1000 series are now printed directly to the screen instead of just displaying the error code to teachers.
  • A new option to the advanced assignment type has been added to allow teachers to choose when the files are submitted to turnitin – before or after a student has submitted the files for marking. (thanks to Darren Harkness from Athabasca for this patch!)
  • 419 error codes were occurring for older assignments due to a bug that has been fixed
  • 407 error codes were occurring due to the API calls happening too fast for the Turnitin API to catch up
  • 31 error codes were occurring due to files being deleted before submission to Turnitin – a check for file existence was shifted to address this.
  • new css class added to similarity links to allow better control in css
  • improved error checking and debugging information to various areas.
  • A bug with the logic checking for closed activities has been fixed

Hope that’s useful for some people! – I’ve also been talking with the Crot block authors this past week – I’m hoping there’s a way we can integrate the crot and turnitin work so that they are both available via a similar interface!

3 March 09 Edit: looks like I introduced a bug with the single upload assignment type in this last change – should be fixed now!

Turnitin and Moodle

Thursday, December 18th, 2008

It feels like a long time ago when I first started to hack on a Turnitin Integration with Moodle – I was inspired to put something together after Turnitin released their Moodle Assignment Type which provided SSO into their site so that students didn’t have to go to the website login, and upload their files… I didn’t really like this much for a couple of reasons

  • it presented a different interface which did not use the Site’s Moodle Theme (although it kept the Moodle header in a frame at the top of the page)
  • All the files were stored on Turnitins servers, so if an institution cancelled their subscription to turnitin there was no easy way of retrieving and storing the submitted files against specific users/courses/assignment
  • It required manual editing of config files for account Id’s, secret keys, api addresses, emails etc.

So…. I started hacking on an integration that allowed teachers to use the standard Moodle modules – such as the advanced and single assignment types with an extra setting that allowed them to “enable” turnitin for “this” assignment. It’s taken a lot of constant refining (and there’s still more to go) but we now have a patch that works pretty well for 1.9 (and a 1.6 patch too!)

The development on this patch was initially done in my own time, but more recently has been funded by the University of Waikato, with Sussex University funding the 1.6 patch!

This past couple of weeks, Waikato have paid for some improvements to the error reporting – it now displays nicer error messages to the students and staff when a file has been submitted that Turnitin Cannot process – like errors around submitting images instead of text documents.

One of the issues with the integration is that it uses a single “global Teacher account” – every assignment/course/file is connected to that single “Teacher” in the Turnitin system. I did this initially as the turnitin system only allows 1 teacher to be assigned to a course, and as Moodle allows multiple teachers, we needed to share a common teacher account. But! – this means that if we were to login as that teacher on the site, we would have access to all assignments created by the Moodle integration. This isn’t suitable for people using the Turnitin Grademark tool, or to allow teachers easy access to the extended featureset available on the site. I’d like to modify this to use a single teacher account for each course inside moodle, to allow better access.

There are currently a couple of issues around the Turnitin API that the Turnitin dev team tell me they would like to fix!

  • There’s currently no easy way for a teacher to use the Turnitin grading interface (grademark has some fancy features which the Moodle gradebook doesn’t!) and then have those grades sent back into the Moodle Gradebook – The Turnitin guys tell me they’re keen to implement this (not sure on a timeframe) – it’s advantageous to them as people only using the Moodle integration may not want to pay for Grademark if it doesn’t integrate with Moodle.
  • The standard Turnitin interface allows a teacher to elect whether turnitin will store the submitted assignments in their main database for comparison against other submitted papers. This option isn’t available as part of the api, but it is an option that a lot of people I have talked to would like to have.

Another thing that bugs me a bit about the integration in it’s current form is the method used to munge e-mail addresses when institutions don’t want their students to be able to access the site directly. all this currently does is add some text to the start of their e-mail address which is fine if the students cannot alter their e-mail address and use an internal organisation address, but if they can use gmail/yahoo accounts then the “munge” introduces a range of issues.

I added the “munge” feature because the Integration creates valid assignments/courses on the site, and if a student went directly to the site and submitted an assignment, there would be no record of that submission in Moodle – which would potentially cause confusion for teachers! – so the munge was added to prevent that from being happen.

A “better way” to manage this would be for the Turnitin API to allow assignments to be created that do not allow manual submission from the site…… I must remember to ask the turnitin team about this……

My thanks goes out to all the people who are using the integration and helping others “trying” to use it in the forums – I get a lot of e-mail these days, and am constantly chasing my tail trying to respond to it all, so that help is really appreciated!

We do need some funding to do a lot of this work (including the work to create a 2.0 version of the integration and put it in Moodle Core) – let me know if this is something you might be able to help fund!