PDF submission

Assignment submissions ::: assignsubmission_pdf
Maintained by DavoDavo Smith
Part of set Assignment: PDF.
This allows a teacher to annotate and return PDF files that have been submitted by students. Teachers can add and position comments and draw lines, ovals, stamps, rectangles and highlights onto the student's work, from within the browser.
Latest release:
634 sites
250 downloads
31 fans
Current versions available: 4

This plugin and the associated feedback plugin, do still, technically, work with Moodle 3.1, but they sit very awkwardly alongside the new grading layout. If you haven't switched over yet, now is the time to do so.

Important note - PDF annotation (based on the PDF feedback part of this plugin) is now part of Moodle core (from Moodle 2.6 onwards). 

There is currently no code available to migrate existing assignments using my plugin to the core version. However, I would recommend that all future assignments are created using the core Moodle functionality - I do not intend to maintain this version indefinitely (although I will attempt to fix any major compatibility bugs that arise in future versions).

Note also that there are a number of significant differences between the plugin version and the Moodle 2.6 built-in version of PDF annotation. The documentation below is only relevant to the plugin version; questions or problems about the built-in version should be directed to the Moodle forums or tracker.moodle.org


These plugins for the assignment module allows a teacher to annotate and return PDF files that have been submitted by students. It is based on my previous 'UploadPDF' assignment type, updated to work with the Moodle 2.3+ 'assign' module (rather than the Moodle 2.0-2.2 'assignment' module).

Teachers can add and position comments and draw lines, ovals, stamps, rectangles and highlights onto the student's work, from within the browser, before returning the work to the student.

This plugin is available in Moodle 2.3+, Moodle 2.0-2.2 and Moodle 1.9 versions.
This is the Moodle 2.3+ version - you can download the Moodle 1.9 version from here:
https://github.com/davosmith/moodle-uploadpdf/zipball/MOODLE_19_STABLE
and the Moodle 2.0-2.2 version here:
https://github.com/davosmith/moodle-uploadpdf/zipball/master

!! THERE ARE A FEW IMPORTANT ITEMS TO NOTE IN THE INSTALLATION, PLEASE READ CAREFULLY !!

Installation

Note - the assignsubmission_pdf plugin can, theoretically, be used without the assignfeedback_pdf plugin (https://moodle.org/plugins/view.php?plugin=assignfeedback_pdf). On its own, however, it has little advantage over the standard 'file' submission plugin (other than coversheet handling). The assignfeedback_pdf will not do anything on its own (and cannot be installed without the submission plugin).

  1. Download and install GhostScript ( http://www.ghostscript.com/ ) - or install from standard respositories, if using Linux.
    Under Windows, do not install to a path with a space in it - that means you should install to something like 'c:\gs' NOT 'c:\Program Files\gs' (note you only need the files 'gswin32c.exe' and the dll file from the 'bin' folder, all other files are unnecessary for this to work).
  2. Unzip the submission pdf and feedback pdf plugin files to folders on your local machine
  3. Upload the plugin files to <siteroot>/mod/assign/submission/pdf and <siteroot>/mod/assign/feedback/pdf
  4. Log in to Moodle as administrator, then click on 'Home'.
  5. Visit 'Site admin > Plugins > Assignment plugins > Feedback Plugins > PDF Feedback'. Adjust the 'Ghostscript path' to where ghostscript is installed (should not need changing on a Linux install).

All being well, you should now be able to add submission and feedback type 'pdf' to assignments.

How to use

  • Add a new Assignment to a course.
  • Configure all the usual settings - you should be aware of the following additions:
    • PDF submission - set to 'Yes' to allow students to submit PDFs for annotation
    • PDF feedback - set to 'Yes' to allow the submitted PDFs to be annotated (note this ONLY works with PDFs submitted via the 'PDF submission' plugin).
    • Coversheet - this is a PDF that will be automatically added to the start of any files submitted by your students
    • Template - before submission your students can be (optionally) asked to fill in some text fields, the template is used to add these entries to the coversheet (this is ignored, if no coversheet is selected).
    • Edit Templates... - see section below

It is recommended this is used with the 'Require students click submit button' option, as then the processing and combining of the submission PDFs is only done once they click that button. Otherwise, the processing is done every time the student updates their submission.

  • When a student uploads their files and clicks 'Submit' they will be combined them together into a single submission (along with the coversheet).

(Hint: to help students generate PDF files, install a PDF printer, such as PDF Creator - http://sourceforge.net/projects/pdfcreator ).

  •  The teacher can then log in, go to the usual marking screen and click on 'Annotate submission', which will bring up the first page of the student's work on screen.
  • Click anywhere on the image of the PDF to add a comment. Use the resize handle in the bottom-right corner of a comment to resize it, click & drag on a comment to move it. Click (without dragging) on a comment to edit it, delete all the text in a comment to remove it.
  • Right-click on a comment to add it to a 'Comment Quicklist'. You can then right-click anywhere on a page to insert comments from this 'Comment Quicklist' (with the same text, width and background as the original). Comments can be deleted from the 'Comment Quicklist' by clicking on the 'X' to the right of the comment.
  • You can add lines to the PDF by holding 'Ctrl' ('Alt' on Apple Macs) whilst you click and drag with the mouse (or alternatively hold 'Ctrl' then click once for the start and once for the end of the line).
  • You can also choose different drawing tools by clicking on the icons or by using the keys c (comments), l (lines), r (rectangles), o (ovals), f (freehand lines), e (erase lines), [ & ] (change comment colour), { & } (change line colour)
  • Navigate between the pages by clicking on the 'Next' and 'Prev' buttons or by pressing 'n' and 'p' on the keyboard.
  • Click on 'Save Draft and Close' (or just navigate to a different page) to save the work in progress.
  • Click on the 'Generate Response' icon to create a new PDF with all your annotations present (that the student will be able to access).
  • You can view the comments you have made on a student's previous submissions by choosing that submission from the 'compare to' list
  • You can quickly find comments you have previously made by clicking on the 'find comment' list.
  • Add any feedback / grades to the usual form and save them.

Edit Templates

  • Click on the 'Edit Templates...' link on the 'Settings' page
  • Choose the name of the Template to edit (or select 'New Template...')
  • You can change the name of the template, delete the template or make it available to everyone on the site (administrators only, for this last option). Only administrators can edit site templates.
    Note: you cannot delete templates that are in use (click 'show' to find out where it is currently being used)
  • The list at the bottom allows you to choose an item in the template to edit, or choose 'New Item...' to add a new one.
  • The types of item you can add are:
    • text - a block of text, which will re-flow at 'width' pixels, 'value' will be the prompt the student sees to fill this in
    • shorttext - similar to text, but without word-wrapping useful for 'name' or 'type your initials to state this is all your own work'
    • date - fills in the date that the assignment was submitted, 'value' is the format to record the date
  • To position the items on the template, upload an example PDF coversheet (using the bottom form) then type in the position you want to place the PDF (x position, y position, in pixels).
    Alternatively, click on the coversheet image to set the position of that template item.
  • When you are finished, save any items you have changed, then close the window. The list of templates on the 'settings' page should have been updated.

Known issues

There is no way to annotate the PDFs without JavaScript.

Backup & restore will not transfer coversheet templates to a different site (it will work fine on a single site). This is a limitation of the assignment backup & restore process.

Thanks

This makes use of GhostScript and the FPDI and TCPDF libraries for PDF manipulation; Mootools is used to help with the JavaScript and Raphael provides the cross-browser annotation support.

Thanks to the creators of all those libraries, as this wouldn't have been possible without their hard work (and their free software licensing)

Screenshots

Screenshot #0
Screenshot #1

Contributors

Davo
Davo Smith (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Comments

  • Hewart Busch
    Wed, 26 June 2013, 4:33 AM
    Hello Davo
    The plugin works wonders, and is what we need in our model.
    Thing is, we are a Spanish speaking university.
    Any chance we can help you translate? at least the buttons that are displayed to the students.

    Regards and awaiting your feedback
  • Davo
    Wed, 26 June 2013, 3:13 PM
    Hewart - you are very welcome to provide a Spanish translation.
    Please visit: http://lang.moodle.org
    Once there, create an account, then, on the right, select AMOS > Translator. Select 'Spanish' under languages, search for 'pdf' under components (assignfeedback_pdf, assignsubmission_pdf).
    Click 'Save filter settings', then type in the translations. After that, you should be able to submit the language strings for review.
  • t brown
    Fri, 16 Aug 2013, 3:46 AM
    Hey Davo, I have been trying to configure ghostscript for pdf submission & feedback plugin of yours, but for some reasons I am getting error: "TEST GHOSTSCRIPT PATH: The ghostscript path points to a non-existent file."

    I have compiled and installed gs on our server at /usr/local/bin/gs. I am using the same path in PDF Feedback plugin but no help. Is there anything else I can do? Your help will be highly appreciated!!!
  • Davo
    Fri, 16 Aug 2013, 3:43 PM
    T Brown - there is no need to post the same message in two different comments and in two Moodle messages directly to me. A single comment or message is sufficient and saves filling up my inbox whilst I am on holiday

    As for your repeated question - my script, from memory, as I can't access it now, uses the standard file_exists php function on whatever you typed in to the settings box. If you are getting that error then it means that php is unable to find ghostscript in that location on your server (I suggest you double check the file permissions on that file and all the sub directories leading to it).
  • t brown
    Fri, 16 Aug 2013, 5:31 PM
    Sorry for the double post. My tech had tried to reach you without success, so I was trying to cover all the bases.
  • Dirk Meyer
    Sun, 1 Sept 2013, 7:28 AM
    Hello Davo,

    could you please suggest a upgrade approach from 2.2 to 2.5 please? In 2.5 release notes it says "Can be updated from 2.4+ (Build 2013061200) (2013061200)"
    Do I have to do a stepped upgrade?
    Thanks
  • Davo
    Mon, 2 Sept 2013, 3:17 AM
    There are separate versions for Moodle 2.3, 2.4 and 2.5 for my pdf submission + feedback plugins - this is mostly due to slight changes in the assignment plugins API between versions that cause warning messages if I don't produce different versions. There is no difference in the underlying data structures between the different versions, so you should have no difficulty upgrading from the 2.3, 2.4 or 2.5 versions of the plugin to the latest 2.5 version of the plugin.

    There has never been a 2.2 version of these plugins. The 2.0-2.2 uploadpdf plugin, which these are based on, is a completely separate plugin and I have not provided an upgrade path from that version (I have not needed it myself and I haven't had any spare time to write such an upgrade). The old 2.2 uploadpdf plugin should continue to work in 2.5, as long as you leave the 'Assignment (2.2)' activity type enabled - I would recommend continuing to use that for any existing assignments, but create new assignments using the new 'assignment' plugin.

    Please be aware that (all being well) many of the features of these plugins will be available in core in Moodle 2.6 (as a standard feedback plugin that will allow annotation of any uploaded files, without the need for a separate submission plugin).
  • Dirk Meyer
    Fri, 20 Sept 2013, 6:13 AM
    Thank you so much a) developing this great feature and b) for responding to my query. So looking forward to the core integration!
  • Dirk Meyer
    Fri, 27 Sept 2013, 1:54 AM
    Hi Davo,
    just sitting here with another moodle enthusiast and we were thinking how to tweak permissions so that students can annotate each others submissions. We were looking in the assignment permission settings but could not see how to do this. Is this supported somehow?
  • Davo
    Fri, 27 Sept 2013, 6:08 AM
    Dirk - the plugin is not really designed for students to be able to annotate each other's submissions. I'd assume that you'd have to give grading permission to students for this to work (there are no capabilities defined by my plugins, they rely entirely on the capabilities already defined as part of the assign module).
  • Dirk Meyer
    Fri, 27 Sept 2013, 6:45 AM
    After I posted, we realized that we could setup localized teacher role for students. We think it could meet our needs. In the big picture though, we could see tremendous potential to have peer review/assessment built into the assignment module. Thanks again.
  • Davo
    Fri, 27 Sept 2013, 5:16 PM
    Dirk - the 'workshop' module is designed from the bottom up to allow peer review/assessment. There may be some value in combining the workshop module with some of the flexibility given by different assignment plugins, but it should still do a lot of what you want right now.
  • Nick Varney
    Mon, 18 Nov 2013, 6:43 PM
    Having a few problems testing this in Moodle 2.6 (it is this plugin, correct?). Does 'gswin32c.exe' and 'gsdll32.d ship with Moodle 2.6 or do we still need to download the plugin and specify a ghostscript path to these files?

    I've got as far as finding the Annotate PDF settings where the ghostscript path is set in Site administration / ► Plugins / ► Activity modules / ► Assignment / ► Feedback plugins / ► Annotate PDF

    I'm using last week's beta of 2.6.
  • Davo
    Mon, 18 Nov 2013, 6:52 PM
    Nick - this is the 3rd-party plugin which the 2.6 version is based on.

    You do not need this plugin, as the code for the new editpdf functionality is part of the standard download.

    However, you will still need to have a copy of ghostscript on the server (this cannot be part of the Moodle download, as 'gswin32c.exe' is only relevant to Windows servers, the native version of ghostscript must be installed for the OS you are running on the server). You will also need to configure the path to ghostscript via the settings page you have located.
  • Nick Varney
    Mon, 18 Nov 2013, 11:50 PM
    Thanks Davo - that's what I needed. Have got it working now.
Please login to post comments