Git Product home page Git Product logo

moodle-plagiarism_turnitin's People

Contributors

aferenz avatar alexmorrisnz avatar andrii-ilin avatar aolley avatar avimoto avatar charlottespinks avatar clegg21 avatar danmarsden avatar dwinn avatar hperperidis avatar ip-pauldawson avatar ixiongtii avatar izendegi avatar jack-tii avatar jkerzner avatar jmcgettrick avatar kabalin avatar kenneth-hendricks avatar lucaboesch avatar micaherne avatar nwp90 avatar pauldamiani avatar pauln avatar pdawson-turnitin avatar pdubey2019 avatar sk-unikent avatar sumaiyamannan avatar tomotsuyuki avatar tonyjbutler avatar usqfowlerj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moodle-plagiarism_turnitin's Issues

automatically refresh scores

Is there a way for the Moodle code to regularly ask Turnitin for a list of assignments that have had their originality scores updated due to new sources not available at the time of original submission? Or can we set up some form of automated refresh on the due date of the assignment or after a certain time period since the last assignment was submitted?

eg: last file submitted was 10/5/2015 so automatically refresh all scores within the moodle assignment on the 11/5/2015 - it might also be useful to notify/email the teachers in the course if any significant deviation was found between the first score generated and the new one which would likely suggest a match against someone else in the same class?

Forum Originality Reports Not Pulling Through

PP is not pulling through originality scores for forum posts. The OR is generating but the update_grade call currently excludes all elements that are not assignments.
Need to modify the main if criteria inside update_grade in ajax.php

(re)implement "Log in to TII as teacher" link

The "Log in to TII as teacher" link which Dan Marsden's version of the plagiarism plugin (for the old TII API) adds to the assignment submissions list is/was very useful - is it possible to have this version of the plugin offer a similar link?

Error on Turnitin Assignment creation

Hi All,

Got this message from Moodle upon creating a turnitin assignment.

image

My googling found 1 moodle tracker regarding this issue (https://tracker.moodle.org/browse/CONTRIB-6028) but unresolved.

The error only happened for some courses.

Posting from John from in previous issue ("pending" result after upgrade #6) its look like the class was deleted in Turnitin.

API LOG give the following message :
turnitintooltwo/Could not update Turnitin Class data
Fault Code: unknownobject | File: [dirroot]/mod/turnitintooltwo/sdk/classsoap.class.php | Line: 48 | Message: Class CourseSection not found. | Code: 0

We using the latest Turnitin v2 2016011104. I've also lodged a ticket to turnitin today with case no #00508029

Thank you for your time and effort.

Submissions not sent on EULA acceptance

When a student accepts the EULA, any of their submissions which were skipped due to non-acceptance should be submitted to TII (as long as the assignment is still accepting submissions). This does not appear to be the case at present.

One approach would be to fire an event when the EULA is accepted (https://github.com/turnitin/moodle-plagiarism_turnitin/blob/develop/ajax.php#L196-L197), and have an event handler which re-queues any submissions by that user which were not send due to non-acceptance of the EULA.

Coding error in v2016011103

Hello All,

Herewith another one:

Default exception handler: Coding error detected, it must be fixed by a programmer: PHP catchable fatal error Debug: Argument 2 passed to has_capability() must be an instance of context, null given, called in [dirroot]/plagiarism/turnitin/ajax.php on line 40 and defined
Error code: codingerror

  • line 411 of /lib/setuplib.php: coding_exception thrown
  • line 367 of /lib/accesslib.php: call to default_error_handler()
  • line 40 of /plagiarism/turnitin/ajax.php: call to has_capability()

mdl_events_queue being filled up and failing to clear out.

We are having issues with the events_queue table filling up and becoming clogged by events in the queue that don't seem to have submissions. The event data points to assignments that don't have submissions and the userid given is for the instructor. Very strange, but it is causing a backup in our events queue.

Student read marker not changing

I've been testing version 2015040111 and am not able to get the student read status to change. I have:

  1. Created an assignment
  2. Logged in as a student and submitted to the assignment
  3. Run the cron job a few times to get the submission sent to TII and the originality score returned
  4. Logged in as the student and viewed the originality report (on closing it I waited until the parent page had been refreshed by Javascript)
  5. Refreshed the "view all submissions" page as staff
  6. Run the cron job again

When I go into the view all submissions page now I would expect not to see the message "The student has not viewed this paper" but it is stil there.

In the database, the records in plagiarism_turnitin_files for the submission has the value "0".

Turnitin is calling grade_update directly!!

We have had strange reports where assignment activities in Moodle had final grades visible in the grade book, whilst blind marking was still in effect.

Looking through the plagiarism plugin code I found in lib.php a call to grade_update() (https://github.com/turnitin/moodle-plagiarism_turnitin/blob/master/lib.php#L1353), which updates the gradebook.

This should not be called directly by the plagiarism plugin because mod assign has additional rules that are designed to prevent grades propagating to the gradebook until certain conditions such as blind marking have been satisfied.

It really must use the library functions in mod_assign such as gradebook_item_update() which understands these features!

Submissions "Pending"

We're seeing some cases where mod_assign submissions are displaying a "Pending" status for the plagiarism plugin but they don't appear to ever be coming back.

We think that the academic member of staff enabled Turnitin after students had started submitting items.

Would items that have already been submitted, be sent to Turnitin if it is subsequently turned on. Looking through the code I can't find a mechanism that adds them to the turnitin_files table unless they are actually edited and raises one of file_uploaded, assessable_submitted, content_upload or files_done events.

The mod_created and mod_updated events do not appear to check existing for submissions.

PLAGIARISM_TURNITIN_CRON_SUBMISSIONS_LIMIT set too low

a limit of 50 items per cron cycle is really too low - for high use sites you might have several hundred submissions made within a short timeframe and they get backed up on the moodle server instead of submitting directly to Turnitin. If you have a lot of different assignments with a similar deadline on the site it can take several hours for all those files to be submitted to Turnitin - particularly for older sites that run cron every 5 or 10min

Revealing student identities and grades in blind marking assignments

The anonymous marking setting has used to be present in this plugin but has now been removed. Moodle's blind marking is now used to determine whether an assignment is anonymous in Turnitin or not.

However, there is a slight difference in how Moodle and Turnitin handle the release of student's identities and grades. In Turnitin this happens simultaneously but other restrictions on grades being revealed could be in place in Moodle. Therefore it is possible to end up with a scenario where student's names are visible in Moodle but not in Turnitin.

Default settings not applied if not "locked"

The default settings in plagiarism/turnitin/settings.php?do=defaults only appear to be used if the setting is also set to "locked" when creating new assignments.

it looks like the function get_settings() is used to return the defaults but this function only returns values if the field is locked.

Turnitin settings reset to default retrospectively

Hi ,
Using plugin verison 2016011105

Steps to reproduce :

  1. Create a new assignment in Moodle
  2. Do not touch turnitin settings i.e leave it as it is to default.
  3. Confirm that default settings set for the plugin under "Default Settings" tab are present
    tii_plugin_default_settings
  4. Save and Display Assignment
  5. Edit Assignment
  6. tii plugin settings revert back to system default settings ( as opposed to user default set by the admin )

DB get_in_or_equal does not accept empty arrays

I keep getting a "DB get_in_or_equal does not accept empty arrays" in clean_old_turnitin_submissions (events 1 API events then fail).
Line 2268, list($itemidsinsql, $itemidsparams) = $DB->get_in_or_equal(array_keys($itemids));
It seems the line above that

$itemids = $DB->get_records('assign_submission', array(
                                                                    'assignment' => $cm->instance,
                                                                    'userid' => $userid
                                                                    ), '', 'id');

Does not always return results.

"pending" result after upgrade

Hi, not sure what the issue is.
Did the upgrade yesterday, Turnitin connection says "Connected to Turnitin" but no scores have been returned for the Turnitin integration since yesterday. All statuses say "Pending". and no assignments are making it to Turnitin.

We are using Moodle 2.7.8
We have installed the latest version of Moodle Direct V2 from moodle.org (2015040110)
Using the Assignment Plugin (Dan Marsden style)

The only Tii related error message is below:

\2015/10/09 14:01:07 [error] 6371#0: *15015122 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 203.35.135.171, server: learn.endeavour.edu.au, request: "GET /plagiarism/turnitin/fonts/tii-icon-webfont.eot)%20format(%22embedded-opentype%22),%20url(https://learn.endeavour.edu.au/plagiarism/turnitin/fonts/tii-icon-webfont.woff)%20format(%22woff%22),%20url(https://learn.endeavour.edu.au/plagiarism/turnitin/fonts/tii-icon-webfont.ttf)%20format(%22truetype%22),%20url(https://learn.endeavour.edu.au/plagiarism/turnitin/fonts/tii-icon-webfont.svg)%20format(%22svg%22 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "learn.endeavour.edu.au", referrer: "https://learn.endeavour.edu.au/"

Are you able to point me in a direction?

Regards,
Vernon

Failed Submissions Stuck in Pending under very particular circumstances

If "require students click submit button" is set to "Yes" in course settings, then any submissions that fail are not resubmitted. Any resubmission attempt results in these assignments becoming stuck in "Pending" status.

The problem lies in lib.php, within the function event_handler:

// If draft submissions are turned on then only send to Turnitin if the draft submit setting is set.
                if ($moduledata->submissiondrafts && $plagiarismsettings["plagiarism_draft_submit"] == 1 &&
                    ($eventdata->event_type == 'file_uploaded' || $eventdata->event_type == 'content_uploaded')) {
                    return true;
                }

No message in submission list when EULA hasn't been accepted

When a student's assignment submission is not submitted to TII because the student has not accepted the TII EULA, a red icon with a cross through it is shown - but with no explanation.

This can cause confusion for some teaching staff; the lack of a "resubmit" link makes sense, but a brief note to say that the student has not accepted the EULA would help make this much clearer.

The code responsible for the lack of message in this situation can be seen at https://github.com/turnitin/moodle-plagiarism_turnitin/blob/develop/lib.php#L936-L937

Debug Mode shows an issue sometimes when creating a new assignment

Debug info:
Error code: Turnitin user creation failed

Fault Code: invaliddata | File: [dirroot]/mod/turnitintooltwo/sdk/usersoap.class.php | Line: 39 | Message: email - This field is required
| Code: 0
$a contents: Turnitin user creation failed

Fault Code: invaliddata | File: [dirroot]/mod/turnitintooltwo/sdk/usersoap.class.php | Line: 39 | Message: email - This field is required
| Code: 0

get_links/print_disclosure call to load_page_components causing error in 2.9+

Hey,

We get this error when grading an assignment:

Can not add jQuery plugins after starting page output!
line 487 of /lib/outputrequirementslib.php: call to debugging()
line 431 of /lib/outputrequirementslib.php: call to page_requirements_manager->jquery_plugin()
line 432 of /plagiarism/turnitin/lib.php: call to page_requirements_manager->jquery()
line 580 of /plagiarism/turnitin/lib.php: call to plagiarism_plugin_turnitin->load_page_components()
line 51 of /lib/plagiarismlib.php: call to plagiarism_plugin_turnitin->get_links()
line 1185 of /mod/assign/renderer.php: call to plagiarism_get_links()
line 61 of /mod/assign/renderer.php: call to mod_assign_renderer->htmllize_tree()
line 316 of /lib/outputrenderers.php: call to mod_assign_renderer->render_assign_files()
line 48 of /mod/assign/renderer.php: call to plugin_renderer_base->render()
line 4613 of /mod/assign/locallib.php: call to mod_assign_renderer->assign_files()
line 327 of /mod/assign/submission/file/locallib.php: call to assign->render_area_files()
line 1182 of /mod/assign/gradingtable.php: call to assign_submission_file->view_summary()
line 1266 of /mod/assign/gradingtable.php: call to assign_grading_table->format_plugin_summary_with_link()
line 798 of /lib/tablelib.php: call to assign_grading_table->other_cols()
line 450 of /mod/assign/gradingtable.php: call to flexible_table->format_row()
line 1425 of /lib/tablelib.php: call to assign_grading_table->format_row()
line 1541 of /lib/tablelib.php: call to table_sql->build_table()
line 1219 of /mod/assign/renderer.php: call to table_sql->out()
line 1015 of /mod/assign/renderer.php: call to mod_assign_renderer->flexible_table()
line 316 of /lib/outputrenderers.php: call to mod_assign_renderer->render_assign_grading_table()
line 3360 of /mod/assign/locallib.php: call to plugin_renderer_base->render()
line 3391 of /mod/assign/locallib.php: call to assign->view_grading_table()
line 535 of /mod/assign/locallib.php: call to assign->view_grading_page()
line 53 of /mod/assign/view.php: call to assign->view()
Coding error detected, it must be fixed by a programmer: Cannot require a CSS file after <head> has been printed.

Seems get_links can't require anything from the page.
https://github.com/turnitin/moodle-plagiarism_turnitin/blob/master/lib.php#L579

Ongoing issues with Cron

After applying your latest update to the plagiarism plugin we still have issues with the queue getting stuck. Below is a screen shot of the errors we are seeing:

tii-cron-errors

Turnitin plagiarism plugin displays student identities for blind marked assignment

We have a number of blind-marked assignments set up on our Moodle site, and have enabled the Turnitin plagiarism plugin to allow our tutors to use Turnitin/GradeMark when marking the students work. However, when they click through to GradeMark, there are three places where the student identity is revealed to the tutor, even though they should be anonymous, and are only shown as "participant xxxxx" in Moodle -

  1. At the top of the GradeMark screen, under the title of the submitted file
  2. In the Submission Info tool (at the bottom left of the screen)
  3. In the filename of a downloaded file

Screenshots attached...
image1
image2

Are we doing something wrong, or is this a bug? Many thanks!

Grademark grade returned to gradebook when blind marking

Originally raised by @micaherne

We've noticed that the plagiarism plugin is returning Grademark grades directly to the Moodle gradebook when blind marking is switched on for an assignment and student identities haven't yet been revealed. This isn't good as it's circumventing Moodle's blind marking controls.

When blind marking is switched on, the assignment tool holds any grades in a holding area until student identities are revealed, and only on revealing identities are they actually copied into the gradebook (https://docs.moodle.org/24/en/Assignment_settings#Blind_marking). This is to stop the marker seeing in the gradebook which students have submitted, or linking up the submission to the student.

With the plagiarism plugin making the grades available while identities are still hidden, it's pretty easy for the marker to work out (deliberately or otherwise) which anonymised identity relates to which student, particularly in small classes.

v2016011103 Pending event queues

We just updated our dev system to the latest release. Currently, none of the event queues are being processed successfully. They all show as Pending. The cron runs, but the event queue for each submission is failing.

Cannot launch Turnitin QuickMark Manager or Rubric Manager from Moodle Assignment edit screen

Hello there,

We recently updated our Moodle site to version 2.9.4+, and our Turnitin plugins to version 2016011104, and have noticed a new problem that has arisen when editing the settings for an assignment (or creating a new one).

We are using the default Moodle assignment in conjunction with the Turnitin plagiarism plugin. If we go to the edit settings screen for an assignment, we find that if we click on either the "Launch Quickmark Manager" link, or the "Launch Rubric Manager" link, neither Manager will launch. All that happens is that the web page goes dim and an animated "loading" icon appears (although sometimes we don't get the icon, just a dimmed webpage). If I click around the edges of the dimmed webpage, the screen un-dims and I am back on the assignment edit page again. If I click in the centre of the screen, nothing happens. This behaviour is reproducable in Chrome, Firefox and Internet Explorer 11.

Although we don't use it, the "Launch PeerMark Manager" link seems to work fine - if we click on that, the screen goes dim, a window pops up, and we have a "close" link in the top right corner of the screen.

File size / word count issues

Sorry for the third issue, we've been having quite a few issues recently!

We had a student submit a 235MiB PDF full of images to a mod_assign with the plagiarism plugin enabled.
Obviously this was going to fail, but it ended up breaking the whole cron system as it ran out of memory trying to explode the raw contents of the PDF :)

This line will be meaningless for docs and pdfs surely? The contents will be meaningless to the checks below. (just a ton of "K��}FG�;t�?n�;" etc)
https://github.com/turnitin/moodle-plagiarism_turnitin/blob/develop/lib.php#L2396

This doesn't work well with big files:
https://github.com/turnitin/moodle-plagiarism_turnitin/blob/develop/lib.php#L2518

The good news is I can patch it quite easily by wrapping if ($errorcode !== 2) {...} around the explode and that if. This means it won't check word counts if the file is too big anyway.
However, I thought given that the checks mean nothing for docs and pdfs anyway a proper fix should be sought?

restore_turnitintool_stepslib.php breaks restore when user changes email address

The logic used to test for an existing user in line 84-85 of restore_turnititool_stepslib.php breaks course restores if any existing user changes his or her email address. This will only happen when user data is included in the backup and restore process and if the backup was created before the email was changed.

Steps to reproduce:

  1. Backup a course
  2. Delete the course
  3. change a user email address on the course
  4. restore the course from the backup in step 1
  5. Error results in logs as follows:

08-Feb-2016 11:24:52 Africa/Johannesburg] Default exception handler: Error writing to database Debug: Duplicate entry '3-USERNAME' for key 'mdl_user_mneuse_uix'
INSERT INTO mdl_user (city,auth,username,lang,confirmed,lastip,timecreated,timemodified,mnethostid,calendartype,maildisplay,mailformat,maildigest,autosubscribe,trackforums) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[array (
0 => '',
1 => 'manual',
2 => 'USERNAME REMOVED',
3 => 'en',
4 => 1,
5 => 'IP ADDRESS REMOVED',
6 => 1454923459,
7 => 1454923459,
8 => '3',
9 => 'gregorian',
10 => '2',
11 => '1',
12 => '0',
13 => '1',
14 => '0',
)]
Error code: dmlwriteexception

  • line 446 of /lib/dml/moodle_database.php: dml_write_exception thrown
  • line 1164 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1210 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
  • line 99 of /user/lib.php: call to mysqli_native_moodle_database->insert_record()
  • line 3761 of /lib/moodlelib.php: call to user_create_user()
    * line 94 of /mod/turnitintool/backup/moodle2/restore_turnitintool_stepslib.php: call to create_user_record()
  • line 137 of /backup/util/plan/restore_structure_step.class.php: call to restore_turnitintool_activity_structure_step->process_turnitintool_courses()
  • line 103 of /backup/util/helper/restore_structure_parser_processor.class.php: call to restore_structure_step->process()
  • line 178 of /backup/util/xml/parser/processors/grouped_parser_processor.class.php: call to restore_structure_parser_processor->dispatch_chunk()
  • line 91 of /backup/util/helper/restore_structure_parser_processor.class.php: call to grouped_parser_processor->postprocess_chunk()
  • line 148 of /backup/util/xml/parser/processors/simplified_parser_processor.class.php: call to restore_structure_parser_processor->postprocess_chunk()
  • line 92 of /backup/util/xml/parser/processors/progressive_parser_processor.class.php: call to simplified_parser_processor->process_chunk()
  • line 190 of /backup/util/xml/parser/progressive_parser.class.php: call to progressive_parser_processor->receive_chunk()
  • line 278 of /backup/util/xml/parser/progressive_parser.class.php: call to progressive_parser->publish()
  • line ? of unknownfile: call to progressive_parser->end_tag()
  • line 179 of /backup/util/xml/parser/progressive_parser.class.php: call to xml_parse()
  • line 158 of /backup/util/xml/parser/progressive_parser.class.php: call to progressive_parser->parse()
  • line 110 of /backup/util/plan/restore_structure_step.class.php: call to progressive_parser->process()
  • line 181 of /backup/util/plan/base_task.class.php: call to restore_structure_step->execute()
  • line 195 of /backup/moodle2/restore_activity_task.class.php: call to base_task->execute()
  • line 177 of /backup/util/plan/base_plan.class.php: call to restore_activity_task->execute()
  • line 167 of /backup/util/plan/restore_plan.class.php: call to base_plan->execute()
  • line 333 of /backup/controller/restore_controller.class.php: call to restore_plan->execute()
  • line 224 of /backup/util/ui/restore_ui.class.php: call to restore_controller->execute_plan()
  • line 111 of /backup/restore.php: call to restore_ui->execute()

[08-Feb-2016 11:24:53 Africa/Johannesburg] Potential coding error - existing temptables found when disposing database. Must be dropped!

Word count generated incorrectly for non-plaintext files

The word count (used to determine whether a submission contains enough content for an OR to be generated) is based on the number of space-separated chunks in the raw file content, which is only accurate in a plain text file. In other file types (especially those which employ compression, such as MS Word's .docx files), this can give an incredibly low "word count" - I've encountered a perfectly fine .docx file which is being deemed to only contain 12 words, and therefore isn't being submitted despite actually containing around 300 words!

The offending code block can be seen at https://github.com/turnitin/moodle-plagiarism_turnitin/blob/develop/lib.php#L2517-L2521 - at that point, $textcontent contains the raw content of the file.

v2016011103 Coding error

Hello All,

With the latest update Plagiarism_plugin is returning a 500 error when trying to access the submissions or do anything with an assignment on which turnitin is configured. php_errors.log has the following:

PHP Parse error: syntax error, unexpected '=', expecting ')' in /storage/www/moodle/plagiarism/turnitin/lib.php on line 2387

I see that this was changed from the previous version and now adds a conditional to test for an empty value. Is there something I am missing here? The plagiarism plugin is now broken with new if statement.

Wrong version number in version.php

v2015040111 seems to have been released with the same version number in version.php as the previous version (2015040110). Could this be changed? Presumably it doesn't cause any functional issues, but it makes it difficult to determine what version you have installed, and also means that the latest version is showing the wrong version number in the Moodle plugin directory.

Locked repository setting causes failed uploads.

I have our Default repository setting locked at "Standard Repository". The test submission fails with a "This file has not been submitted to Turnitin, please consult your system administrator" error. When I unlock the default, still leaving it set to "Standard Repository". When I go back to the failing assignment, the repository is set to "No Repository".

Using turnitin rubrics does not allow students to view Grademark tool

As described above, it seems that if using a Rubric to grade an assignment with the turnitin plagiarism plugin enabled, students can't click on anything to view the Grademark tool which would show them inline comments from their instructor.

There is only the rubric icon on their submission page which opens up the rubric with their scores. There's no other way I can find that allows the student to see comments in Grademark.

Integrate error reporting into Tii PP error tab

Hello John,

Let me start by saying that the quality of the Turnitin Moodle integrations have improved by leaps and bounds since you came on board. Excellent work! You have also been a great help with any error reported either through github or the Moodle forums.

With respect to errors, though you have been helpful, the tech support at Turnitin have been anything but. I get canned responses from tech staff who neglect to read the email, even though I already provided the required detail. I have pretty much given up on using Tii tech support for this reason.

In looking for a solution, is there a chance we could included a "baked in" error reporting mechanism? That is on the errors tab in Turnitin PP, perhaps we could include an option to report a given assignment submission error to Turnitin from the errors page, I suggest this would include the following (with all the obvious end user approval confirmations):

1.The URL to your institution's LMS*
2. Turnitin Account ID (a numeric value).
3. LMS Version and Plug-in version.
4. Class Name or ID (where the error occurs).
5. Assignment Name or ID (where the error occurs).
6. Time of Error.
7. OS, Browser and versions.
8. An additional text area where the admin may report additional helpful detail.

You will notice most of the above is verbatim from the support emails we get back from Tii tech support. At the moment, I get regular submission failures that seem to have little reason for failing. Perhaps 1 out of 50 assignments fail to process in Tii and need to be resubmitted. Some have a paper id, others do not, but they usually have an error in the errors tab. In these cases, I usually convert the paper to a PDF and resubmit. At other times, I may resubmit without conversion and it works fine. If the above were available, I and others like me may be more inclined to report the error.

See these two screenshots for example:

mysats__administration__plugins__plagiarism__turnitin_plagiarism_plugin
tii_pp_error log

Thanks again for all the hard work, John.

All the best,
Mathieu

Turnitin Class Creation Error breaks Moodle Mod Assign page

Admittedly this happened on a test server but it's been raised before as not good practice:
image

Turnitin plagiarism plugin failed to create a Turnitin class when I hit the Moodle Add Assignment in the activity picker, due to a curl error and caused a complete failure of the entire Moodle add module process.

I've said it before, but please can TII not break Moodle when it fails!

plugin sends notifications even if notifications are turned off

Turnitin Version 2: 2016011105
Plagiarism Plugin: 2016011105
Moodle 2.9.3+ (Build: 20151119)

Steps to recreate:

  1. Create an assignment
  2. Activate plagiarism plugin
  3. Change the three notification settings to "No" in the assignment settings
  4. Submit an assignment
  5. Turnitin sends the Turnitin Digital Receipt

The expectation with the above settings is that no notifications should be sent. If the submission receipt is conceptually separate from the assignment notifications, there ought to be an option to turn this off as well.

Unneccessary word count check crashing cron

We recently updated to version 2015040111 and are starting to get out of memory errors when running the Moodle cron job (this issue exists in the latest version of the plugin too).

Fatal error: Allowed memory size of 1048576000 bytes exhausted (tried to allocate 532 bytes) in /moodle/web/plagiarism/turnitin/lib.php on line 2398

The scenario is an engineering assignment which is set up to accept any file, and the students are uploading a couple of very large simulation files (400Mb+) along with a Word document project report, so the assignment is set to accept any file type but is only expecting plagiarism checking on the Word document.

The fatal error is being thrown when the plugin tries to count the words in one of the simulation files, so there are a few issues:

  1. The file is a binary file, so trying to count the words is meaningless (it's an archive created by ANSYS)
  2. The algorithm for counting the words is really inefficient - it's exploding the file content on the space character, so taking up at least the same amount of memory again. It could just use str_word_count().
  3. The file is over the 40Mb limit so wouldn't be sent to Turnitin anyway, but the check for file size takes place after the word count.

It looks like this was caused by 490c110, as previously the plugin wouldn't try to count words for file submissions.

EULA opens in same window- UX problem

248fbf1 seems to have created a UX problem, whereby a new user is directed in the same window as an assignment submission in the LMS. After accepting the EULA, the user finds himself at a dead end. The page where he started is in the history barricaded by a redirect on Turnitin's own website. Click back just brings him back to the EULA, unless he frantically clicks back several times. Didn't this used to all happen in a lightbox like the Rubric. Why has this been changed to open in the same window?

plagiarism_plugin::cron() will be deprecated in Moodle 3.1

Hey John/team - FYI - In Moodle 3.1 (not yet released) plagiarism plugins that call the plagiarism_plugin::cron() function will throw a debugging warning stating that the cron function is now deprecated - plugins should move to using the newer "scheduled tasks" process instead. Eventually the function will be removed from a future Moodle release which may prevent your plugin from working unless you have converted to using scheduled tasks.

More information on this change is available in https://tracker.moodle.org/browse/MDL-52702

Developer documentation on scheduled tasks is available here:
https://docs.moodle.org/dev/Task_API

I've converted the URKUND plugin if you want an example - feel free to copy/borrow/re-use the code as usual:
https://github.com/danmarsden/moodle-plagiarism_urkund/blob/master/db/tasks.php
https://github.com/danmarsden/moodle-plagiarism_urkund/tree/master/classes/task

Grade fails to update in PP from Grademark (regression?)

Plagiarism Plugin version: 2016011102
Moodle Direct V2 version: 2016011102
Moodle Version: 2.9.3+ (Build: 20151119)

It seems the grade is not being returned to PP when updated in grademark in every case. This was a problem about 8 months ago, though I cannot find the original issue in the tracker.

To fix this, I have to return to grademark, click into the grade field in which an existing mark is recorded, and press enter. The indicator at the top cycles. After the window is closed, I wait for the PP page in Moodle to automatically update and the grade then shows up. This was the process I used to follow previously.

Can anyone else confirm this behaviour?

PHP Fatal error: Unsupported operand types

we upgrade from moodle 2.8 to 2.9.2 - carried out by removing all moodle files and replacing with new
we got report that turnitin plugins (x2) were missing from disk
uploaded plagiarism_turnitin_moodle29_2015040107.zip and mod_turnitintooltwo_moodle29_2015040107.zip
no errors reported
checking updates for plugins got report that newer versions were available
then uploaded plagiarism_turnitin_moodle29_2015040110.zip and mod_turnitintooltwo_moodle29_2015040110
no errors reported
on editing settings for an existing assignment and on attempting to create a new assignment I got blank pages and in server php error log:
PHP Fatal error: Unsupported operand types in /srv/[our-domain]/public/htdocs/plagiarism/turnitin/turnitinplugin_view.class.php on line 119
that line has
// Merge the arrays, prioitising instructor owned arrays.
$rubrics = $rubrics + $turnitinclass->sharedrubrics;

If not fully configured plugin breaks activity edit page

If the turnitin module is not fully configured it causes the activity edit settings page to completely fail.
image

Whilst it is important that things are configured, it is pretty bad that this happens. We have valid cases where we do not want Turnitin configured and talking to the TII service (e.g. test servers / clones) so this prevents the core moodle functionality working.

If Turnitin is not configured please can it just assume it is completely disabled and not offer any TII settings rather than breaking the whole page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.