Turnitin Integration beta release!

Turnitin Integration beta release!

by Dan Marsden -
Number of replies: 301
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Thanks to Waikato University who have funded the development, the first beta version of the integration is now available for testing as a patch for Moodle 1.9

Information on the development plan, and what has been completed is here:
http://docs.moodle.org/en/Turnitin_Integration

after you have installed it, you can find information on how to configure it here:
http://docs.moodle.org/en/Turnitin_administration#Global_Configuration_of_Turnitin

If you're familiar with git, you can get the latest version from our public repository here:
http://git.catalyst.net.nz/gw?p=moodle-r2.git;a=shortlog;h=refs/heads/mdl19-turnitin

or if you'd prefer a zip file of the full diff, I'll create one later today or tomorrow and provide a link here!

have a good look at the wiki pages, they have details on how to diagnose issues if they occur. - it's much easier if you have debugging turned on, but error codes are reported in the database.

thanks!

smile

Dan

Average of ratings: -
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Michael Tudor -
This sounds fantastic Dan, thanks for all your hard work! I'll download the the zip tomorrow and we'll test it out then.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Here's a Zip file with all the changed files - copy these into an existing TEST install of Moodle 1.9

NOTE: Don't put this into your production environment - it has not been tested enough yet!

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jason Cashel -
Hi Dan,
Thanks for this. Just got this working on a test site.

Jason
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
great to hear! - Just pushed a fix into git today that fixes issues when you have Brackets and other fun characters in Assignment or course names.

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jason Cashel -
Hi Dan,
Any chance of an update to the zip file? My git skills are non-existent.

Also, if I find a bug, or think I do, should I report it here?

Thanks,
Jason
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Jason,

the code hasn't changed all that much since my post here. bugs can be logged in the Tracker under Contrib: Turnitin integration.

thanks!

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Wen Hao Chuang -
Hi Dan, I tried out the TII_Integration_Patch.zip file that you posted here with moodle 1.9.0. However after setting everything up, I was getting some "Turnitin userid not set!" error message everywhere (see screenshot)... any idea what went wrong? I enabled the debugging mode but it didn't give me more information. Thanks!
Attachment localhost_turnitin_userid_not_set.png
In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Michael Tudor -
Just add the settings via the admin interface, this is one of the cool things about this version smile

moodletiisettingspb6.jpg

In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
nice to hear it's being tested a bit!

you should also have a look at the docs page on it, as it describes a bit about being careful with what settings you use!

http://docs.moodle.org/en/Turnitin_administration#Global_Configuration_of_Turnitin

smile

Dan

*edit* - point 2.7 is your issue in the above linked doc.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Wen Hao Chuang -
Hi Dan, thanks so much for the promptly reply. I guess I'm still a little bit confused about what point 2.7 was referring to:

"Set a username, email-address, firstname and surname of a user that does not already exist in your Turnitin account. Turnitin only allows 1 teacher to be assigned to a course, so the integration needs to use a "global teacher" usercode that becomes the default Teacher (Turnitin refer to teachers as "instructors") to all assignments created in your moodle install." - Are these required?

This is kind of different from the old style plugin where I just need to need to put in information for TII_SHAREDKEY, TII_WEBSERVICEURL, and TII_AID in the /mod/assignment/type/turnitin/lib.php. Attached please find my current setting (I made sure that this account is not existing on the current turnitin system), but I still got this error message. Although I put in some username, email-address, and firstname/surname information I'm still getting an error message:


Attachment turnitin_local.png
In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Wen,

that's saying that your server cannot connect to api.turnitin.com - I'm guessing there's a firewall blocking it? - the server will need to be allowed to make outgoing requests to api.turnitin.com

yes. - this plugin is very different to the one provided from turnitin. - yes all those settings are required.

The old turnitin assignement plugin tried to "pre-fill" some of that data previously, and didn't allow for as much flexibility. - you could get problems if the key was installed on more than 1 moodle site with the same users and the same course names etc.

thanks,

smile

Dan

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Wen Hao Chuang -
Hi Dan, there is no firewall I believe, and I was testing it on my local dev machine. When I replace it with the "old" (official) plugin provided by turnitin, it works on my local dev machine (which has a fixed ip). Any other idea what might be the cause of this? Thanks! smile
In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Wen,

the old plugin uses the "clients" browser to connect to turnitin, so any proxy settings etc are taken from the users's browser. the version I've written it's the server itself that makes the call.

initially it uses the function in filelib: download_file_content which takes note of any proxy settings you have set up in admin >server> HTTP
this call is what is failing for you. - are you sure that you don't have a proxy or a firewall that prevents outgoing connections directly from your server to the outside world?

BUT - this function isn't used for ALL tii api calls as the function doesn't support POST which is needed for some api calls

Some calls are made using an internal lib function which doesn't take note of your proxy settings. - I need to create a new function which does this and allows POST with a similar function to download_file_content()

thanks,

smile

Dan

...so at this stage, the code requires unrestricted outgoing http access without using a proxy.


In reply to Dan Marsden

Re: Turnitin Integration beta release!

by A. H. -
Hello Dan,

I have a linux server running Moodle19.

When i installed this plugin, i was gettingi the error:

https://api.turnitin.com/api.asp?username=hh49%40aub.edu.lb&uem=hh49@aub.edu.lb&ufn=Hossein&uln=Hamam&uid=hh49%40aub.edu.lb&utp=2&cid=MoodleTII&ctl=MoodleTII&fcmd=2&fid=1&dis=1&encrypt=0&diagnostic=0&tem=hh49@aub.edu.lb&upw=&cpw=&ced=&dtdue=&dtstart=&newassign=&newupw=&oid=&pfn=&pln=&ptl=&ptype=&said=&assignid=&assign=&gmtime=20080922072&aid=37366&version=Moodle_19&md5=52f91bac2428160dae18020002a27f1f&;

Though i bypassed the server from our proxy..

However, i thought of filling up the credentials in server--> http

Then i went back to saving the turnitin settings, it now gives blank page instead of the above error.

What is the problem now?

thnx,
amer
In reply to A. H.

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Amer,

what you've posted there isn't the "error" but some text in the error that states the url it was trying to access at the time.

make sure you have full debug turned on with display errors and it might show more info.


My guess without seeing your error is that your problem is with curl - see above:
http://moodle.org/mod/forum/discuss.php?d=98199#p445818

depending on the flavour of linux, you may just be able to use:
apt-get install ca-certificates
and be sorted.
Average of ratings: Useful (1)
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by A. H. -
Hello Dan,

This is the error after i turned debug on:

Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: Entity: line 1: parser error : Start tag expected, '<' not found in /web/edited19x/lib/turnitinlib.php on line 175

Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: HTTP/1.0 200 OK in /web/edited19x/lib/turnitinlib.php on line 175

Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: ^ in /web/edited19x/lib/turnitinlib.php on line 175

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /web/edited19x/lib/turnitinlib.php:175 Stack trace: #0 /web/edited19x/lib/turnitinlib.php(175): SimpleXMLElement->__construct('HTTP/1.0 200 OK...') #1 /web/edited19x/lib/turnitinlib.php(216): tii_get_xml('https://api.tur...') #2 /web/edited19x/admin/turnitin.php(61): tii_post_to_api(Array, 11, 'GET', '', false) #3 {main} thrown in /web/edited19x/lib/turnitinlib.php on line 175


Moreover:
I didnt undesrstand what ca-certificate is to install (i have red hat 5), i already have certificate issued to this server for https to be valid.

curl:
rpm -qa | grep -i curl
curl-7.15.5-2.el5
curl-devel-7.15.5-2.el5

Hope the above error gives more on what the issue is.


thnx for your help and hints you provided, really appreciated!
amer
In reply to A. H.

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Amer,

I'd suggest making sure you have the latest version of the 1.9 plugin - download it again from the link in the modules and plugins database and overwrite your files.

then go to the admin/activities/turnitin page and re-save the settings - this page should give some feedback that the teacher account has been created - if not, what errors does this particular page give?
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hi Dan,

Following up On Amer's post. We reinstalled the plugin. Below are the warnings and errors that we get when we save the settings in Turnitin.

*Warning*: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct

<http://moodletest.aub.edu.lb/edited19x/admin/function.SimpleXMLElement---construct>]:

Entity: line 1: parser error : Start tag expected, '<' not found in

*/web/edited19x/lib/turnitinlib.php* on line *175*

*Warning*: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct

<http://moodletest.aub.edu.lb/edited19x/admin/function.SimpleXMLElement---construct>]:

HTTP/1.0 200 OK in */web/edited19x/lib/turnitinlib.php* on line *175*

*Warning*: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct

<http://moodletest.aub.edu.lb/edited19x/admin/function.SimpleXMLElement---construct>]:

^ in */web/edited19x/lib/turnitinlib.php* on line *175*

*Fatal error*: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /web/edited19x/lib/turnitinlib.php:175 Stack

trace: #0 /web/edited19x/lib/turnitinlib.php(175):

SimpleXMLElement->__construct('HTTP/1.0 200 OK...') #1

/web/edited19x/lib/turnitinlib.php(216):

tii_get_xml('https://api.tur...') #2

/web/edited19x/admin/turnitin.php(61): tii_post_to_api(Array, 11, 'GET', '', false) #3 {main} thrown in */web/edited19x/lib/turnitinlib.php* on line *175


Please advise.

Thanks!

In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi There,

does it display any other information? - can you turn on developer debugging, and post a screenshot of all the errors that appear? - does it also display a url that it was trying to access when it caused the error? - can you paste that url into your browser and check to see what is returned?

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hi Dan,
Thank you for your reply. Bellow is a screen shot of the error. When i copy paste the URL in a new browser, i am getting this "success" message:

<!-- Turnitin API Return Data -->
<returndata>
<rmessage>Successful!</rmessage>
<userid>3294182</userid>
<rcode>11</rcode>
</returndata>

Even though, when we leave "proxy host" in Server/HTTP empty, we are getting this error. But if we enter a proxy, we are getting the error that i posted before.

PS: The server we are using is already by passing proxy.

Please advise smile

Thanks!
Hossein
Attachment Error.jpg
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
this has to be a problem with your server or a firewall blocking the external connection, but here's a suggestion I found via google....

do you have etc/resolv.conf in your chroot?
see:
http://groups.google.co.nz/group/lucky.openbsd.misc/browse_thread/thread/ca2a2831a21de3e7/372453b2ae2addc3?hl=en&lnk=st&q=cURL+couldn%27t+resolve+host#372453b2ae2addc3

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -

Dear Dan,

Thank you so much for your continous feedback and suggestions. I went through the steps again, there is nothing blocking the external connection. And CURL is fine based on my testing and the settings i have.

So what we are facing right now is this fatal error:

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /web/edited19x/lib/turnitinlib.php:175 Stack trace: #0 /web/edited19x/lib/turnitinlib.php(175): SimpleXMLElement->__construct('HTTP/1.0 200 OK...') #1 /web/edited19x/lib/turnitinlib.php(216): tii_get_xml('https://api.tur...') #2 /web/edited19x/admin/turnitin.php(61): tii_post_to_api(Array, 11, 'GET', '', false) #3 {main} thrown in /web/edited19x/lib/turnitinlib.php on line 175

I will continue testing for now, if i find anything i will tell you. And i would appreciate any Suggestions! smile

Thanks!

In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
I'd just try echoing the response of the download_file_content call

in turnitinlib.php

the call to:
$xml = new SimpleXMLElement($fp);

put something like a print_object($fp) just before the call to see what is returned from the url call. - It's supposed to be an XML file, but maybe the turnitin api site is returning an error in html instead?

good luck!

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi Dan

I'm having a similar problem with Hossein. I've done a var_dump($fp) and this is what's showing up when I view the source:

HTTP/1.0 200 OK
Date: Tue, 18 Nov 2008 06:00:19 GMT
Server: Apache
Set-Cookie: session-id=020224ce38ed818459ae20e91e98ab65; path=/
Pragma: no-cache
Last-Modified: Mon, 28 Jul 2014 23:30:00 GMT
P3P: CP=CAO OSA OUR
Content-Length: 181
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0
Connection: close
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- Turnitin API Return Data -->

<returndata>
 <rmessage>Successful!</rmessage>
 <userid>14609142</userid>
 <rcode>11</rcode>
</returndata>

It looks as though it is trying to parse the header info returned from turnitin which is what is generating the errors.

Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: Entity: line 1: parser error : Start tag expected, '<' not found in /var/www/html/moodle19/lib/turnitinlib.php on line 178

Warning: SimpleXMLElement::__construct() [
function.SimpleXMLElement---construct]: HTTP/1.0 200 OK in /var/www/html/moodle19/lib/turnitinlib.php on line 178

Warning: SimpleXMLElement::__construct() [
function.SimpleXMLElement---construct]: ^ in /var/www/html/moodle19/lib/turnitinlib.php on line 178

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/html/moodle19/lib/turnitinlib.php:178 Stack trace: #0 /var/www/html/moodle19/lib/turnitinlib.php(178): SimpleXMLElement->__construct('HTTP/1.0 200 OK...') #1 /var/www/html/moodle19/lib/turnitinlib.php(220): tii_get_xml('https://api.tur...') #2 /var/www/html/moodle19/admin/turnitin.php(61): tii_post_to_api(Array, 11, 'GET', '', false) #3 {main} thrown in /var/www/html/moodle19/lib/turnitinlib.php on line 178

When I strip off all the header info and just hardcode the xml section in,

<?xml version="1.0" encoding="UTF-8"?>
<!-- Turnitin API Return Data -->

<returndata>
 <rmessage>Successful!</rmessage>
 <userid>14609142</userid>
 <rcode>11</rcode>
</returndata>

it returns a proper success message..

Turnitin Settings Saved, and Teacher account created

Any ideas for a fix or a workaround?

Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
hmmm....well that's strange - because Afaik download_file_content should just return the content of the file as a string.... Do you have cURL installed on your server? - I wonder if it's falling back on snoopy to get the file contents and returning headers as well?
In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Darren James Harkness -
Andrew - try turning off Moodle's debug/error messages. It's possible that Moodle is inserting an unrelated warning into the XML that the script is trying to read.
In reply to Darren James Harkness

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi Darren / Dan - turning debugging off didn't resolve anything as it is an error. And we did have cURL turned on. We did however, discove that the problem was with moodle\lib\filelib.php (function download_file_content).

Because it was going through our proxy it had to perform another strip to the header - see fix below:

  if (!empty($CFG->proxyhost)) {
     $data = explode("\r\n\r\n", $data, $info['redirect_count'] + 3);
  } else {
     $data = explode("\r\n\r\n", $data, $info['redirect_count'] + 2);
  }

That seems to have resolved the issue. We'll do more testing before we submit the code to moodle.

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
interesting! - good spotting! - let us know you've tested some more and created a new bug in the tracker so we can add ourselves as watchers.....
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi all

Have logged a tracker issue...

http://tracker.moodle.org/browse/MDL-17320

One of our other programmers has refined the patch further to reduce any unwanted side-effects.

CHeers Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Andrew Yong -

We've in the final stages of getting this plugin going. However I've just hit a snag... when we run the cron job to send the files off to Turnitin, we immediately receive an originality score of 0% for the assignments that have been submitted. On querying the table, it also changed the status from "pending" to "success" almost immediately. The originality report doesn't appear to have been created yet.

The program appears to have

1. uploaded successfully and changed the code from "pending" to "51"

2. in the next step of the cron job which was to retrieve the results, it picked up the same file because it has a code of 51 and on retrieving no result, assigned a 0% and changed the status to "success". 

Hence the status change appears to be instantaneous.

When the report is ready, I can retrieve the originality report by clicking on the link AND it does appear to be reporting correctly but it does not update the orignality score when I rerun the cron job.

Is anyone else experiencing this problem? Is there something I've not configured correctly?

Andrew.

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
is it possible that the file is completely original (or that turnitin hasn't previously indexed a similar file) - also make sure you have the latest version of the code from CVS - it's been through a few changes over the past couple of weeks.
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Darren James Harkness -
Hi Hossein - I had something very similar happen, and it was because my server was configured to display PHP warnings and errors , which it added to the incoming XML feed. Try turning display_errors off and see if it's still there.
In reply to Darren James Harkness

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Thanks Darren, good thinking! - It would be good to know what those errors are so I can get them sorted though.
In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Jason Cashel -
Hi Wen,
I got a message like this initially when testing on WAMP server, but had no such problem under Linux.

Jason
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Wen Hao Chuang -
Jason, thanks for the heads-up. The problem is that both of our testing and staging server are running on OSX and do not have support for curl (sys admin had some trouble to compile it), so I'm stuck with testing in on my local WAMP server. sad
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Wen Hao Chuang -
Hi Jason, is it possible to get a teacher account on your testing box so that I could help out testing this new Turnitin integration patch? I also emailed Dan about this. I'm still waiting for our system admin to complete our VM (virtual machine) setup, and currently I don't have a linux box to play with (two testing servers are running on OSX, and had some trouble compiling curl with php, oh boy).

By the way, we are at the point to decide whether we will use this new patch in our upcoming 1.9 upgrade project (due soon!), or try to spend some time to fix the "old" (official) plugin to make it work with Moodle 1.9. Currently the "old" plugin does NOT work with the new 1.9 gradebook. Some quick questions. Have you done some testing with the following areas? What were your first impression?

1. Does the new TII patch work with the new moodle 1.9 gradebook? That is, does this patch also work with the current turnitin "gradebook" module?

2. Have you tried out backup/restore with TurnItIn assignments with the new patch?

3. If I remember correctly, the TII server side API require a "starting" and "ending" dates, but for default typical assignments, users actually could "disable" the starting and due date (see screenshot). Have you tested this to see if there is any problem associated with this?

Thanks! I studied Dan's codes a little bit (nice work Dan!), and can't wait to get it to work and start testing it!

Peace and love, Wen
Attachment assignment_disable_dates.png
In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Jason Cashel -
Hi Wen,
Sorry for the late reply.

My test server is unfortunately not internet accessible. Though may be over the next month.

At present in very much in beta release. We are at the moment considering whether or not to have a small test group of students use Turnitin through Moodle but I think I might wait a term.

To answer the other questions:
1. Yes it is integrated with Gradebook.
2. Does not work with backup and restore.
3. There is a bug in the zip file attached to this discussion where if the dates are "Disabled" the course is not created on Turnitin upon the initial creation of the Turnitin assignment. I submitted a patch for this, http://tracker.moodle.org/browse/CONTRIB-548, and Dan has integrated it into his git development server.

Please note that Dan's git server has patches that the zip file attached above does not.

Jason

In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Darren James Harkness -
I get a similar error to Wen's, on both my development server and an external server. Here's a little more information:

--- 8< ---

This is what the TII module reports back when I attempt to add a new assignment with TII enabled.

cURL request for "https://api.turnitin.com/api.asp?username=autiiadmin&uem=dar...@athabascau.ca&ufn=Darren&uln=Harkness&uid=autiiadmin&utp=2&cid=AUResearchTest6CF101&ctl=AUResearchTest6CF101&fcmd=2&fid=1&encrypt=0&diagnostic=0&tem=dar...@athabascau.ca&upw=&cpw=&ced=&dtdue=&dtstart=&newassign=&newupw=&oid=&pfn=&pln=&ptl=&ptype=&said=&assignid=&assign=&gmtime=20080708161&aid=48635&dis=1&version=Moodle_19&md5=d9f4cdf8b8dbf726410ed31cd6989d1b&;" failed with: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (60)
  • line 193 of lib/filelib.php: call to debugging()
  • line 159 of lib/turnitinlib.php: call to download_file_content()
  • line 202 of lib/turnitinlib.php: call to tii_get_xml()
  • line 396 of mod/assignment/lib.php: call to tii_post_to_api()
  • line 2137 of mod/assignment/lib.php: call to assignment_base->add_instance()
  • line 279 of course/modedit.php: call to assignment_add_instance()
--- 8< ---

If I load the URL the TII module is attempting to contact, I get the following XML:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Turnitin API Return Data -->

<returndata>
 <rmessage>MD5 not authenticated - the MD5 in the URL does not match the MD5 calculated</rmessage>
 <rcode>302</rcode>
</returndata>
--- 8< ---

Thoughts?
In reply to Darren James Harkness

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
that looks like an issue with Curl on your server, it may not have any root certs installed - see here for details:

http://curl.haxx.se/docs/sslcerts.html

would be great if you manage to solve this using the above link if you could add some stuff to the docs to explain how to fix it!

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Wen Hao Chuang -

Dan, looks like I'm getting exactly the same error message (when creating a new TII assignment) that Darren experienced. I tried to follow the instruction (with the site you mentioned) on http://curl.haxx.se/docs/sslcerts.html, here is what I did:

1. Seems that #5 on the above site is the easiest approach. So I went to

http://curl.haxx.se/docs/caextract.html then downloaded the cacert.pem (I don't know much about what's a .pem file format, but it's a text file). It looks like the lib/mk-ca-bundle.pl will convert a certdata.txt to a .pem (cacert.pem) file. As there are cacert.pem file available on the above site already, so I saved this file (cacert.pem) to my local c:\windows and renamed the file to curl-ca-bundle.crt (see #4 on the site) => it's not working.

Any idea what I did wrong? Thanks! smile

In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Wen,

I found that page via a google search when I saw the above error, have no idea how to help past there sorry! - seems to work fine on my Ubuntu machine, and it worked on the win2003 IIS machine @ my old work! - disapointed to hear it won't be simple to get working under wamp!

would be interested to hear how you go!

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Darren James Harkness -
Thanks Dan, that solves the first part of the problem, however, I now get the following error:

--- 8< ---

Error occured in Turnitin System:MD5 not authenticated - the MD5 in the URL does not match the MD5 calculated tiicode:302
  • line 242 of lib/turnitinlib.php: call to debugging()
  • line 396 of mod/assignment/lib.php: call to tii_post_to_api()
  • line 2137 of mod/assignment/lib.php: call to assignment_base->add_instance()
  • line 279 of course/modedit.php: call to assignment_add_instance()
//<![CDATA[ setTimeout('fix_column_widths()', 20); function openpopup(url,name,options,fullscreen) { fullurl = "http://twinky/aumoodle19" + url; windowobj = window.open(fullurl,name,options); if (fullscreen) { windowobj.moveTo(0,0); windowobj.resizeTo(screen.availWidth,screen.availHeight); } windowobj.focus(); return false; } function uncheckall() { void(d=document); void(el=d.getElementsByTagName('INPUT')); for(i=0;i<el.length;i++) { void(el[i].checked=0); } } function checkall() { void(d=document); void(el=d.getElementsByTagName('INPUT')); for(i=0;i<el.length;i++) { void(el[i].checked=1); } } function inserttext(text) { text = ' ' + text + ' '; if ( opener.document.forms['theform'].message.createTextRange && opener.document.forms['theform'].message.caretPos) { var caretPos = opener.document.forms['theform'].message.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; } else { opener.document.forms['theform'].message.value += text; } opener.document.forms['theform'].message.focus(); } function getElementsByClassName(oElm, strTagName, oClassNames){ var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); var arrReturnElements = new Array(); var arrRegExpClassNames = new Array(); if(typeof oClassNames == "object"){ for(var i=0; i<oClassNames.length; i++){ arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)")); } } else{ arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)")); } var oElement; var bMatchesAll; for(var j=0; j<arrElements.length; j++){ oElement = arrElements[j]; bMatchesAll = true; for(var k=0; k<arrRegExpClassNames.length; k++){ if(!arrRegExpClassNames[k].test(oElement.className)){ bMatchesAll = false; break; } } if(bMatchesAll){ arrReturnElements.push(oElement); } } return (arrReturnElements) } //]]>
Error output, so disabling automatic redirect.

--- 8< ---

Any thoughts?
In reply to Darren James Harkness

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Wen,

sorry - been crazy busy!

1. - doesn't affect the plugin as it uses existing assignment types which are already compatible with the gradebook.
2. - backup restore of the normal stuff works, but it doesn't backup/restore the new turnitin tables with originality scores....yet.
3 - Jason found a bug related to this, and I'd placed the code to generate TII stuff in the wrong place, but it should be fine now. - theoretically the dates set inside the moodle assignment shouldn't make any difference to the turnitin system.

the major outstanding work for my patch is the backup/restore - (which you don't get much of in the old turnitin system anyway!) and the only stuff that doesn't backup/restore is just the originaluty scores and links to the full report.

will have a look at that md5 error later on today when I've finished going through all the e-mail and blinking windows!

smile

Dan
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Howy Boots -
Yeah me too. I needed to hire a programmer to implement this on my Howy , but it was worth it, thanks a lot
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Jason found an issue that I was hoping wouldn't be a problem....

When an assignment is created in moodle it makes 3 calls to the turnitin API - in my testing, they all worked well. but Jason found that the first time he created an assignment when the 3rd call is made, the 2nd call hadn't completed quite yet, so he got an error message. - subsequent creations/updates have all been fine.

I'm wondering if I will need to move this into the cron like the way the students are handled - keen to hear if anyone gets any errors on "First" creation, or first submission etc.

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Wen Hao Chuang -
By the way, Dan, I don't know if you get a chance to look at the "old" (official) v2.0.0 plugin (which was designed for Moodle 1.8.x I believe, see attached). I tried this v2.0.0 plugin (developed by Northumbria Learning I believe) with Moodle 1.9.0. It seems that most features still works OK in Moodle 1.9, except that with the grade updated on the TurnItIn.com side won't get pushed back to the Moodle 1.9 new gradebook. Did you have a chance to look at this issue and would it involve some efforts to make the "old" plugin work with the new 1.9 Gradebook? Any thoughts or comments? Thanks! smile
In reply to Wen Hao Chuang

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Wen,

we only have funding to work on the new plugin. The one provided by turnitin has some serious design flaws. - it only provides single-sign on into the turnitin system and most of our clients want to retain control over the content. - so if they were to discontinue the use of turnitin, that they would still have easy access to the assignments etc..

I've posted a lot more about it here:
http://docs.moodle.org/en/Turnitin_Integration

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jason Cashel -
Hi Dan,
You probably know about this, but when you backup and restore a course it loses its Turnitin settings.

Should I report this as a bug?

Jason
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
yeah report it as a bug - might help me to remember to do something about it.....I'd been avoiding it!

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Here's the latest zip of files in our git repo - I've fixed a range of things since I made the last zip available.

Backup/restore should now be working and when you delete an assignment, it clean up after itself.

full changelog available here:
http://git.catalyst.net.nz/gw?p=moodle-r2.git;a=shortlog;h=refs/heads/mdl19-turnitin

thanks!

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Jason Cashel -
Hi Dan,
Thanks for this.

Just wondering what version of Moodle you are developing your integrations into? Does it matter if I copy these files into a 1.9.2 install?

Thanks,
Jason
In reply to Jason Cashel

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Jason,

that should be fine!

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Paolo Oprandi -
Hi all,

I was just speaking to our academic office and we were discussing the different models of dealing with plagiarism: policing and formative.

A policing approach would tell the tutor that plagiarism has been detected in a submitted piece of work, and would require the tutor to handle it through misconduct procedures of whatever.

A formative approach would allow the students to submit a piece of work to turnitin before they submitted it to their tutor. This would report back to the student where plagiarism has been detected in their work so they could change it before they submitted it to their tutor (upon which it would be resubmitted to turnitin for policing).

Is formative detection of plagiarism something that might be included in this plugin? At the moment we are envisaging a work around where a site is created where students can upload their work to turnitin before submitting to their tutors.

many thanks,
Paolo

In reply to Paolo Oprandi

Re: Turnitin Integration beta 2 release!

by Markus Mostert -

Dear Paolo

Is formative detection of plagiarism something that might be included in this plugin?

The "formative" detection (i.e. to develop students' academic writing) is already a function of the plagiarism detection software itself (Turnitin in this case).

At our institution, students receive a originality report as soon as they submit their work and are allowed to resubmit until the due date for the assignment (it is merely a setting that you have to specify when you set up your assignment in Turnitin).

I have also set up a "drafts assignment" accessible to all of our students, which allows students to submit their essays any time as many times that they want, without it ever being submitted to our institutional database.

I don't particularly think it is necessary for the Moodle plugin to address this issue. I hope this helps.

Markus

In reply to Markus Mostert

Re: Turnitin Integration beta 2 release!

by David Wu -
Hi Markus and Paolo,

Yes, this is a possibility already built-in to our web site as well as through our standard Turnitin Moodle integration, just as you described.

I think Paolo's question, unless I read it wrong, was questioning whether or not this would be available in the plugin/integration that Dan Marsden has developed, and that is something I'm not sure about. However, Dan and I are forming plans to hopefully work together to further this integration and really make it usable and tie up any loose ends, so it is something we can keep in mind. At this point though, I'd have to let Dan answer the question.

Thanks,
Dave

In reply to David Wu

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
yup - definately possible! - just make sure you set the assignment to allow multiple submissions, and allow the students to see the score/full report.

I've been thinking about adding the functionality to send an e-mail to the student when the report is availalble - as it will take 2 cron cycles before it is available for the student to see.

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Wen Hao Chuang -
Just a quick FYI. I looked at Dan's codes and saw that he was using function get_file_url(), so whoever is help testing this new patch need to make sure that your lib/filelib.php is at least v1.50.2.12 or above, as this function was not introduced until v1.50.2.12. smile
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Wen Hao Chuang -
Hi Dan, I'm wondering the same question that Jason was asking, do you mind telling us what version of Moodle you are developing your integrations into? Our cranberry build is based on Moodle 1.9.0, and I found that the new patch does not work with 1.9.0 that well (I had to patch /lib/filelib.php and /lib/uploadlib.php to the latest version), what's the minimum requirement (e.g. Moodle 1.9.1?) for the new patch to work out of the box? Thanks!
In reply to Wen Hao Chuang

Re: Turnitin Integration beta 2 release!

by Jason Cashel -
Hi Wen,
I have got this working on 1.9.1 at the moment.

Jason
In reply to Jason Cashel

Re: Turnitin Integration beta 2 release!

by Jeffrey Silverman -
I'm going to say "no" for 1.9.2 at this point -- the patch, from what I can tell so far, will break some things in 1.9.2 (and 1.9.1 actually).

For example, this:

http://tracker.moodle.org/browse/MDL-14637

I will post back when I have more details and more specific answers ... hopefully soon!
In reply to Jeffrey Silverman

Re: Turnitin Integration beta 2 release!

by Jeffrey Silverman -
Hi again. There were one or two other minor things that did not match up with 1.9.2 and indicated to me that the Beta 2 TII patch was built against 1.9.0.

Unfortunately, I forgot to keep track of them! sad But AFAICR, they were pretty minor.

When I get a chance[1], I am going to post my Beta 2 patch that I have revised against Moodle 1.9.2. But first I gotta strip out some MR[1]-specific code.

I'll also post back with the results of my testing of this patch.

Thanks for the hard work, Dan!





[1] As Willy Wonka would say, "So much time and so little to do! Strike that, reverse it."
[2] I work for MoodleRooms, the US Moodle Partner.
In reply to Jeffrey Silverman

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
It's really easy to do this using Git! -

do a git checkout of my code against our repo
then run:
git merge orgin/MOODLE_19_STABLE

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Darren James Harkness -
Hi Dan, just as a note, I'm still getting the 302 error back from the TII API with the beta 2 release as well.

There's some difference in the md5 string being sent to TII and the one it's expecting that I can't quite seem to find. I turned on the diagnostics setting, and this is what the API is returning to me (I've edited out the account number):

--- 8< ---

Finished Unpacking URL
HTTPS verified!
IP Address verified!
GMT verified!

*** DIAGNOSTICS ***

http host: api.turnitin.com
server port: 81
remoteaddr: 192.168.1.8
time difference: 0 minutes
first name: Darren
last name: Harkness
user email: staticred@gmail.com
new email: staticred@gmail.com
user pswd:
user type: 2
primary_accountID: xxxxx
sub-account:
gm time: 20080721175
server gm time: 20080721175
fid: 1
fcmd: 2
encrypt flag: 0
remote md5: 58dd6074d9bb6bfe57a6b8c916a35628
expected md5: 55cbc59eca8677aefb8f52b7a6fbc02d
--- 8< ---
In reply to Darren James Harkness

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Darren,

a lot of the TII settings are required on the admin >activities >turnitin page - have you filled in all the fields there?

also - make sure you've turned on the admin >server >debugging to display all errors - that diagnostic setting isn't really for general use.

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Darren James Harkness -
Hi Dan,

Yes, all the fields are completed with valid values, and debugging is turned on already (which is where the error message I've used in previous messages on this board has come from).
In reply to Darren James Harkness

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Darren,

the diagnostics setting isn't for general use and will give misleading information to the normal user. - please turn the diagnostics back off, make sure debugging is enabled and post the error you receive here. - it may look similar to the original error you were getting, but the url is probably different

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Darren James Harkness -
Hi Dan,

The debug information was obtained manually (by finding the URL the plugin was sending to the TII API and manually adding the &diagnostic=1) in an attempt to give you a little more information as to what's going on. I still receive the following from the plugin:

Error occured in Turnitin System:MD5 not authenticated - the MD5 in the URL does not match the MD5 calculated tiicode:302
  • line 248 of lib/turnitinlib.php: call to debugging()
  • line 396 of mod/assignment/lib.php: call to tii_post_to_api()
  • line 2138 of mod/assignment/lib.php: call to assignment_base->add_instance()
  • line 279 of course/modedit.php: call to assignment_add_instance()
Error output, so disabling automatic redirect.

Which really gives me no information as to the nature of the md5 error and why I'm getting it.
In reply to Darren James Harkness

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
looks like you aren't using the most uptodate code. - unless you've modified it. - the latest version of turnitinlib.php line 248 does not contain a debugging call.

also, that tii call (line 396 of mod/assignment/lib.php) is the first call that sets up your new "teacher" account in the tii settings page - make sure you haven't used any weird characters on that page, and that you have filled in all the fields.

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Darren James Harkness -
Hi Dan - sorry, yes, I had added in some debugging code, which accounts for the shift in line numbers.

I replaced it with the turnitinlib.php found in the integration beta 2 file you posted here recently, and get pretty much the same error:

Error occured in Turnitin System:MD5 not authenticated - the MD5 in the URL does not match the MD5 calculated tiicode:302
  • line 247 of lib/turnitinlib.php: call to debugging()
  • line 396 of mod/assignment/lib.php: call to tii_post_to_api()
  • line 2138 of mod/assignment/lib.php: call to assignment_base->add_instance()
  • line 279 of course/modedit.php: call to assignment_add_instance()
Error output, so disabling automatic redirect.

There are no illegal characters in the 'teacher' account - alphanumeric only, and the same is true for the other fields as well. Here's a screen capture

moodletiisettings.jpg
In reply to Darren James Harkness

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Darren,

could you bounce me an e-mail with details of the settings you are using on the admin page for course prefixes etc?

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Michael Tudor -
We're getting the same weird error with the integration and we are running on moodle on Win2k3 server.

Dan, is there any chance that you had inadvertently installed some additional cURL certificates onto your windows 2k3 server?

If you want a good way to test it out download and install VM Ware and install a virtual server 2k3 server to test it out.
In reply to Michael Tudor

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
nope - was running a vanilla install of PHP under Win2k3 - I presume it has something to do with the PHP version you are using. I did see a few issues with SSL and Curl in versions prior to 5.2 from memory...but that's a while back now...

I don't have a lot of time to dedicate to testing cross-platform at the moment!

....but we have just recieved some funding to help backport this to Moodle 1.6...should be an update about this later this week.

smile

Dan


In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Michael Tudor -
We were running PHP 5.2.5 and have just upgraded to 5.2.6 and still get the error.

- So do you know what version of PHP you installed?
- Did you do a separate install of cURL or use the default stuff that came with PHP?

error trying to open Turnitin XML file!https://api.turnitin.com/api.asp?username=moodle&uem=moodle@pihms.ac.nz&ufn=IT&uln=Admin&uid=moodle&utp=2&cid=192TII_Test&ctl=192TII_Test&fcmd=2&fid=1&encrypt=0&diagnostic=0&tem=moodle@pihms.ac.nz&upw=&cpw=&ced=&dtdue=&dtstart=&newassign=&newupw=&oid=&pfn=&pln=&ptl=&ptype=&said=&assignid=&assign=&gmtime=20080804004&aid=35601&dis=1&version=Moodle_19&md5=9e8c1c3af299fa3da3b25231b1888f1e&;

Since this is using a secure https connection is it possible to just use http for testing purposes?
In reply to Michael Tudor

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
don't remember sorry! - was just using the standard cURL stuff that came with PHP. - turnitin requires SSH, so you can't test over standard http sorry!

let me know if you figure it out!

thanks,

smile

Dan

P.S. - which error are you receiving? - the MD5 failure error is not a problem with cURL - it's more likely a problem with either your secret key/account ID or configuration of Turnitin. - the cURL problem is related to the ":SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed" error.
If you are just getting the md5 error, make sure that TII have provided you with the correct account ID and secret key!
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Michael Tudor -
We have the cURL problem so far, we can ever see the return on the firewall logs saying something about the SSL being aborted or something (cant remeber sorry).

Were you using IIS or some other webserver such as Apache on your 2k3 server?


In reply to Michael Tudor

Re: Turnitin Integration beta 2 release!

by Grant Beevers -

Hi Michael,

I think we are getting the same error:

cURL request for "https://api.turnitin.com/api.asp?username=grantbeevers&uem=grantbeevers@acnm.edu.au&ufn=Grant&uln=Beevers&uid=grantbeevers&utp=2&cid=lh4FCC&ctl=lh4FCC&fcmd=2&fid=1&encrypt=0&diagnostic=0&tem=grantbeevers@acnm.edu.au&upw=&cpw=&ced=&dtdue=&dtstart=&newassign=&newupw=&oid=&pfn=&pln=&ptl=&ptype=&said=&assignid=&assign=&gmtime=20080804051&aid=52332&dis=1&version=Moodle_19&md5=bf8ad20dfb4c8ac75d1287a224f7ed1c&" failed with: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (60)

Is this anything to do at Turnitin's end - maybe their certificate has expired?

Grant

In reply to Grant Beevers

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Grant,

I'm pretty sure it has something to do with the fact that cURL doesn't ship with any CA certs by default anymore as listed on the link:
http://curl.haxx.se/docs/sslcerts.html

from what I can see Darren managed to get this to work using that link and installing new CA certs - not sure which method he used?

the turnitin ssl cert hasn't expired - they use a wildcard cert that was issued by Network Solutions.

hope that helps!

if someone figures it out and gets a reliable method please post it here! - Darren?

smile

Dan


In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
also according to the curl.haxx.se site the old CA package was removed in the cURL version released on Jan 28 2008 - all prior versions contained the old package. - I presume any PHP releases prior to this would have the old package and might work!

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Michael Tudor -
Okay, we got it working in Win32. It would seem that in the win32 builds of cURL/PHP that by default there is not certificate specified where as in the linux distributions has a default certificate name and path.

We ran the script to test the curl ssl connections on both Win32 and Linux. We were surprised to get a very different result on each platform.

curl_test.php
<?php
//Filename: curl_test.php

$ch = curl_init();

curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//Disable certificate check.
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

//Enable certificate check
//Download ca-bundle.crt from http://cvs.php.net/cvs.php/curl/lib/ca-bundle.crt
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, "c:/php/ca-certificates.crt");

curl_setopt($ch, CURLOPT_URL, "https://api.turnitin.com/api.asp");


//curl_setopt($ch, CURLOPT_URL, "https://www.paypal.com");

$result = curl_exec($ch);

echo '<pre>';
print_r(curl_getinfo($ch));
echo '</pre>';

echo 'Errors: ' . curl_errno($ch) . ' ' . curl_error($ch) . '<br><br>';

curl_close ($ch);

echo $result . 'EOF';
?>


The following screenshots show the different errors

Linux
linusdefaultcertnotpresxp5.jpg
At the bottom of the above image you will see that both the path and the file name to the certificate are specified. It's an easy fix in Linux, just get your CA cert bundle and move it into the the above path and change it's filename to ca-certificates.crt and bingo! Turn it in works correctly.

Win32
win32certnotsetvs8.jpg
You should notice that this error is very different (and kind of scary!) and somewhat miss leading. After checking the PHP source code for the php_curl.dll it has no default certificate path or filename specified for the Win32 builds. So it appears that on win32 systems you must set your CA certs path and filename using the php curl_setopt command ie: curl_setopt($ch, CURLOPT_CAINFO, "c:/php/ca-certificates.crt");

Once this was set in the curl_test.php code that we were using to test the win32 platform we got this result
win32certsethq2.jpg
Woo Hoo!!! It we now have a secure ssl connection using cURL in Win32! Next step we need to modify two files in moodle to enable the turnitin intergration to use ssl in win32


turnitinlib.php - add the highlighted line (making sure you point the path to your CA cert bundle)

turnitinlibphpkb0.jpg

After this we were still having not much success connecting so we had to hunt a little further, at which point we found that we also needed to modify the following file

filelib.php - add the highlighted line (making sure you point the path to your CA cert bundle)

filelibphpov2.jpg

We are not really sure if we stuck the code in the correct places but it works, we now have a fully functioning Win32 moodle server using the turnitin integration big grin

That being said it might pay to get this code added to the administration management interface so people can set the path to their CA cert bundle via a gui rather than have to edit the php file. Linux users can just drop the file into the correct path.

CREDITS: This fix was not discovered by me but rather my work mate Rob who spent the last couple of days pulling his hair out trying to find the differences between cURL in linux and windows.
Average of ratings: Useful (1)
In reply to Michael Tudor

Re: Turnitin Integration beta 2 release!

by Darren James Harkness -
Can I suggest that you abstract the two curl_setopt() calls to the config.php file? This way you can reuse the code on multiple platforms without having to edit the filelib.php and turnitinlib.php files every time you want to deploy it somewhere new.

It would then look something like this in both the above files:
curl_setopt($ch, CURLOPT_CAINFO, $CFG->CApath);
and like this in the config.php:
$CFG->CApath = "C:/php/ca-certificates.crt";
In reply to Darren James Harkness

Re: Turnitin Integration beta 2 release!

by Michael Tudor -
We had set up a new Ubuntu server runing the latest release for our testing and it was unable to find the certificate. It's like Dan said that somewhere along the lines cURL stopped packaging the library with any built in certificate, then from what we can gather the new versions of cURL were compiled into PHP and it slipped through the radar.
In reply to Michael Tudor

Re: Turnitin Integration beta 2 release!

by Darren James Harkness -

I had to run

apt-get install ca-certificates
in order to get it to work; but, once I did, it started working, without having to specify the location of the CA certs.

In reply to Darren James Harkness

Re: Turnitin Integration beta 2 release!

by Michael Tudor -
@ Darren, I'm guessing that if you are running a command such as "apt-get install ca-certificates" then you are running in a linux environment which already has a default path, when you installed the certs more than likely they got installed to the correct location and so it just works automatically.
In reply to Darren James Harkness

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Darren,

I'm hoping to get a patch for this into core see MDL-15955 - Ideally I'd like it to check if the file ca-certificates.crt exists and the current cURL call uses ssl then automatically add it.

smile

Dan
In reply to Michael Tudor

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
wow! - good work guys!

Michael - would you and Rob mind logging a bug in the PHP tracker for this? - then we can all vote on it!

If someone gets a chance, can they add some documentation for people experiencing this issue with details on how to fix for linux and how to fix for Win32?
http://docs.moodle.org/en/Turnitin_administration#Global_Configuration_of_Turnitin

thanks!

smile

Dan
In reply to Michael Tudor

Re: Turnitin Integration beta 2 release!

by heli g -
With SLES 10 and Moodle 1.9.8 I am also getting the error:

cURL request for "https://api.turnitin.com/api.asp?... version=Moodle_19&md5=b6c8706fe790a1e29f72b1b554536b90&" failed with: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (60)

* line 268 of lib/filelib.php: call to debugging()
* line 171 of lib/turnitinlib.php: call to download_file_content()
* line 216 of lib/turnitinlib.php: call to tii_get_xml()
* line 68 of admin/turnitin.php: call to tii_post_to_api()
* line 1664 of lib/deprecatedlib.php: call to debugging()
* line 172 of lib/turnitinlib.php: call to error()
* line 216 of lib/turnitinlib.php: call to tii_get_xml()
* line 68 of admin/turnitin.php: call to tii_post_to_api()

I was heartened by your post:
"It's an easy fix in Linux, just get your CA cert bundle and move it into the the above path and change it's filename to ca-certificates.crt and bingo! Turn it in works correctly."

So downloaded: http://curl.haxx.se/ca/cacert.pem.gz
Extracted it and renamed it to ca-certificates.crt
and copied it to /etc/ssl/certs/

But I am still getting the error - what am I doing wrong?

One concern I have is with this "turnitin requires SSH, so you can't test over standard http sorry!" written by Dan somewhere in this thread. I'm not sure what it means.
Does it mean that our moodle needs https? I was hoping that having the server capacity would be sufficient (openSSL, php5-CURL and webmin with https are installed on our server).

Could this be the problem, or am I exposing my cluelessness, or both?

Assistance will be greatly appreciated!
In reply to heli g

Re: Turnitin Integration beta 2 release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
I use this command to install certs under ubuntu and it works nicely:
sudo apt-get install ca-certificates

perhaps you could post details of the os you are using and someone else might here might be able to help?

Ssh is required for the connection between your server and the turnitin api. you don't require an ssl cert for your server - you just need to be able to verify the Turnitin api cert (hope that makes sense)
In reply to heli g

Re: Turnitin Integration beta 2 release!

by heli g -
Just in case anyone encounters the same Curl certificate error as me on Suse 10:

I ran:


and discovered that the bundle was expected with a different name and file path.

So I renamed the bundle to

curl-ca-bundle.crt

and created a symbolic link

ln -s /etc/ssl/certs/curl-ca-bundle.crt /usr/share/curl/curl-ca-bundle.crt


I'm now ready to proceed big grin




In reply to Dan Marsden

Re: Turnitin Integration beta 2 release!

by Darren James Harkness -
I was able to remedy things fairly easily once I knew it was a problem with the root certs. I was testing the TII plugin on an Ubuntu server, so it was a simple matter of apt-getting the newer root certs, since mine were out of date.
In reply to Dan Marsden

Turnitin Release V1.0 for Moodle 1.9.2+

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Everyone,

I've made some improvements to the structure of the integration and am now releasing this as version 1.0

If you have used any of the beta versions I have released, you will need to run this query to reset the assignment version (I just noticed that I'd set it incorrectly)
update mdl_modules set version='2007101512' where name='assignment';

Backup/restore is now completely supported, and the config page does some better validation and returns cleaner better information.

Also on the config page, you will find a new button to allow SSO for admins into the Turnitin site.

The newest version is always available from our git repo here:
http://git.catalyst.net.nz/gw?p=moodle-r2.git;a=shortlog;h=refs/heads/mdl19-turnitin

and documentation for using it here:
http://docs.moodle.org/en/Turnitin_administration

the zip attached is based on Moodle 1.9.2+ (Build: 20080807)

thanks!

smile

Dan
In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Darren James Harkness -
Hi Dan,

I had some minor issues doing a straight upgrade from the beta 2 to 1.0, but it was relatively easy to work around. What I had to do was find and remove entries in mdl_capabilities that were related to the TII plugin before I could successfully upgrade.

Here was the query I ran before doing the upgrade in Moodle:
DELETE 
FROM `mdl_capabilities`
WHERE `name` LIKE '%moodle/turnitin:%'
After that, it upgraded seamlessly.

You might want to put a check into your db upgrade scripts to see if the values exist in mdl_capabilities before doing an INSERT statement, and change it to an UPDATE statement if they do.
In reply to Darren James Harkness

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
I thought that was handled by the standard capability code? -maybe you have some old code that inserts capabilities somewhere? - the capabilities are managed via mod/assignment/db/access.php - you will see a range of other capabilities in that file - did they throw errors as well?

The upgrade code should check for the existence of tables before creating them, but I just noticed my field changes weren't checking correctly - I'll fix that up too.

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Geoffrey Freelander -

Dan,

I just tried your 1.0 release with our newly upgraded 1.9.2+ system. The API component seems to work since the since the information I entered into the Turnitin module settings was transfered to our Turnitin account.  However, none of the tables, such as mdl_tii_files, were created nor was the assignment table updated.  Is there something I needed to do to fire the database upgrade process beyond just copying your files over my installation?

Thanks!

Geoffrey

In reply to Geoffrey Freelander

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Geoffrey,
looks like I missed a few files in that upload! - sorry bout that! - here's a version with all the files included!

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Jason Cashel -
Thanks Dan, will test this now.

Jason
In reply to Jason Cashel

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Jason Cashel -
Hi Dan,
I have been through the process and it looks really good.

Backup and restore looks great. No problems at all.

I just had a quick looks through the code and line 328 of lib/turnitinlib.php had a hard coded date:
$tii['dtdue'] = '20081010'; //need to fix this so it is more correct.

I am guessing that is the date due for the assignment and should be the Moodle date due?

Great work,
Jason


In reply to Jason Cashel

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
yeah -forgot about that one.... would be interested to know what happens if you change that date to something in the past eg 20071010 - does TII still accept the upload? - I thought it still did?

smile

Dan
In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Jason Cashel -
I think it still uploads the submission if the assignment has already been created.

Test 1 - Create new assignment Date: 20071010
sending Turnitin files
could not send a file, as class and assignment could not be created
sent 0 files
getting Turnitin scores
received 0 new scores

Test 2 - Use old assignment Date: 20071010
sending Turnitin files
could not send a file, as class and assignment could not be created
Success getting user, Class and assignment
sent 1 files
getting Turnitin scores
received 0 new scores

Test 3 - Reset date to 20081010
sending Turnitin files
Success getting user, Class and assignment
sent 1 files
getting Turnitin scores
received 1 new scores

Jason

In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Michael Tudor -
Hi Dan,

I have a small feature request/change that one of our senior lecturers has suggested. Basically there is a small difference in the reporting between accessing turnitin.com directly and accessing it via moodle. The vast majority of copied work is obtained off previous students work and the turnitin.com website will tell us the name of the student it was copied from (seeing as its one of our previous students anyway privacy is not really an issue). From what I understand the integration does not do this.

Turnitin and Moodle are great to use together but my main problem is that when I need to know who has copied what when using the moodle assignment upload I have to request a copy of the paper that has been picked up as a similarity and most times it is to myself and turnitin emails me to request that I send a copy on to the person who is asking to see a copy. This does not give me the name of the student that the paper has been copied from or any other information except the whole transcript which then can be tedious to go through to see where the work is copied.

In reply to Michael Tudor

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Michael,

If the asssignment has been submitted in the past into turnitin not using the integration, however, if the assignment has been submitted into turnitin using the integration, it should be available to see. (make sure you're using the latest code available in contrib via the modules and plugins db)

David Wu might be able to shed some more light on the specifics of how this works.
In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by David Wu -
Hi Dan and Michael,

I'll do my best to try and explain how it works.

The reason when you are in native Turnitin and you are viewing a match to another student paper, and you are given a link where you can open that paper in a new window and see the content of the paper as well as all the metadata such as the author, title, when it was submitted, etc. is because that paper was submitted to an assignment and a class of which you were the instructor of as well, and so theoretically, you had access to all of that information anyway.

It is a bit different through our Moodle integration (at least the one produced by Turnitin, not sure if it's the same with Dan's patch implementation - it depends on how he handles the multiple instructor issue), in that for each course in Moodle, we create a separate "pseudo" instructor in Turnitin because courses in Turnitin can only have one instructor, but in Moodle, they can have multiple instructors. That way, any time an instructor in Moodle interacts with the Turnitin plugin, then to Turnitin they all look like that single "pseudo" instructor.
This is relevant because when you have a match in an originality report to another paper that is in another class in which you are an instructor for in Moodle, Turnitin cannot readily determine that because to the Turnitin system, it looks like 2 different instructors. Thus, it tries to email you the content of the paper along with some of the other metadata (institution name, paper title, class, when it was uploaded and percentage match - but you are right - it does not show the student name. As far as I know, but I'm not the expert on it here at Turnitin, it is done this way because or privacy issues and intellectual property issues, but don't take my word for it. The best way to get the exact reason is to submit the question to our HelpDesk (www.turnitin.com/help/helpdesk), and they should be able to give you a complete explanation.

I hope this helps.

Thanks,
Dave


In reply to David Wu

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
thanks Dave - yeah - My integration works by using a single instructor for all assignments in the Moodle site. - This "instructor" is the one you set up on the turnitin config page. So all assignments submitted using the integration will be available to all teachers on the moodle site. - but any submitted direct into turnitin or using the "official assignment type" wont.

Note: with some of the older code I wrote, there was a check to see if the user was a student or an "instructor" when returning the report which was failing and was always logging in as the instructor - make sure you're using the latest version of the code available from the modules and plugins database.

In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Wen Hao Chuang -
Hi Dan, I just double checked with the 2.0 dev core codes, but I didn't find this tii patch being included in the core. Do you know that it will go into 2.0 core for sure or it is still in discussion? According to the wiki that you created (http://docs.moodle.org/en/Turnitin_Integration), you mentioned that "this should be in the Moodle 2.0 release." Have you discussed with Martin D and David Wu (from TurnItIn) about this patch go into 2.0 core? Will this patch be officially supported by TurnItIn.com? Thanks!
In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Hossein Hamam -
Hi Dan,
Thank you for this integration. And thank you all for this discussion and comments.

Currently we are using Moodle 1.9.2, and separately we are using Turnitin, we don't have them integrated. Our faculty members are used to this environment.
We want to use this integration, but our concern is whether there will always be an integration developed for each Moodle version? Later on, if there is no integration lets say for "Moodle 2.3" we don't want to as faculty members to get back to the old way where Moodle and Turnitin are not integrated. Is this integration a personal intitiative, or a commitment from Moodle to have an integration with Turnitin.

Best regards and have a great day!

Hossein
In reply to Hossein Hamam

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Michael Tudor -
In the past there has been a delay between Moodle and the TII integration releases. We had a similiar situation where there were problem with the integration and the staff refused to go back to the old method. Anyway Dan's new version seems to have fixed the issues.

Back to your question, if you look on the moodle development roadmap it looks like the TII integration will eventauly be included into the core moodle release. So every time you upgrade moodle it will be there smile

http://docs.moodle.org/en/Roadmap

(It's under the 'hopefully' section at this stage)


In reply to Hossein Hamam

Turnitin Release available for 1.9 and 1.6

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Everyone,

yes - this integration is planned to go into Moodle 2.0 - I've been waiting for Moodle 2.0 Development to settle a bit, specifically the new File and repository api's before I commit anything to Moodle 2.0 - At Catalyst we have a large range of clients using Turnitin, and it will be in our best interests to keep maintaining it.

I don't know whether Turnitin will "officially" support it at this stage, but I suspect they will in time.

Sussex Uni in the UK have also recently contracted us to provide a 1.6 version of the integration which is now also available (no 1.7 or 1.8 version available at this stage)

The latest versions are available in our Git Repo or in Contrib CVS - which is automatically generated as a zip in the links of the Modules and Plugins database entry here:
http://moodle.org/mod/data/view.php?d=13&rid=1562

NOTE: - the assignment settings have changed a bit, and some new settings are available in the admin > activities > assignment page. You should visit the page and save the settings before using it.
The new Settings in the assignment page allow you to set "default" settings for the Turnitin stuff. It also means you could force all assignments on your site to use turnitin by setting the defaults to "use turnitin" and by removing the capability "enableturnitin" from your teachers.
In reply to Dan Marsden

Re: Turnitin Release available for 1.9 and 1.6

by David Wu -
Hi all,

At this point, we at Turnitin are delighted to hear that it will be in the core code of Moodle 2.0.
We can't support it right now, as we haven't had a chance to take a look at how Dan has coded things and got things to work, but as I've mentioned to Dan in the past, we'd definitely love to collaborate with him to work on this patch/integration and get it as best as possible. It's been a little tough getting some project time to do so, but I'm hopeful that we can soon and keep it an ongoing thing with support from the community as well.

Thanks,
Dave
In reply to Dan Marsden

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by laure pillet -

Hi Dan,

i am very interested in using your Turnitin plugin. the problem is that i have no idea how to install it in my Moodle installation. can you please shortly explain where to copy which files in the Moodle installlation. Thank you very much for all.

Laure.

In reply to Geoffrey Freelander

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Jason Cashel -
Hi Dan,
This is what I am seeing as well.

Clean install.

I have the Administration module form to enter the Turnitin details. When I get to the course I don't have the Turnitin details.

I think this would function it I take one of the old zips, install it and then upgrade it (perhaps with the update as you suggest).

Thanks,
Jason


In reply to Jason Cashel

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Warren Bez -
Hi and Thank you for all the work on this.

I have been trying to download this module for a couple of days now and nothing is happening. In multiple browsers and locations I get a constant loading icon in firefox and safrai, but no file. I tried to download the file from this forum as well as from the mudule page, no luck.

Any help greatly appreciated.

Warren
In reply to Warren Bez

Re: Turnitin Release V1.0 for Moodle 1.9.2+

by Warren Bez -
Disregard previous post, must have been firewall setting. Is there an installation guide, i am assuming that i just copy the files to the appropriate directories. hopefully that is correct.

Thanks

Warren
In reply to Dan Marsden

Configuring Moodle plugin

by Mark Nichols -
Hi Dan,

Mark here from Laidlaw... you have installed the Moodle plugin for us and I have a 30 day trial with Turnitin, but I'm having difficulty getting the plugin to work. My confusion is to do with step 2.7, as the error message I get makes reference to the "user that does not already exist in your Turnitin account":

error trying to open Turnitin XML file!https://api.turnitin.com/api.asp?username=odmoses&uem=odmoses@lcstudent.ac.nz&ufn=OD&uln=Moses&uid=odmoses&utp=2&cid=323201_1&ctl=323201_1&fcmd=2&fid=1&encrypt=0&diagnostic=0&tem=odmoses@lcstudent.ac.nz&upw=&cpw=&ced=&dtdue=&dtstart=&newassign=&newupw=&oid=&pfn=&pln=&ptl=&ptype=&said=&assignid=&assign=&gmtime=20080907231&aid=52912&dis=1&version=Moodle_19&md5=886957e6bd750876eddbf99dfa9c13b3&;

In the case here I tried to make use of ODMoses, a test dummy in our Moodle system. How is the user in step 2.7 supposed to be configured? What rights, if any, do they need to have in our Moodle site? Or is it required only from the Turnitin end? Our secret key and other details have been entered as instructed, step 2.7 seems to be the odd one.

Hope you can help,

Mark.
In reply to Mark Nichols

Re: Configuring Moodle plugin

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Mark,

I've had a quick look at your site and I don't see that error - can you please open a WR with us, and let me know the exact place you recieve this error? - a screenshot could help.

thanks,

Dan
In reply to Dan Marsden

Re: Configuring Moodle plugin

by Bruce Webster -
I'm in charge of a moodle trial here at University of Canterbury - hopefully to migrate from Blackboard next year.
I just put your Moodle2 with TII (http://git.catalyst.net.nz/gw?p=moodle-r2.git;a=snapshot;h=f24e404bafef25d946422741d23ac532720366ff;sf=tgz)
on my local machine. Good work.

I set up TII but when I try to add an assignment with 'Use Turnitin Submission', I get the same problem as Mark above:
error trying to open Turnitin XML file!https://api.turnitin.com/api.asp?username=ucm2tii&uem=bruce.webster@...

- Moodle can download remote http files. RSS feeds come in OK.
- I get all OK checks in Server Environment
- If I manually try to get the above URL in my browser, I get a success response.
<?xml version="1.0" encoding="UTF-8"?>Successful!1344142911

- With debugging I get:
failed with: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:func(144):reason(134) (60)

OR if I try using a web proxy I get a failure on proxy connect.

So it says it is a SSL certificate problem rather than a TII configuration problem.
In reply to Bruce Webster

Re: Configuring Moodle plugin

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Bruce - this is a pretty common problem, it's because newer versions of PHP have a newer version of Curl - and newer versions of Curl no longer include a default ca cert package - you must install it separately - see this post above:
http://moodle.org/mod/forum/discuss.php?d=98199#p445818

if you're using ubuntu, it might be as simple as running something like
apt-get install ca-certificates

however other types of servers may require a bit more effort.
In reply to Dan Marsden

Re: Configuring Moodle plugin

by Bruce Webster -
Hi Dan,
I think I've got it working right now - stuff is showing up in Turnitin.

Here's a problem I had though - when adding an assignment it was entering a row in the assignment table but then dying on turnitin communication before linking the resource (and just giving me a totally empty page).

I dug into tii_get_xml() and echo-ed out the result from turnitin to discover the error (222 turnitin user email already existed).

You need some error handling there - both to report TII errors and to stop the assignment table filling up with orphaned junk.

-Bruce.

In reply to Bruce Webster

Re: Configuring Moodle plugin

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Bruce,

sounds like you're using a slightly older version of the integration, there is a newer version available in contrib which wouldn't give this particular issue. I'm still playing with how the errors from turnitin are handled (some additions to this are in our git repo, but haven't made it into contrib cvs quite yet) - specifically what should be displayed to students and teachers when a file returns an error. I hope to make some improvements on this over the next month or so.

thanks,

smile

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Peter Baxter -

I am looking for details on the response codes being returned by tii, I see three are outlined at http://docs.moodle.org/en/Turnitin_administration#Debugging, but there is also a reference to a Turnitin API document that details the error codes.

Can someone point me in the direction of that document?

I am getting a response code of 407 for some of the files submitted and am curious as to what the problem is.

In reply to Peter Baxter

Re: Turnitin Integration beta release!

by David Wu -
Hi Peter,

If you provide me with an email address, I can email you the API Document.

The 407 error has an associated message of : Student failed to join or log in to a class in fid 3.

This could be for a number of reasons, but because this is with Dan's version of the integration, and I'm not too familiar with it or how it works, I might not be able to help too much with the error.

Perhaps Dan and I can work together in solving the issue - I can provide the necessary info and answer questions on the Turnitin side and Dan can do the same for the integration code.

Let me know.

Thanks,
Dave
In reply to David Wu

Re: Turnitin Integration beta release!

by Peter Baxter -

Thanks Dave, you could send a copy to "pbaxter AT acadiau DOT ca"

In reply to Peter Baxter

Re: Turnitin Integration beta release!

by Peter Baxter -
I just did an update of the tii_files table setting tiicode='pending' where tiicode='407'.  The next time the cron ran all the tiicodes came back as success, save for one open office document which was set to code 1009, which I'm guessing might mean open office format isn't supported by tii?
In reply to Peter Baxter

Re: Turnitin Integration beta release!

by David Wu -
If open office uses it's own format and not the standard .doc format, then yes, at this point, we don't support that format.
We are looking to add that format in the future though.

Thanks,
Dave

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Peter Baxter -

OK, so when I configured TII I set the email address of the "global teacher" per point 2.7 at http://docs.moodle.org/en/Turnitin_administration#Global_Configuration_of_Turnitin

However, this seems like it is going to be problematic (and by problematic I mean more work for me smile ) as "global teacher" just received the following email...

From: John Q Professor
Sent: Monday, September 29, 2008 12:21 PM
To: "Global Teacher"
Subject: Re: Turnitin Paper Request

Yes.

John Q Professor, PhD, CEP, CSCS
Associate Professor
 
-----Original Message-----
From: noreply@turnitin.com [mailto:noreply@turnitin.com]
Sent: Monday, September 29, 2008 10:57 AM
To: John Q Professor
Subject: Turnitin Paper Request

Dear John Q Professor,

Turnitin is forwarding this request on behalf of "Global Teacher", an instructor at INSTITUTION_NAME. This instructor requests your permission to view the paper, PAPER_NAME, submitted to your COURSE_NAME_A class at INSTITUTION_NAME on 01/01/01. This instructor has found a 10% match to this paper in a paper submitted to his or her COURSE_NAME_B class. To grant the instructor permission to view the paper, please reply to this e-mail and the paper (included below) will be forwarded to the instructor.

Sincerely,

Turnitin

--------------Begin Paper--------------

BODY_OF_PAPER

So basically now I have to go to COURSE_NAME_B and figure out who the real instructor is and forward this message along.  I suspect this situation is arising because we used TurnItIn for a while before we were using Moodle.

Is this only an issue for papers that were saved before we started using the integration, or will this be an ongoing issue?

In reply to Peter Baxter

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Yes - AFAIK - Turnitin only allows an instructor to see papers submitted to it's own courses/assignments.

As the integration uses a new "global instructor" - you get this behavior. You could "try" to use the same global instructor as you have used in the past, although it may not like it either. Make sure you have the latest version of the code too, there have been a few changes that will improve things a bit. (make sure you re-save the settings on the turnitin settings page after upgrading too)

I wonder if Turnitin might be able to solve this long term for you by shifting all the old assignments/classes under the new instructor - you could try contacting them to ask.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Maher Hassanieah -
Hello Dan!!

I am running Moodle 1.9.3 on a linux server, i downloaded the plugin and installed it. when trying to test it i got an error. so before i start analyzing the error can you send me some detailed steps of how to install. Just in case i made a mistake somewhere.
If everything was fine on that end then i shall dwell on the error..

Cheers!!!
In reply to Maher Hassanieah

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
see:
http://docs.moodle.org/en/Turnitin_administration#Global_Configuration_of_Turnitin

perhaps if you gave more information about the error you received then people might be able to help further. simply stating "I got an error" is not really enough for us to be able to help.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Maher Hassanieah -
Dear Dan,

I was trying to figure out the error myself by ruling out various reasons for it. this is why i asked for the first step which is installation; anyways i will provide you with detailed description of the steps i performed and of the error i got.
First i got the zip file and put it in the moodle/mod/ folder and i unzipped it. i got the following folders:
admin , lang, lib, local , mod

then i took the contents of the each of the above folders and placed them in their respective positions (ex: contents of the admin folder in the admin folder, etc..) except for the local folder where i had to keep it in place, and i had to copy the file version.php from the mod/assignment folder and put it inside in the turnitin folder. so the final result of the turnitin folder is the following:
version.php and the folder local.

after that, in the moodle site i was able to see in the Site Administration Block under Modules/Activities, Turnitin and Turnitin errors.
Then i followed the steps that you have put to configure turnitin and i did the configuration and pressed Save changes. i got the following (see attached picture)

So if i have done anything wrong in the installation please let me know, if not then i would appreciate any suggestions to try to fix the error. If you need any further info please let me know.

Cheers!!
Attachment error.jpg
In reply to Maher Hassanieah

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
cool. - there are 2 issues here....

1st - there should be no "turnitin" "folder" inside your site.

all the steps regarding copying in the files look ok, except the local folder - it should just be copied into the root of your moodle site. (and you shouldn't copy any files from other folders into the local folder.

eg moodlesite.com/local

This would have caused issues later on down the track.

2nd issue is the "error trying to open Turnitin XML"
I'm guessing this is related to a firewall or an SSL key issue.

Turn developer debug and display errors on in admin >server > debugging and try to save that page again. - hopefully it should display some more info about the error.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Maher Hassanieah -
Dan,
i did what you exactly what you suggested, i got now the following error (check attached image).
Just to let you know that https is already enabled on the system. my guess is that i need to configure CURL, are there any particular settings that i need to put to point to the certificate.
If my guess is wrong, what do you suggest??!!!

Thnx for everything!!

Cheers!
Attachment error6.jpg
In reply to Maher Hassanieah

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
how you fix this depends on the OS you are using - see the posts in this thread above regarding curl
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Maher Hassanieah -
Hey Dan!!!

I was able to fix CURL .. now i got this new error...

Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: Entity: line 1: parser error : Start tag expected, '<' not found in /web/moodle19TI/lib/turnitinlib.php on line 175

Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: HTTP/1.0 200 OK in /web/moodle19TI/lib/turnitinlib.php on line 175

Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: ^ in /web/moodle19TI/lib/turnitinlib.php on line 175

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /web/moodle19TI/lib/turnitinlib.php:175 Stack trace: #0 /web/moodle19TI/lib/turnitinlib.php(175): SimpleXMLElement->__construct('HTTP/1.0 200 OK...') #1 /web/moodle19TI/lib/turnitinlib.php(216): tii_get_xml('https://api.tur...') #2 /web/moodle19TI/admin/turnitin.php(68): tii_post_to_api(Array, 11, 'GET', '', false) #3 {main} thrown in /web/moodle19TI/lib/turnitinlib.php on line 175


Can you tell me anything about this error?
In reply to Maher Hassanieah

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
check out: http://tracker.moodle.org/browse/MDL-17320

sounds like it's the same issue (also mentioned in this discussion thread.)
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Maher Hassanieah -
Dan!

I got the patch that is found in the bug tracker and i applied it. i still have the same error.
Our Moodle server goes through our proxy server bypassing authentication.

is there a final patch, as i saw the bug tracker ticket is still open?

What do you suggest?


Thnx,

In reply to Maher Hassanieah

Re: Turnitin Integration beta release!

by Maher Hassanieah -
Dan!! Finally!!! I got Turnitin installed and got no errors on installation (i have developer debugging on).

But i am having problems with submitting the assignments to turnitin.
i ran the cron.php manually and here is what i am getting

sending Turnitin files
could not send a file, as class and assignment could not be created
sent 0 files
getting Turnitin scores
received 0 new scores
knowing that there is a paper submitted and i can find it in the mdl_tii_files
in the database

do you have any clue what is causing this and how can i make it work?
thnx!!! waiting for your reply,

Maher
In reply to Maher Hassanieah

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
that's a weird error - my guess is that theres a record in tii_files that has an invalid course, module or instance id. try deleting all records from tii_files and create a new assignment in your course and try submitting there.

I'll add a note to myself to improve the debugging/error checking around this.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Paolo Oprandi -
Hi Dan,

Had a couple of issue with the plugin which was due to the way people set up the assignment module. They tended to have a submission due date, but then allow late submission. The late submitted essays were then returned a TII code 1000. I see from the code that you have put:

if (!empty($module->timedue)) {
$tii['dtdue'] = gmdate('Ymd', $module->timedue);
}

But shouldn't it in fact be:

if (!empty($module->timedue) && !empty($module->resubmit)) {

Then I also noticed that you have put:

else {
$tii['dtdue'] = gmdate('Ymd', time()+ (30 * 24 * 60 * 60)); //set to 30 days in future if not set by the module.
}

But isn't that a bit short given that you risk being given an unrevertable 1000 code from TII?

Which leads on to my second poiint about the plugin, which is that it returns the TII score that TII gives it initially, but a tutor can modify that score by discluding similarities with certain documents and discluding bibliography and quoted. I have therefore given tutors the option of refreshing their similarity score after they have made the necessary changes. This refresh (new call to tii_get_score) does not change the due date though, which otherwise would be a potential solution to my first problem.

Does that make sense?

cheers,

Paolo
In reply to Paolo Oprandi

Re: Turnitin Integration beta release!

by Paolo Oprandi -
Hi again,
Is it possible to go in to Turnitin directly as my Moodleuser (in order to change the TII assignment due date)? If so, I don't appear to have my TII password. I can request a password, but if I do will my Moodle still be able to authenticate? I am holding back on testing this as I don't want to mess up my TII account.
Thanks.
Paolo
In reply to Paolo Oprandi

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Paolo,

sounds like it's time for me to merge a lot of the changes I've put into the 1.9 version back into the 1.6 version of the integration - Most of the things you've asked about have either been fixed or have been added in the latest version of the 1.9 version. - If you request the password for the global teacher account Moodle will be able to authenticate fine as it doesn't use the teacher accounts password, but uses the Account ID and secret key entered into the admin interface for authenticating. The 1.9 version of the plugin has a link on the admin page that auto-logs the user into turnitin (without having to know the username and password)
I didn't know that tutors could modify the similarity score displayed to students - can you explain a bit more about how that works?

thanks,

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Paolo Oprandi -
Hi Dan,

Basically Turnitin checks similarities in bibliographies and in parts of your essay which are quoted (surrounded by quotes). You have the option to disclude those similarities and this can change your similarity score. Further to this, in one of the views of your Turnitin report you can chose to not check against one or more documents for similarities (for example if you know the student has put up the essay in other course and that is fine). Not checking for similarities in any given document can change the similarity score too. However, obviously none of these changes in similarity score aren't reflected in Moodle as it only gets the score once.

I can send screen shots if it is helpful.

Hope you are enjoying summer down there in NZ!!! Its cold down here!

All the best,
Paolo
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Matthew McAndrews -
HI Dan!

I am having a little trouble with the TII module.

I am running Moodle 1.9.3+

I installed all of the files into the proper folders, and created the /local folder in the root folder and copied all of the /local files in there.

I had no problem setting up the administrative parameters of the module.

When I create an assignment in a course, it gives me all of the correct options - I can enable turnitin, etc.

When I try to submit an assignment, it looks like it doesn't send anything to turnitin. The submissions page has no information about turnitin reports at all - it's just the standard submission page. The student has no way of seeing the turnitin reports either.

I went to look for mdl_tii_files, but I couldn't find it in my sql files. It looks like it wasn't created.

any advice?

Matt McAndrews
In reply to Matthew McAndrews

Re: Turnitin Integration beta release!

by Jason Cashel -
Hi Matt,
It is the Moodle cron process that sends the files and receives the Similarity scores from Tii. If you run that manually do you see and Tii sending or receiving?

Jason
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Matthew McAndrews -
Hey Jason,

Thanks for getting back to me!

Well, something was wrong with my cron jobs, but I fixed it.

However, now that they're running smoothly, the cron reports state:

sending Turnitin files
sent 0 files
getting Turnitin scores
received 0 new scores

Even though there are paper that have been submitted to the course and the professor has approved turnitin reports.

Matt
In reply to Matthew McAndrews

Re: Turnitin Integration beta release!

by Jason Cashel -
I am not sure how the queuing works. I imagine that it is possible that the system thinks it has already sent the assignments to Tii, but since it hasn't is receiving nothing back.

If you submit a new assignment does this happen still?

Jason
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Matthew McAndrews -
Yes, I have even created new assignments, and submitted assignments to the new assignments from a student account.

2 red flags:

1. I can't find mdl_tii_files

2. The grading interface makes no mention of tii - no column for score reports.

It's weird, there are no error messages, the cron job is now working, I have a valid account at TII, the student receives the message on the submission page that all submissions will go through Turn It In plagiarism software...

PS - does anyone have a screenshot of what the grading interface does look like when tii works?

Thanks!

Matt McAndrews
In reply to Matthew McAndrews

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
the missing mdl_tii_files will be the issue..

when a file is submitted to Moodle, an entry to mdl_tii_files will take place (if you have developer debug and display errors on - in admin > server > debugging) it will likely display an error when a file is uploaded saying that the table doesn't exist. (errors will also likely appear on the admin/cron.php page when run with display errors turned on)

the code that creates the table is in local/db/upgrade.php - it sounds like this code didn't run.

you should also check to make sure there are 3 new columns in the mdl_assignment table (use_tii_submission, tii_show_student_score, tii_show_student_report)

If you have previously installed other files into the local directory - the upgrade scripts may not run depending on the date in your local/version.php from any other changes.

The grading interface doesn't change all that much - there isn't an extra column, it just displays some extra text beside the name of each file.

hope that helps!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Matthew McAndrews -
It Works!!!

The reason the table wasn't created was because I had a version mismatch. therefore, since the tii__files table creation was based upon a version check, the version mismatch messed it all up.

I upgraded moodle to the latest stable build, and resolved the mismatch.

THANK YOU! This is very exciting. My faculty are going to be very happy! This is one of the primary reasons we chose to use Moodle, and it looks like we can have it going for its first 'trial' semester in January!

Thanks for your help, and the great plugin. I'm looking forward to version 2.0 as well!

Matt McAndrews
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Chapman -

Dan

I've installed the module on W2K3 with Apache and apparently connected properly to the TII site. However, none of the assignments are actually being submitted. I have noticed:

mdl_tii_files table never gets any data in it.

The mdl_assignment table does not have the fields use_tii_submission, tii_show_student_score and tii_show_student_report.

This makes me think that some update hasn't been applied. In looking through your mod's files, I saw an upgrade.php file that goes in mod/assignment/db which appears to contain the code to upgrade this table, but I can't figure out how to get it run. Our moodle version is 20081013 so I figure it is too new.

How can I get these upgrades in place?

Andrew

In reply to Andrew Chapman

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Andrew,

easiest solution would be to just add the columns manually to the mdl_assignment table - they are all integers with a size of 2, default of 0 and not null.

also - the files are sent via cron, so if cron isn't running, then the files won't be sent.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Chapman -

Thanks Dan, that fixed it. Now (of course) the problem gets a bit trickier. That worked on my test Moodle installation (v 1.9.2+). When I installed it on our production Moodle (v 1.9.3), things happened differently: all the tables updated automatically this time, so no manual creations required, and submissions to Turnitin are working properly. But now apache crashes sporadically, without much indication as to why. We are running apache as a service on Windows 2003. The application log says:

Faulting application apache.exe, version 2.2.2.0, faulting module ntdll.dll, version 5.2.3790.3959, fault address 0x000417af.

And the system log says:

The Apache2 service terminated unexpectedly.

I can't find too many others having these errors. My guess is that something in the database is not configured correctly, but what! Any suggestions as to how I can track this down?

In reply to Andrew Chapman

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
I'd try upgrading Apache first to see if that makes any difference...
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Chapman -

Thanks Dan. I altered the httpd.conf parameter "MaxRequestsPerChild" to 0, and the errors have stopped. I read somewhere that this is the preferred settings for Windows servers. Anyway it seems to be working now, and the server utilisation doesn't seem to be getting out of control. Your Turnitin mod appears to be working nicely.

There was one other side effect of the installation of the Turnitin mod: a couple of the management menus now have items listed twice.

Modules
Activities
Manage activities
Assignment
Chat
Database
Forum
Glossary
Hot Potatoes Quiz
Resource
SCORM/AICC
Turnitin
Turnitin Errors
Manage activities
Assignment
etc...

Only Turnitin and Turnitin Errors are not repeated, and the repeats begin straight after these entries.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi Dan

I get the following return code:

  • 224 Could not verify user as primary instructor for this course

What does this mean?

Cheers

Amdrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
ummm...where does this error appear? - do any errors display on the admin >activities >turnitin page when you save the page? (make sure you have developer debug and dispaly errors turned on in admin > server >debugging)
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

I have debugging turned on. The error appears when we run the cron job to submit the assignment to Turnitin.

There are no errors when I save the info on the activities > Turnitin page. The user account was accepted and created successfully at turnitin.

Cheers

Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Do you have more than one Moodle site sharing the same turntin account and key? - is it possible that a course has already been created with the same name and has been assigned to a different teacher account?

Try changing the "Course Prefix" on the Turntin Configuration page in Admin > Activities
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Ashley Holman -
Hi Dan,

Regarding the git mdl19-turnitin branch, I wasn't able to do a simple merge into MOODLE_19_STABLE because your branch contains some additional commits from the mdl19-local branch. These seem to be some Catalyst customisations like disabling scheduled backups, adding some modules + CLI installer etc. So I had to do a rebase --interactive and pick out just your turnitin work, which resulted in numerous merge conflicts (wasn't too much work though). I was wondering if you would be able to provide a clean rebase onto MOODLE_19_STABLE so that I'd be able to just do a 'git pull' from your branch every time you've got some updates.

Many thanks for your work on this, I will certainly test and give feedback where possible.

Thanks
Ashley
In reply to Ashley Holman

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Thanks Ashley - I created it based on the wrong branch in our repo, so I've done a rebase on MOODLE_19_STABLE - it does mean anyone currently tracking it will get big issues next time they pull it, but it shouldn't have contained all that other "noise" in the first place!

I'd suggest people delete their existing branch and pull it again.

thanks,

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Maher Hassanieah -
Dan,

The turnitin plug-in is finally installed properly and no problems i have no a problem in sending the files.

2 cases and 1 problem.
  1. When i run the cron the manually the files are sent and i get a score and report everything in this case is working properly.
  2. When the cron runs automatically (every 5 mins) no files are sent. it gives me Sending Turnitin files and then nothing it just cuts down.
  3. When i installed the turnitin on my test server the single upload of files was working properly and now on the live server it is not. When files are uploaded to the system using single upload of files (and turnitin is enabled of course). nothing is inserted in the mdl_tii_files table. this problem is independent of the cron problem.
P.S.: I am running Moodle 1.9.4 and my linux environment is RHEL 5.1 and i have the latest version of the turnitin. i got it from the cvs.

Thanks in advance for all your help.
In reply to Maher Hassanieah

Re: Turnitin Integration beta release!

by A. H. -
Dan,

I further tested what Maher mentioned in his 3rd point. Below is what i got:

When you upload a file to the assignment type "Upload Single", you only get a page saying "File Uploaded Successfully" with OUT the " Continue Button". You will have to click on the breadcrumbs to go back to the previous page. In this case, you dont see the entry added in the tii_files table.

If you go back in and upload the file again, thus replacing the file you previously uploaded, you will get "Successfully Uploaded" AND the "Continue Button". Click on Continue and you will see the record added to the tii_files table.

This problem is in the mod/assignment/upload.php file as i see in the URL.

Any idea why this is happening?Same case on both real and testing server though we updated today to the latest version found on CVS.

thank you,
amer
In reply to A. H.

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
yeah - that's a bug - I'll push through an update into CVS and Git this morning that will fix it up!

thanks for the report!

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Maher Hassanieah -
Dan!!
To follow up on Amer's post, everything is working well with us. Only one glitch.
In one course the turnitin plug-in is not working: i am receiving this error in the cron

"Error: could not create class and assign global instructor TIICODE:

could not send a file, as class and assignment could not be created"


in all the other courses the plugin is working fine. I created a new course for the instructor whose course was creating this error and everything worked fine.
Do you have any idea about what happened? For we are afraid that it happens in other courses and creating new ones will not be as easy.
Thnx!
Maher,
In reply to Maher Hassanieah

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Maher,

I can't tell exactly what the issue is as you haven't provided the TIICODE displayed in the error - this is the response from Turnitin.

I suspect that a course with the same name exists within your Turnitin Account under a different Teacher account. - Have you changed the global teacher account used without changing the course prefix?

If you change the global teacher account, then you must change the course prefix.

hope that helps!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hello guys,

The Turnitin and Moodle integration was working fine, until two students got an error: "TII error: 401".

The 401 error is documented as: unauthorized access - user exists, but does not belong to correct primary account ID or sub-account ID, do not execute function"

Please can anyone advise what the problem might be? This was their first submission to Turnitin using this integration.

Thanks for your help!
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by David Wu -
Hi Hossein,

This particular problem would occur for students or users that have used Turnitin before through either directly through the native Turnitin website or through another integration that was part of a different institution/account than the one that is being used through your current integration.

If you can give me the names and email addresses of those students and the account ID of your current institution, we should be able to investigate and clear that up for you.

Thanks,
Dave

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jo Matthews -
I've unzipped the download for moodle 1.9 but not sure where to copy all the files. I'm assuming I just copy admin, lang, lib and mod to my moodle directory but where do I copy the files in the local directory?
In reply to Jo Matthews

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Jo,

the local directory just sits within your moodle webroot just copy it straight in

so your moodle site will look a bit like this:

moodle/config.php
moodle/mod
moodle/lang
moodle/local

You can see how it all fits together by looking at the git branch here (click on the "tree" link:
http://git.catalyst.net.nz/gw?p=moodle-r2.git;a=shortlog;h=refs/heads/mdl19-turnitin

hope that helps!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jo Matthews -

Thanks for the info but when I try to load moodle/index.php, I get redirected to moodle/admin/index.php and I get the following error message displayed:

Fatal error: Cannot redeclare assignment_get_extra_capabilities() (previously declared in C:\xampp\htdocs\moodleseattle\mod\assignment\lib.php:3133) in C:\xampp\htdocs\moodleseattle\mod\assignment\lib.php on line 3158 Call Stack: 0.0029 345568 1. {main}() C:\xampp\htdocs\moodleseattle\admin\index.php:0 0.2574 21163392 2. upgrade_activity_modules() C:\xampp\htdocs\moodleseattle\admin\index.php:433

Any ideas?

In reply to Jo Matthews

Re: Turnitin Integration beta release!

by Jo Matthews -
Managed to resolve that error message. I noticed that the function assignment_get_extra_capabilities()  in mod/assignment/lib.php was in there twice.
In reply to Jo Matthews

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
good spotting! - I didn't merge that patch very well! - I've fixed that in CVS - thanks for the report!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

We've got a whole bunch of students enrolled in a class who are getting a similarity reports but then we are also getting a group of students enrolled in exactly the same way, in the same class, but are getting a return tii code: 407 Student failed to join or log in to a class in fid 3. There doesn't appear to be any differences in the students' record. What causes the submission to reject some but accept the others?

Anyone have any idea as to how we go about fixing this?

Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by David Wu -
Hi Andrew,

What is your Turnitin account ID?

That would help in trying to investigate what's going on.

Also, are you using the integration that was developed by Turnitin or by Dan Marsden?

Thanks,
Dave
In reply to David Wu

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi David

We are using the integration provided by Dan Marsden. However I will download the latest updates as suggested by Dan which will hopefully fix the problem.

Cheers Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Andrew,

If you're using the integration - there was a bug that was causing 407 errors and you should grab the latest copy of the integration - see my blog post here for release notes:
http://danmarsden.com/blog/2009/03/01/new-version-of-turnitin-integration/
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi Dan - thanks. Will download the fixes as suggested and give it a go.

Cheers

Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Paolo Oprandi -
Hey Dan

How are you?

I am upgrading to 1.9!

I customised my moodle 1.6 version so that once a student had uploaded a file they could see a TII score was pending and that they should return later. This seems like a sensible usability feature. Any chance somethng like this could be integrated into the 1.9 version?

All the best,

Paolo
In reply to Paolo Oprandi

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Paolo,

great to hear about the upgrade!

I've wanted to add this for a while, - send me through a patch and I'll definately push it into the 1.9 version!

thanks!

Dan
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Donnie Jones -
I'm getting the 407 error as well. Though, I'm not too sure what I'm doing. Basically, I have a test student that I created, and submitted an assignment from him. Then I ran the cron and got this error. I'm not sure if I need to do any managing/creation of accounts through turnitin.com.

I was just going to point out that when viewing submissions, and I see that 407 error, the link to the error descriptions needs to be fixed. Right now, it's pointing to a path on my domain, i.e. http://mydomain.com/en/Turnitin_errors and it needs to point to http://docs.moodle.org/en/Turnitin_errors

I dont know if this is a problem with my configuration either. But I'm using Moodle 1.9 and not sure which version of the TII integration.

**Edit

I created another assignment and submitted with the same test student, and this time it seemed to work. I received a similarity report.
In reply to Donnie Jones

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Donnie,

please grab a new copy of the integration and install it on your site - it will fix the 407 issue

the incorrect link is a config issue on your site. go to admin > Appearance > Moodle Docs and reset the docroot setting to be http://docs.moodle.org

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi Dan

The latest install fixed my 407 problem. However we have a new issue... students who have submitted their assignment and received a similarity report cannot seem to see the similarity report link next to their submission. The teacher however, can see it.

Is this a known issue? Do I need to grab another update?

cheers... Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
have you checked the assignment settings to make sure it allows the students to see similarity score & report?
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Frederic Nevers -
Hello,

I'm in the process of upgrading to Moodle 1.9.5 and wondered whether this patch works well in this version (gradebook?). I would appreciate it if anyone could share their experience with me.

I have not yet integrated Turnitin into Moodle as I am in the process of getting the API key from my rep.

I am currently running 1.9.1

Thanks,
Fred
In reply to Frederic Nevers

Re: Turnitin Integration beta release!

by David Binney -

Hi,

I've installed the official Turnitin assignment type and it is functioning correctly however, when I copy the files for your solution, it does not appear in the menu path specified in your documentation.  Is there more to the installation process than copying these files?

Any help would be appreciated...

In reply to David Binney

Re: Turnitin Integration beta release!

by David Wu -
Hi David,

Are you referring to the integration that Dan Marsden has developed or the integration that was developed by Turnitin?

That is important to know so that we know how we can help you.

Thanks,
Dave
In reply to David Wu

Re: Turnitin Integration beta release!

by David Binney -
The integration from Turnitin works fine but I am having trouble with the one created by Dan Marsden. It seems that moodle is not picking up and running the plugin updates as it needs to?

Cheers David
In reply to David Binney

Re: Turnitin Integration beta release!

by David Wu -
Hi David,

Sorry to hear that - I'm not too sure how Dan's integration works in terms of installation/configuration. Hopefully he can help with that.

Thanks,
Dave

In reply to David Binney

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi David,

either you haven't copied the files into place correctly, or have the wrong versions of files.

or - you need to visit the admin page of your site to trigger the upgrade.

hope that helps you on the right track!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Alan Richey -
Dan,

I am having trouble with the plugin. My Moodle installation is 1.9.2+ (Build: 20080730). I have installed the plugin successfully and have activated and setup the plugin in both the Modules -> Activities -> Turnitin panel and Modules -> Assignment panels. The issue is when I try to create an "Advanced uploading of files" assignment, I do not get the option "When should the file be submitted to Turnitin". I get the options "Use Turnitin Submission", "Show Turnitin score to student", and "Show Turnitin report to student". So once I create the assignment, the student can submit assignments just fine, but no Turnitin score or report ever shows up for their document. Any help you can give me would be appreciated.

Alan
In reply to Alan Richey

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
the files are submitted by the cron process - make sure cron is running correctly.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Alan Richey -
Cron wasn't running in my test environment, but I have fixed that now.  It has not solved the issue though.  Any other suggestions?  Can I provide you with any more information?
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi Dan

Quite a number of submissions to Turnitin are coming back with a return code:

1000 - The due date for this assignment has passed. Please see your instructor to request a late submission.

We've tried to rectify the problem by changing the due date on the assignment and resetting the tiicode back to 'pending'. This does not fix the problem at all as it still returns with 1000.

How do we rectify the problem?

Regards

Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
update your code with the latest version of the turnitin code - it's related to a bug I fixed a while back - check out my blog for further details!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -
Thanks mate! Working now approve
In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Frederic Nevers -
Hi

I have a question that might be a bit silly.

I am running moodle 1.9.5 and have tried to install this turnitin integration but was unsuccessful. I used the files from the CVS and simply 'replaced' the 1.9.5 files with those. Is this the right thing to do or do I need to merge the 1.9.5 files with the turnitin files? Is there a way to find the turnitin files already updated for 1.9.5?

Any help with this would be greatly appreciated. We have been using the plugin provided by turnitin and have not been fully satisfied with it.

Cheers,
Fred
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jason Cashel -
Hi Dan and Others,
I have started getting an error with my previously solid Tii - Moodle integration:

sending Turnitin files
Error: could not create assignment in class TIICODE:228
could not send a file, as class and assignment could not be created
Error: could not create assignment in class TIICODE:228
could not send a file, as class and assignment could not be created
sent 0 files
getting Turnitin scores
received 0 new scores
Error 228 does not appear in:
http://docs.moodle.org/en/Turnitin_errors
which goes from 227 to 300.

It seems to me that we cannot create or send for new courses but for old courses it will work and return a score.

Thanks,
Jason
In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Jason Cashel -

We have solved this.

On Turnitin we had 2 courses with the same id:
myacap1601CS1_OL_T209_G1
myacap1601CS1_OL_T209

2 modules on Turnitin (we think) indicates that the module id was renamed, on our Moodle system, after a student submitted an assessment, which is an odd thing for us to do, but it must have been done.

Thanks,
Jason
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Peter Baxter -
Ran into this problem after upgrading from moodle version 1.9.2 to 1.9.5. While I was upgrading the core moodle files I also grabbed the latest TII files.

After the updates users trying to check the TII similarity report were getting an error message "Course module is incorrect".

After a little investigating it turns out the turnitin_api key in the config_plugins table had not been set. (I had looked at the config settings for TII but everything appeared to be correct - however the Turnitin API address defaults to https://api.turnitin.com/api.asp on the form if there is nothing set in the database - which I think is a little misleading). Anyway, everything looking as it should I never bothered to click the "Save changes" button (assuming all the values on the form had come out of the database).

Once I discovered the key wasn't set in the DB it was just a matter of going to the config page and clicking the "Save changes" button and everything was working again. This wouldn't have been an issue on a new install as none of the other fields would have been filled in and the user would quite naturally click the "Save changes" button after filling in the required fields, however on an upgrade the other field values are already filled in so one assumes everything is good to go.

Anyway, if nothing else, hopefully this saves someone having to dig around and figure out where the "Course module is incorrect" error is coming from.




In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Paul Ortman -
I've gotten the patch to work well before, but now it's giving me problems. We use 1.9.5+ on Postgres. I've installed the files from the latest 1.9 zip file and successfully created/modified the appropriate tables in the DB. The global teacher account is correctly created and allows login to the Turnitin site via the link on the admin page. As a teacher I can create a new single file upload assignment and have the Tii options available to me. As a student I can submit to the Tii assignment. However, when cron runs (with full debugging on) SimpleXMLElement dies and does a stack trace as a result of Tii returning an error document. Here's the stack trace:

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/moodle-test/lib/turnitinlib.php:200
Stack trace:
#0 /var/www/moodle-test/lib/turnitinlib.php(200): SimpleXMLElement->__construct('???...')
#1 /var/www/moodle-test/lib/turnitinlib.php(220): tii_post_data(Array, '/var/www/moodle...')
#2 /var/www/moodle-test/lib/turnitinlib.php(423): tii_post_to_api(Array, 51, 'POST', Object(stdClass))
#3 /var/www/moodle-test/admin/cron.php(141): tii_send_files()

Here's what cron outputs:
sending Turnitin files
Success getting user, Class and assignment

(Then the HTML error document is dumped. Nothing of which is really enlightening IMHO.)


The submission in question is just a test Word doc. The data in the mdl_tii_files DB table following the above failed cron run is:

id | course | module | instance | userid | filename | tii | tiicode | tiiscore
----+--------+--------+----------+--------+-------------------+-----+---------+----------
1 | 1351 | 1 | 5932 | 14060 | Lent_One_2009.doc | | 31 | 0

It seems to me like it was successful according to the error code, but some other API call seems to fail and cause the integration code to panic.

Any thoughts Dan? I'm completely stumped. Anything I failed to note?
In reply to Paul Ortman

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
that call uses tii_post_data which unfortunately doesn't use any proxy settings that you may have set in Moodle. - do you use a proxy?

tii_post_data is used as the core moodle functions don't handle posting to a url very well.

you may need to pinhole the Turnitin api url through your firewall - and if you've previously added a pinhole using an IP address instead of api.turnitin.com - i think they recently moved servers and that may be your issue?

otherwise I'd try to see what tii_post_data is getting as a response from turnitin - it's obviously not returning a valid xml file.

hope that helps narrow it down!

let us know how you go!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Paul Ortman -
We have no proxy settings at all. The server is behind a firewall, but the firewall is set to allow through any TCP traffic on 80 (http) and 443 (https) going to the server. Outbound traffic from the server is not limited. Surely there is no need to open up any other ports to the server, right?

The response (at least without the headers) from Tii seems to be a reasonable HTML file, though SimpleXML seems to choke on some embedded JS? Full response is attached as part of the cron output.

In reply to Paul Ortman

Re: Turnitin Integration beta release!

by Paul Ortman -
Okay, figured my testing problem out. The problem was course reuse. Namely, not all of the tii username, tii teacher email, course id_num + tii course prefix, were entirely unique from the original working test. As a result I was running into problems interacting with the Tii online API throwing errors b/c it wouldn't allow duplicate course names belonging to different teacher names. The Administration website for Tii also doesn't allow a person to remove old accounts (it allows you to delete old instructors, but apparently that only hides them from the interface, but does not purge the old records).

It would be really helpful if that were caught and expressed to stderr or stdout by the plugin, but perhaps that is difficult to express from the data handed back by the Tii API?
In reply to Paul Ortman

Re: Turnitin Integration beta release!

by Hossein Hamam -
Dear Paul,

Thank you for sharing this information with us. Is there a way to delete these duplicate course names?

We have two instances, one real, and one testing. The real is still working, but the testing suddenly stopped working, and now I am seeing this error in the cron after I turn debugging on. The weird thing is that if I try to create a third instance, the teacher account will be created (that is the message I receive in Moodle), but when I check in the Turnitin admin side, I see that the teacher is highlighted in pink.

Thank you for you for your time man!
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Paul Ortman -
From what I could tell, no. The Turnitin admin console provides no way to _really_ delete a course or teacher name. I believe that the course name in Tii is really the prefix you choose + the mdl_course.id of the the course. In our case that was "GC_" + 1497 = "GC_1497" Perhaps changing the course prefix would solve the problem, but I could also believe that will break access to any existing Tii assignments. If you've got a true test environment, you might also try changing the tii teacher username and email address. From my testing it seemed to be the email address that determined uniqueness of the account, but I'm not entirely sure.

A while back when I was debugging Tii's self promoted Moodle integration, I requested a test API key/account and they very helpfully provided one. That is currently the account I use when testing from our test Moodle instance. If you want a real test environment you might request one from them.

Good luck.
In reply to Paul Ortman

Re: Turnitin Integration beta release!

by Hossein Hamam -
Dear Paul,

Really thank you for your reply.
So is it now working? You are using the alternative API key/account and it is working without the error?

Thanks!
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Hossein Hamam -
Please note that our live Moodle server is 194 and the integration is working fine. Our problem is with Moodle 195 were we are getting the error message.
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Paul Ortman -
Yeah, things are working well for us now, both on our test and production servers. We have two API key/accounts, one for each server. I created new teacher username, email address, user_prefix and course_prefix in Tii settings (but both servers are the same). I then created a new course on both the test and production servers. In this new test course, I was successful in creating a new Tii assignment, having it analyzed, and seeing the analysis.

Everything is working quite reliably, though our semester is just starting, so it will be interesting to see how it holds up under more serious load.

I've already created a patch (and created a Tracker item CONTRIB-1493) to enhance Dan's patch visually to provide some color-coded feedback. See attached screenshot.

Good luck.
Attachment tii_enhancement_all_course_grades.png
In reply to Paul Ortman

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hi Paul, Thanks again for your reply. I tried with a new API key, but still the same problem. Below is how the record is appearing in the mdl_tii_files table in the database.

Any clue or suggestions to why might this be happening?

Dan any suggestions?
Attachment tii-database.jpg
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Paul Ortman -
I'm really probably not the guy to debug this, but to me it looks like it is never even being sent to Tii (it's still "pending"). When I was running into problems the tiicode was changed to a "success" state, but the cronjob log was showing job failure and not completing.

I think the most useful bit of information you could provide would be to turn debugging all the way up on your test Moodle server, then run the cron job command and capture all the output to a file and then post that output in this forumn. Also then show the above data after the job has run.

Paul
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Hossein,

did you try changing the course prefix as I mentioned in PM? - you cannot have 2 different installs of Moodle using the same API key with the same Course prefix. - The course prefix MUST be different.

see point 6 on:
http://docs.moodle.org/en/Turnitin_administration#Global_Configuration_of_Turnitin

also try re-saving the turnitin administration page to see if any errors appear.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hi Dan,

The integration is working now. As I mentioned before, first we had the integration working with 1.9.4 and with 1.9.5 (same key for both). Then it stopped working for 1.9.5. We troubleshooted the problem, but didn’t find a solution.

Now, we stopped Moodle 1.9.4, so 1.9.5 started working. So our problem is solved.

What remains unanswered for us, is that why was both Moodle 1.9.4 and 1.9.5 working at the beginning and then suddenly one stopped. Second, that we used a different Key for Moodle 1.9.5 and still it didn’t work. I would appreciate if anyone can advice.

Dan, in Moodle 1.9.5 (fresh installation), the mdl_tii_files table still contains all the entires for the submissions in Moodle 1.9.4, i want to check if the integration got those entries from our Turnitin account. So the only way to remove them would be to delete the classes in Turnitin?

Hossein
In reply to Paul Ortman

Re: Turnitin Integration beta release!

by Maher Hassanieah -
I am confirming this issue:The Turnitin Patch was working just fine on both instances 1.9.4. and 1.9.5. i was getting the turnitin scores and the smilarity reports until suddenly it stopped working. I looked closely at the cron to find the following error:

"sending Turnitin files
<br />
<b>Fatal error</b>: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /web/moodle195/lib/turnitinlib.php:200
Stack trace:
#0 /web/moodle195/lib/turnitinlib.php(200): SimpleXMLElement-&gt;__construct('')
#1 /web/moodle195/lib/turnitinlib.php(222): tii_post_data(Array)
#2 /web/moodle195/lib/turnitinlib.php(372): tii_post_to_api(Array, 41, 'POST', '', false, true)
#3 /web/moodle195/admin/cron.php(141): tii_send_files()
#4 {main}
thrown in <b>/web/moodle195/lib/turnitinlib.php</b> on line <b>200</b><br />"

in the 1.9.5 instance the turnitin plugin stopped working and all entries are pending in the mdl_tii_files table

in 1.9.4 only 2 entries are pending in the table while new entries get processed even though the error is still being displayed.

I am working on a Linux environment.

I have submitted a bug on the bug tracker. you can access it here:
http://tracker.moodle.org/browse/MDL-20134
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Steven Ouellette -
Quick question here:

Can this integration submit forum postings (not attached files) to TurnItIn? If so, does it submit 100% of postings?

I am adding more forums to my applied stats classes and this would be a great feature.
In reply to Steven Ouellette

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Steven,

the integration has been designed to make this possible in the future - at the moment it only process submissions to the upload and uploadsingle assignment types, however it could be added to forum posts/online assignments or anywhere else in Moodle where user submissions are handled.

The only caveat is that from memory Turnitin has a limit - something like 100 characters - if the submission is lower than that, it cannot process it.

If you'd like to fund the work to add the functionality to forums, bounce me an e-mail and I could provide a quote!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Steven Ouellette -
The lower limit makes sense.

The other thing I was thinking about was the "essay" question in the quiz module.

I am still trying to get my department to switch to Moodle - they currently use eCollege - but TurnItIn is an integral component of our Student Honor Code process. I will contact you if I get movement on this.
In reply to Steven Ouellette

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
yeah - the essay question would be a logical place to add it!

Don't forget to use your local Moodle Partners - (see http://moodle.com/partners/list/) who are always available to help organisations make decisions about their selection of LMS! smile

(Disclosure: I work for the NZ Moodle Partner Catalyst IT)
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by M S -
Hi Dan,

Thank you for providing this code.

I tried to integrate this on my dev server but it gives me error : "Unable to connect/authenticate to Turnitin - you may have an incorrect Secret Key/Account ID combination or this server cannot connect to the API"

But with this same Secret Key/Account ID it works fine using Turnitin official plugin.
I've read other post suggesting CURL is not successfully connecting to turnitin, however it does connect successfully as it returns this error.

Do you have any other ideas or suggestions that may resolve this issue ?

Thank you for your time.
In reply to M S

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
is your dev server behind a firewall that could be blocking outgoing http requests from your server?
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hi Dan,

Just a note/question about the integration. If an instructor in Moodle opens an originality report, then clicks on preferences and changes these preferences. Then these changes will apply to anyone else using this integration. (Since in Turnitin only one instructor is created for the integration.) This is not a major issue, and the integration is working smoothly with us, but is there away to avoid this?

Best Regards,
Hossein
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
at this stage no.

I've asked if Turnitin can lock down the preferences when the API is being used so that only the settings made within Moodle are able to be changed, but this probably won't be done for a while.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hi Dan,

Thank you for your reply!

There are two things that we faced at my Institution.
  1. In Moodle, if the assignment activity had a long title, then student submissions won't be sent to Turnitin. We simply reduced the title of the assignment, and automatically the student submissions were sent to Turnitin and we got the reports.
  2. If the student's submission had a long title, it would be sent to Turnitin and you would receive and originality report. But it might happen that the columns in submissions page won't fit the title of the submission and the Similarity link. So you won't be able to click on the Similarity link and thus view the originality report.
Best Regards,
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hi Dan,

Is there a way to make the API get and display the word count of the paper next to the "Similarity" link? This way a user will be able to see the percentage and the word count before opening the originality report.

If that is not available, I would appreciate any tips on how to start applying this feature.

Best Regards,
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Paul Ortman -
I'm clearly not Dan, nor do I have any of his expertise, but a quick look at the API from Tii (http://www.turnitin.com/resources/documentation/turnitin/training/API_Manual.pdf) does not lead me to believe you can get a word count of a submission as part of the API. It is entirely possible I've missed something, however, so please take a look at the manual yourself.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Peter Cameron -
Hi,

I'm getting the error: "error trying to open Turnitin XML file", (the XML is saying "Successful! 14603826 11")

(BTW: host added Curlssl and sslwrappers to Apache which fixed things on the test server)

If I turn debuggin on I get '
failed with: error setting certificate verify locations: CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none (77)'

Host checked and said there was no certificate there

An early post, with a different problem, suggested using "
apt-get install ca-certificates"

Does this sound right for us.

Many thanks

peterC
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Chapman -

Hi Dan

We have been using your plugin for quite a while, and it seems to be working nicely. However, we get a lot of Turnitin errors which look like they cannot be deleted from the Turnitin Errors page on Moodle.

But today we received an email from Turnitin proper, who explained:

I am seeing requests coming from your Moodle server to our servers trying to use what it looks like is an integration that was built by Dan Marsden (not supported by Turnitin).

Just wanted to let you know that I'm seeing repeated requests that are all failing in errors. It does not look like the integration is working for you. The particular error is:

Error 228: The assignment with the assignment id that you entered does not belong to the class with the class id you entered. Please check to make sure that you are not using a duplicate assignment ID.

It appears that the unique IDs being used to represent the assignment in our system is not unique, or it has been used before, and thus is creating a conflict on the request.

We are starting to suspect that when a course is copied on our Moodle server, it is somehow resubmitting assignments from that course. I was wondering if you had ever seen similar errors?

Regards

Andrew Chapman

In reply to Andrew Chapman

Re: Turnitin Integration beta release!

by Kym Lawry -

Hi Dan

further to Andrew's comments above - I believe that we have determined the cause of the error.

We have renamed many of our courses (from say Physics 2009 to Physics 2010).  We are then using the same assignments on some occassions.  This means that papers are getting sent to turnitin with the same assignment id as in 2009, but with a different course id. 

Turnitin do not allow this, and respond with an (undocumented within moodle) error code 228.

Given that it seems quite reasonable practice to rename courses but use some old assignments within these courses, it seems necessary to ensure that the assignment id sen to turnitin is truly unique, perhaps by appending the course name to the assignment id? 

There does not seem to be a torrent of complaints about this issue - but it is certainly a problem for us.

Also - on receiving a 228 error from turnitin, these files are not marked as unsuccessful and so deposited in the "error" category, but are in fact attempted to resend every time cron is run.  We currently have about 400 or so files in this category.

On a slightly related matter - is there any way of clearing the list of tii errors listed on the moodle page - other than deleting the entries in the relevant database table?

In reply to Kym Lawry

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Kym,
If you aren't using git then you're on your own at the moment sorry!

I've been working on the 2.0 version of the integration (it should land in Moodle core in the next week or so)

It now uses the Assignment Id as specified in Turntin when updating so should resolve the 228 errors you are seeing. If I get some funding/time I might backport these changes into the 1.9 version at some point.

I've also been thinking about ways of improving the tii errors page and turning it into a more generic reporting interface, but that might not come straight away.

hope that helps - great to hear the feedback!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Andrew Yong -

Hi Dan

Our plugin has been working well all year until last week.

We're been getting numerous 228 errors in our Moodle 1.9 for a newly created course. This is not a copy of a course but a brand new course we have created and the assignments submitted are new assignments. It processed 2 submissions successfully but any subsequent submissions are all now appearing with the Error 228.

Any chances of backporting the fix back to 1.9 as we'll be using 1.9 in 2011?

OR is there a workaround as every assignment that we are submitting is coming back with the same error.

Cheers

Andrew

In reply to Andrew Yong

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

you could try changing the course prefix on the turnitin admin page to see if that works?

I might backport more of those changes to the 1.9 version at some point, but probably only if someone funds the work - flick me an e-mail if this is something you might be able to help with.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Peter Cameron -
Hi,


Will Turnitin's grademark feature work with this plugin? (I want to exploit online marking and rubrics).

If so is there a reasonably straightforward workflow for teachers? I'm not so concerned if marks and comments don't flow back to Moodle. More important is that marker can, starting at Moodle, access submitted papers, use Turnitins facilities to mark, send feedback to students, send marks to admin.

cheers

peterC
In reply to Peter Cameron

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Peter,

the current 1.9 version of this plugin doesn't support grademark, however the 2.0 version I'm testing at the moment does. If I get some funding/time I might backport the changes to the 1.9 version at some point.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by David Monllaó -
Hi Dan,

I'm looking for a diff file for 1.9.whatever but I can't find it, are the integration avaiable as a patch?

In reply to David Monllaó

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi David,

you can relatively quickly generate a diff using our git repo here:
http://git.catalyst.net.nz/gitweb?p=moodle-r2.git;a=shortlog;h=refs/heads/mdl19-turnitin

hope that helps.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by heli g -
I have sort of managed to integrate Turnitin and Moodle so I now see the Similarity percentage (see image below). But I don't see a Full report. Is this all I am supposed to be seeing? What have I missed? A percentage on its own is pretty meaningless...

turnitin screenshot

When I click on the Similarity link it takes me to https://www.turnitin.com/api_error.asp?ec=300... It appears to pick up my computer's IP (not the servers) and shows the following:

API Warning

* Error: 300

Your IP address does not fall within the range of accepted IP addresses as specified by your Turnitin account administrator. Please check with your Turnitin account administrator if your IP address needs to be added as an accepted IP address.

Assistance will be greatly appreciated.

Heli

In reply to heli g

Re: Turnitin Integration beta release!

by Paul Dawson -
Hi all,

iParadigms commissioned us a while ago to create a more deeply integrated plug-in for Moodle, we did this and they have just given us permission to place the code in OS (see tracker).

The approach is different to Dan's, both share the goal of keeping the user in the Moodle workflow and are good for different requirements - let us know what you think.

The activity module supports GradeMark and Turnitin Originality Checking (we still have to implement Moodle Groups) and is compatible with 1.8 and 1.9.

Currently if you are a Turntiin admin you can download it from Turnitin's website along with manuals and config. etc. I have also raised a ticket in the Moodle Tracker to hopefully have it included in contrib.
In reply to Paul Dawson

Re: Turnitin Integration beta release!

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Is this the so called "Direct" or "Basic" integration?

Also, the ticket number would help us to find it. Thanks!
In reply to heli g

Re: Turnitin Integration beta release!

by Chris Blackmore -

Hi all,

I get the same error message as Heli, and wonder if anyone would direct me to a solution. I assume I need to add the IP address of this computer to a list of exceptions? Do we need to do this for all users who will potentially want to access the Turnitin plug-in (this could be problematic, especially if colleagues want to do marking on the move, with differing IP addresses)...?

Thanks,

Chris

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by J B -
Hi

The integration of Turnitin is a much requested feature and we have been looking at it very positively, it seems to have a functionality that will work for us and if it is to be part of Moodle 2 then that is a bonus. I have a couple of questions though:

Is there any plan to introduce "upload a zip" functionality? I realise this may be a special case in the Turnitin system, but it strikes me that it might be possible to manage the zip functionality on the moodle server.

Will there be any new capability introduced like "mod/assignment:turnitin" so that e.g. a class of external (and therefore unlicensed) teachers might not have the option to set up an assignment for TII submission?
In reply to J B

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi James

I haven't got any plans to implement a zip upload that would extract the files and submit individually -but the capability you mention already exists and works as mentioned in the 1.9 integration I wrote and the 2.0 code.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by J B -
Hi Dan,

That's great. I had looked for the capability under assignment settings - found it now. Thanks.
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Hossein Hamam -
Hi Dan,

We are currently using the 1.9 integration. Turnitin is planning to launch new features/services (turnitin2) by the end of August 2010. Do you have any idea if this is going to effect the integration?

Thanks for your time!
In reply to Hossein Hamam

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
Hi Hossein,

The new features shouldn't affect the operation of the existing integration but I've been working on a few improvements to the 1.9 version of the code recently - pulling in features that have been added to the 2.0 versino that I've been working on.

the updated code is available in our git repo here http://git.catalyst.net.nz/gw?p=moodle-r2.git;a=shortlog;h=refs/heads/mdl19-turnitin

..but they haven't had a lot of testing yet - if you do use the latest code let me know how you go and if there are any errors that appear as part of the changes.

the 2.0 codebase removes the old single teacher usercode and uses the actual teachers credentials - this is now possible as Turnitin allow more than a single teacher to be assigned to a course within turnitin.

I'm pretty busy with my head down on getting some 2.0 work done before the release, but will try to write an update on the turnitin work very soon!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Carol Shergold -

Hi Dan

At Sussex University, we're using the Turnitin Integration you developed to offer a formative approach to Turnitin. Students started using the service yesterday.

From the moodle records I can see that in a small number of cases, work that was submitted over 12 hours ago is still flagged with status 31.

When I log in to the Turnitin administration site at submit.ac.uk and view the "inbox" for the assignment we are using, I can see that these records are recorded by turnitin with the file title "-- no submission --"

I'm trying to interpret what might be going on here.

This was not something I observed during our long testing/piloting phase.

If you have got any thoughts I would welcome them.

Many thanks for this useful plugin and for your work in supporting it.

Best wishes

Carol

 

Carol Shergold, E-learning development manager

In reply to Carol Shergold

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

Hi Carol,

it depends where the 31 errors are showing and if you're using the latest version of the code or not - if they are only displaying on the Turnitin errors page in Moodle it might mean that the student has deleted that "version" of the file, so when Moodle tries to send the file it can't find it and it fails - The newest version of the integration has some code on the turnitin errors page that checks all 31 codes to see if the files exist - if not, it clears them from the errors page.

If you are using a newer version of the integration or the errors are appearing on the "view submissions" page in the assignment, you should be able to "reset" those 31 error states on the turnitin errors page in moodle and they should get submitted correctly the 2nd time.

hope that helps/makes sense.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Carol Shergold -

Hi Dan

Thanks for the very fast and helpful response.

I can see from the assignment page that files that have been deleted by students aren't showing up with error 31. In fact, all of the error 31 files appear to have been uploaded during a period of time when there were problems with connectivity on the campus network.

I hadn't looked at the Turnitin errors page before, so thanks for pointing me to that.

I ran the "reset" job for all of files that were in state 31 and all except 1 of them has now been correctly processed.

Thanks again

Best wishes

Carol

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Manoj Sharma -

Hi,

I m trying to integrate this module with moodle2.0, and i get following output when i run cron.php to submit the queue to turnitin.com

please see the attached file. for the output.

Thanks

 

In reply to Manoj Sharma

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

Hi There,

make sure you're using the latest code from here:
https://github.com/danmarsden/moodle-plagiarism_turnitin

If you are - check the date that is being used in Turnitin for the assignment that is created - post the details of the date in turnitin and the date set in your Moodle course here.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jason Cashel -

Hi Dan,

We have just finished an upgrade to the latest version of 1.9 you have on github.

Just to let you know that we had to create and populate plagarism_config manually. Our previous settings had resided in the assignment table from an older version of your plugin.

All is working now.

Thanks,

Jason

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jason Cashel -

Hi Dan,

In the turnitinlin.php file (using the 1.9 version downloaded from github) on lines (approx) 444 and 461 you have:

$tii['dtstart'] = rawurlencode(date('Y-m-d H:i:s', time()+60*60));

It may be slightly different on one of the lines.

This is the code that sets the start date if there is no start date for the assignment.

This sets the start date fot the assignment into the future. Which Tii has a problem with. I have changed mine to say :

$tii['dtstart'] = rawurlencode(date('Y-m-d H:i:s', time()-60*60*24));

So yesterday, which should be ok for the while time zone thing.

All the best,

Jason

In reply to Jason Cashel

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

Hi Jason,

the "in future" setting was made because Turnitin didn't like assignments to be created with a start date prior to it's "creation" time/date - so to prevent this I was fudging the date a bit. But... the latest version of the Turnitin API allows you to "update" a created assignment with a date in the past - so the 2.0 version of the plugin does 2 api calls on assignment creation - the first to create the assignment and then the 2nd call to update the start date to the same as set in Moodle.

you might have issues with "new" assignments not being created with the 1.9 plugin with the start date in the past - (although Turnitin may have fixed their API to allow dates in the past for new assignments - let me know if it all seems to work!)

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Jason Cashel -

Hi Dan,

No date related update here. It seems to be working ok with the date change I made. I will let you know if otherwise.

On line 487 of turnitinlib.php in the 1.9 branch :

$tiixml = turnitin_post_data($tii);

I think this is supposed to be :

$tiixml = tii_post_data($tii);

Thanks,

Jason

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

Hi, 

I'm running into a problem trying to get this plugin to work. I get the following error:

error trying to open plagiarism XML file! (url here)

Debug info: error() is a deprecated function, please call print_error() instead of error()
Stack trace:
  • line 836 of \lib\deprecatedlib.php: moodle_exception thrown
  • line 1274 of \plagiarism\turnitin\lib.php: call to error()
  • line 86 of \plagiarism\turnitin\settings.php: call to plagiarism_get_xml()
If I copy the entire url from the page source, I get a success message: 
<!-- Turnitin API Return Data -->
<returndata>
<rmessage>Successful!</rmessage>
<userid>27101382</userid>
<rcode>11</rcode>
</returndata>

Any ideas what is going on? Thank you in advance!
(I should add: Moodle 2.0.3, running on Windows)
In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

My guess is that there's a firewall or proxy preventing your web server from making the external call - you will either need to ask your sysadmin to add a pinhole to allow your web server to connect to the turntin api url without going through the proxy or you will need to add your proxy information to Moodle under Admin > Server > HTTP

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

Hi Dan, 

There's definitely no proxy there, so it can't be that. We also didn't have any problems using the Turnitin Direct plugin, which (I'm guessing) would also have been impacted if it was a firewall issue? I can certainly talk to my sysad to see if there's anything I'm missing, there, but that seems a bit strange. 

Thanks!

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

check with your sysad to make sure the server can make outgoing http/s requests - Also make sure you have Curl installed on the server - the plugin uses the standard moodle function download_file_content to obtain the content.

good luck!

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

Thanks! Managed to get that one worked out. 

 

But I'm still having problems, alas. My submissions are now failing with a 127 error, which I'm gathering relates to non-unique courses/ids/something? When I log in to turnitin, I'm finding that any course I have set up with an assignment in it is showing up on my list twice - two completely separate instances of the course, with sequential ID numbers. Unfortunately, neither course actually has an assignment in it, and all submissions are failing. 

Any ideas? I tried creating a new test course with a new name, and using a different login from my usual one, but had the same problems with that. 

 

I also found this in the cron:

Starting processing the event queue...
courseexists - don't create
Error: could not create assignment in class statuscode:439
 
439 doesn't seem to be an error on the list.
In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Louise Bennett -

Never mind! Some judicious googling determined that 439 meant I was trying to use a facility that wasn't installed on my account (the whole institutional repository thing, i think). I then got a few more error codes, all of which were easily sorted. 

I'm still getting two courses created in turnitin, but my assignments are now showing up there, as are my submissions. Hurray!

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Louise Bennett -

And... I'm back again. 

The plugin is now working fine, with assignments being uploaded to turnitin, and similarity reports being conducted. The results of those reports, however, are not showing up in moodle - not for teachers, and not for students. Have I missed something extra that I'm supposed to do?

 

I've also noticed that the names of the capabilities are not showing up properly: 

capabilities

I have no idea if that is related, but I thought I'd mention it!

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

whoops - forgot about the string names for caps - will add that later this week - thanks!

Is Cron running regularly? - It must be running so that it can obtain the scores from Turnitin to display to students/teachers?

There's probably a bug in the code causing those duplicate assignments from being created - I'll try to take a look later next week and see if I can track that one down.

thanks for the feedback.

Dan

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

Thanks, Dan! Looks like Cron temporarily halted itself. It's now working perfectly. 

 

One last thing: I read earlier in this thread that you're supposed to end up with a new 'default teacher' type account, which will allow all the teachers to view similarity reports. Is that still so in the Moodle 2 integration? I can't see a way to set that, and at the moment, the links to the reports are failing for everyone except me (my account being the whole the assignments were set up with). Have I missed something obvious? 

 

Thank you so much for all your help so far!

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

yeah - that refers to the old 1.9 plugin.

the 2.0 plugin uses the teachers own account and the Turnitin API has been modified to allow multiple teachers to be allocated to a single course within Turnitin.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

Hi Dan, 


Thanks again!

I'm still having a problem with my teachers being able to look at the similarity reports, though. If they follow the link to 'Login to Turnitin As a teacher' link, they get a user agreement page which I can't get past (you click 'accept', and it just reloads the page). If they try and click on the similarity report, they get a 212 error. 

Any ideas?

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

it sounds like it's not assigning the extra teachers as teachers to the course in Turnitin - can you please try this?

login as a teacher - (not your admin account) - create a "new" assignment and enable turnitin.
login as a student - submit a file
run cron a few times until the report is returned
check to see if the original teacher can access the report
login with a different teacher account, view the submissions page and see if you can see the report?

let me know how you go!

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

The first teacher can definitely see the report, but the second one - the one who didn't create the assignment - definitely can't. So that would definitely suggest that it isn't assigning the teachers. Weird!

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Louise Bennett -

Me again! In addition to the abovementioned problem, I'm now having a new and fun one. 

I'm using the advanced uploading of files assignment type, which I believe should work with this plugin. However, when my students upload their assignments, only one of the documents uploaded is being sent through Turnitin, and I have no control over which one. So - half the students are getting similarity reports for the marking sheet we require them to upload, and some are getting it for their appendices, and... well. Regardless, it's not very useful. 

Any ideas? 

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

werid - sounds like a problem where it's getting the list of files to send - I've got some time planned to spend on this a bit this week - keep an eye on my git repo for updates.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

Awesome, thank you!

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Louise Bennett -

I just upgraded the version I had installed, and I'm now getting a New and Fun error: one of the files is still getting sent to turnitin, and turnitin is generating the report. However, it isn't getting returned to Moodle, and in my cron, I'm getting the following lines:

similarity report not available yet for fileid:198 code:2110
similarity report not available yet for fileid:199 code:2110
similarity report not available yet for fileid:200 code:2110
similarity report not available yet for fileid:201 code:2110
similarity report not available yet for fileid:203 code:2110

There are no files with these ids, however, however (the most recently submitted file is 164), and the test student account that submitted my test attempts has a very standard email address that fits the requirements - it's definitely less than 75 characters. 

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

Hi Louise, 

thanks for all the great feedback - I think I've resolved all the issues you've mentioned - can you please upgrade your code with the latest from my github repo and see if the issues are all sorted?
https://github.com/danmarsden/moodle-plagiarism_turnitin

but.. the bug that you saw where the user agreement form was continually refreshed and you couldn't get past it was related to an issue where the teachers account was being created without assigning it to a course - because it didn't assign the user to a course it left the user as inactive and you will need to visit your turnitin admin interface to "re-send invitation e-mail" for those users that are still in an inactive state - this will only occur for teachers created with the old version of the code. (hope that makes sense)

thanks,

Dan

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

Hi Dan, 

Thank you so much for all your work on this!

Everything now seems to be working fine, with the exception of the issue over uploading multiple files to an advanced file submission assignment type. It looks as though each additional file is just overwriting the last one, so it is only actually processing the last file uploaded, and linking that report to each of the listed files. 

Thanks again!

Louise

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

weird - should be an easy fix though - will take a look at that tonight and push through another update.

thanks,

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Louise Bennett -

Thank you! Very much appreciated. 

In reply to Louise Bennett

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

forgot to update - that last issue should now be resolved with the latest code too - it involved a change on Turnitin's side not the code, so if you already have the latest code it should work for any "new" files.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Mike Wilson -

Hi Dan,

We're getting a strange error with the Turnitin module. I created an Advanced Uploading of Files Assignment in a Moodle courses with Turnitin enabled.

I've been keeping an eye on the cron output for any errors and the first error I see is:

"Error: could not create class and assign global instructor statuscode:2108"

When I check the TurnItIn site I can see a class has been created with the Moodle shortname but the assignment is not created within the class.

I then tried submitted a file from a student account to see if this would push the process on. However when I ran cron manually I see the 2108 error message followed by another:

"could not enrol user in turnitin class code:204"

Status code 11 is displayed on TurnItIn errors page in Moodle.

Any help you can give would be great.

Thanks,

Mike

In reply to Mike Wilson

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

not sure what the 2108 error is - it's not listed in my api docs either - make sure you have the latest code from my repo - there have been quite a few improvements over the past few months - which Moodle version are you running? 1.9.x or 2.x?

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Mike Wilson -

We're on Moodle 2.1.1 and version 2011083102 of the TurnItIn module.

I've never used Git before so I'm trying to teach myself but there's a bit of a learning curve to it.

Thanks again for your help, Mike

In reply to Mike Wilson

Re: Turnitin Integration beta release!

by Mike Wilson -

Bit more info for you. I revisted your blog and downloaded what looks to be the latest zipped version of the Turnitin module (we're now on version 2011111000) from:

http://github.com/danmarsden/moodle-plagiarism_turnitin/zipball/master

I re-tested with a brand new moodle course and assignment but still getting the 2108 error.

I've attached the TurnItIn settings for the latest test I did in case I'm doing something really stupid. These settings are for a 'single file upload' assignment type.

Cheers, Mike

Attachment assignment-settings-turnitin.PNG
In reply to Mike Wilson

Re: Turnitin Integration beta release!

by Mike Wilson -

With Developer Debug Errors turned on the following error is displayed in the cron:

"Fatal error: Call to undefined function turnitin_get_assign_name() in /srv/www/htdocs/moodle/plagiarism/turnitin/lib.php on line 886"

In reply to Mike Wilson

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

whoops - that's a typo in the latest code, should be fixed now.

In reply to Mike Wilson

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

still not sure on the 2108 error though. - have bounced an e-mail to Turnitin devs to find out the cause behind the 2108 - will update you here when I hear back!

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Adam Barbary -

I have installed your Turnitin Plugin, love the integration. I have enabled our account at Turnitin, but I get some interesting results. The files appear to be uploading, and the results are coming back, BUT they are all 0% match. This wouldn't matter if they were original, but I submitted the same document with three different accounts. I have all the repositories turned on, so it should be comparing with other students. Have you seen this before?

Cheers,
Adam

Attachment TooSimilar.png
In reply to Adam Barbary

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
looks strange - what happens when you view the full report? - do all of them show as 0% or does the full report show something different?
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Adam Barbary -

The full report is still no matches. I logged into Turnitin and everything was still 0%. I feel pretty comfortable that this is a TII issue, not the plugin. I'll contact them and see what their response is. Oh, and I like how your name is assigned to the config button in the TII admin smile All the others just get the plugin name. Very special. 

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Adam Barbary -

OK, Spoke to David Wu at Turnitin, and it was all cleared up. What I was unaware of, until now, is that you allow students to overwrite until the due date, the submission is not added to the TII database, hence no match from students in the same class for that submission. Only once the due date passes will the submission be added to the TII database, and a match calculated.

Sorry, my bad.

Adam

In reply to Adam Barbary

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators
random - I didn't know that either - thanks for the update!
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Christos Rodosthenous -

Hello,

 

I installed the turnitin plugin and i et Error: could not create class and assign global instructor statuscode:2108

 

I have moodle Moodle 2.1.2+ (Build: 20111019) and turnitin code: 2011121400

 

Any idea whats going on?

In reply to Christos Rodosthenous

Re: Turnitin Integration beta release!

by Christos Rodosthenous -

This is the message i get when i click Login as Admin from the plagiarism settings page

"The email address needs to conform to Internet Standard RFC822."

In reply to Christos Rodosthenous

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

My guess is that your e-mail address has a + or other symbol in it. - Turnitin doesn't like this and requires the "old" RFC822 standard for all emails.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Christos Rodosthenous -

My email has a dot (.)

 

cr.rodo@domain.com.

 

If i remove the . in the username will it work?

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Leonard Houx -

I just got back from my holidays and have seen a flare-up of these 2108 errors. The users had underscores in their emails, but removing them did not help.

In reply to Leonard Houx

Re: Turnitin Integration beta release!

by Leonard Houx -

I have run some of the emails through an RFC822 email address validator and they were fine. So it is not clear what the actual problem is.

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Leonard Houx -

I contacted Tii about the 2108 errors and they said the plagiarism prevention plugin does not meet Tii's API standards.

They also mentioned that some of the integrations link with Turnitin create pseudo-user email addresses. For example, apparently, some use a feature where the Integration ID number for a user links with the institutional account id number to form a pseudo-email address - 1234_5678@institution.com. Does the plagiarism prevention tool do this? If so, I imagine this may account for the error.

In reply to Leonard Houx

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

the Moodle 2 versions of the plugin use the email address attached to the teacher and the student. older versions (1.9) had a global teacher account that was used but no pseudo email accounts are used.

Average of ratings: Useful (1)
In reply to Dan Marsden

Re: Turnitin Integration beta release!

by David Webber -

Hi Dan,

I've got a site running Moodle 2.2+ (Build: 20111209) and your fantastic  Plagiarism Turnitin module (2011121400). Both the site and the intergration were upgraded to the versions above (from a Moodle 2.05 install) over the course of last weekend, and since then no similarity reports have been received.

The cron task reports 'similarity report not available yet for fileid:XXXX code:415' for a large number of submissions, and the database 'statuscode' for all the corresponding items is set to '51'. Would you have any insight on what may be happening?

Cheers,
David 

In reply to David Webber

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

Hi David,

you might want to grab the latest code again - there was a bug that slipped through on the 14th -fixed on the 15th related to cron - check the commit history for the obvious mistake!

the 415 responses might just be because Turnitin is taking a bit of time or it might be related to the settings within the assignment - if you set the report to not be available until the due date I don't think it generates the report untill that date (the code should probably check this before trying to get it from Turnitin)

let me know how you go!

In reply to Dan Marsden

Re: Turnitin Integration beta release!

by Peter Billingham -

Dan,

We are experiencing identical problems with your great Turnitin module. We are running Moodle 2.2.1+ (Build 20120301).  Fr. Anthony Borrow update the Moodle code and put the latest TII plugin code from git://github.com/danmarsden/moodle-plagiarism_turnitin.git.  He did this on 3/1/12.

It may be coincidental, but TII appeared to stop working at that time.  If I create a new TII assignment, the assignment shows up at Turnitin.com, but the submitted documents do not appear to ever be uploaded, nor the similarity reports created. 

As in David's post, the cron task reports a large number of 'similarity report not available yet for fileid:XXXX code:415'. 

Thank you,

Peter Billingham

 

In reply to Peter Billingham

Re: Turnitin Integration beta release!

by Dan Marsden -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Plugins guardians Picture of Testers Picture of Translators

Hi Peter,

that sounds like this bug: MDL-31028

short term fix is to include filelib.php in cron before the event stuff is processed - longer term fix will require a change to core and a change to the plugin. - I just need to find the time to make the change!

also - make sure you see this:
http://danmarsden.com/blog/2012/03/06/future-of-moodle-turnitin-plugins