Your Moodle version

Plagiarism: VeriCite

Maintained by Picture of Bryan Holladay Bryan Holladay
VeriCite is an instantly reporting commercial plagiarism detection service owned by Longsight. It integrates with the Moodle Assignment module and requires a paid subscription. We offer a free 3 month trial for interested institutions, please contact To evaluate VeriCite, you can signup for a free LTI integration user account at
Moodle 2.5, 2.6, 2.7, 2.8

What is VeriCite?

VeriCite is a plagiarism detection service that identifies potentially plagiarized or improperly cited

text. VeriCite is most commonly used within a learning management system to scan student

submissions. The service automatically checks submitted work against an ever-increasing index of

online sources. VeriCite is available integrated into the Sakai and Moodle learning management

systems, or as a standalone IMS Learning Tools Interoperability (LTI) service which can be

integrated into any other platform or LMS that supports LTI. Our inspiration for creating this service

was to provide our clients with an affordable, reliable plagiarism service that delivers reports


How does it work?

VerCite can consume student in-line submissions and submission files in any file format (e.g. pptx,

html, docx, pdf, txt, rtf, ppt, doc, odf, etc.). It converts the student submission into plain text and

excludes any quoted material from matching. The rest of the text is then compared for exact

matches with existing source material. VeriCite uses string matching methods, along with a series of

algorithms and scoring processes, to identify matching texts. A final report is presented to the user

highlighting different levels or amounts of matching per submission. There is an overview score as

well as a side by side comparison of the matching text and sources.

VeriCite reports are created on demand every single time you click to view the report. This means

that there is no waiting for the report; all reports are delivered instantly. Reports are also non-static. If

a student submits a paper and gets a plagiarized score of 0, and then another student in another

class submits the same paper, then both reports and plagiarism scores will update to 100 to show

that they have plagiarized. This dynamic updating can help prevent cases where groups of students

or paper mills share the same paper.

All submitted papers are indexed in a completely encrypted form then stored securely in a repository

that is specific to each subscribing institution. Additionally, the institution maintains full ownership

and control of their repository materials.




Picture of Bryan Holladay
Bryan Holladay (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Bryan Holladay
    Mon, Jun 23, 2014, 10:44 PM
    As soon as I uploaded the zip, I realized there was one extra debug "echo" line that I forgot to take out. I've updated the GIT repo but I can't seem to find how to reupload the zip file.
  • Picture of David Mudrák
    Mon, Jun 23, 2014, 11:15 PM
    Administration block > Add a new version. Then you may want to hide or even delete the previously uploaded version of the plugin. You can leave the plugin version details the same (build number etc), just make sure to have the whole form filled again.
  • Picture of Bryan Holladay
    Mon, Jun 23, 2014, 11:26 PM
    Thanks, I have added the new clean zip file in a new version and hid the old version
  • Picture of David Mudrák
    Wed, Jul 2, 2014, 12:32 AM
    Please note that DB writing methods like $DB->insert_record() do not return boolean any more. There is no need to raise error()
    manually. Instead of low-level access to the config_plugins table, pls use the API for that - like set_config().

    In db/events.php, all the relevant code seems to be commented out. Am I missing something here?

    You create functions in the global PHP scope without the valid frankenstyle prefix. This is strongly discouraged in order to prevent
    collisions with (current and/or future) core code or some other plugin. See for details.

    For now, I am going to mark this plugin as needing more work until we get these issues resolved. Thanks for your patience with the
    review and approval process.
  • Picture of Bryan Holladay
    Wed, Jul 2, 2014, 12:51 AM
    I will fix this
    I will work on changing this
    I don't use any of these events since our service is instance and doesn't rely on cron jobs. I left them commented out in case I need them later and I need a template. I can remove these if you want.
    >frankenstyle prefix
    I'll update this

    Thanks for looking at the code and giving feedback.
  • Picture of Bryan Holladay
    Wed, Jul 2, 2014, 1:34 AM
    I have made these changes, can you please re-check?
  • Picture of David Mudrák
    Wed, Jul 2, 2014, 4:48 PM
    > I don't use any of these events since our service is instance

    So your plugin does not implement the plagiarism API? It's not supposed to check for things right after they are submitted by the student?
  • Picture of Bryan Holladay
    Wed, Jul 2, 2014, 8:16 PM
    Looks like I misspelled that word: not "instance" but "instant". The plugin implements only the API that it needs. This includes the settings, save form, create form, etc but since my service doesn't have the same limitations as other services, I don't need to have a cron job or any additional notifications. From the code's perspective, the paper is either submitted or not and if its submitted, there's a score. If it's not, then submit it.
  • Picture of Bryan Holladay
    Wed, Jul 9, 2014, 1:04 AM
    Is there anything else pending that I need to address?
  • Picture of David Mudrák
    Wed, Jul 9, 2014, 3:37 AM
    Well, you probably want to upload the new version with the fixes and then re-schedule the plugin for approval again using the Administration menu.
  • Picture of David Mudrák
    Wed, Jul 9, 2014, 9:17 PM
    You are cleared to land now. Welcome to the Plugins directory.
Please login to post comments