This new feature adds increased flexibility in assessment response.

University of British Columbia (UBC) came together with edX and Stanford for four months of collaborative work on this Stanford initiated feature. Instructors can now configure the Open Response Assessment (ORA) tool to accept uploads from learners in image, PDF, or other file formats specified just for this course. Previously, image uploads only in JPG or PNG format were allowed.

How the feature works

Instructors enable file uploads by editing the settings of any Open Response Assessment component.


File uploads are enabled under settings for the component

In the “Allow File Upload” section, instructors can now select one of four options.

  1. None – Learners cannot upload a file (the default option).
  2. Image File – Learners can upload a JPG, GIF, or PNG image file. The option to upload GIFs is new for this feature. When learners upload image files, they can choose any of these file types.
  3. PDF or Image File – Learners can upload a PDF or any of the above image files.
  4. Custom File Types – Learners can upload files with a file type specified by the instructor.


If selected, custom file types are entered as a list in a separate box.

After an instructor sets, saves, and publishes the file upload setting, Learners see a file upload button below the response box in the problem. Only the file types specified for the component in Studio are accepted for upload.


When enabled, an upload button appears in the learners interface.

Why the feature is safe to use

Peer review requires learners to download files created and uploaded by other learners. Someone could upload a file type that can be used maliciously, so edX and UBC worked together to create a “blacklist” of file types that are never allowed for upload (for example, exe, dmg, app).

If an instructor selects the Custom File Types option for file uploads, and then specifies one of the blacklisted file types an error message appears and the settings cannot be saved. Similarly, if a learner tries to upload a file with a blacklisted file type, an error message appears and the file cannot be uploaded.

What UBC learned from the process

This feature marks one of UBC’s first contributions to edX. Following all of the steps, from pull request to final merge, was a great learning experience for our developers.

Though a small change, the feature was challenging to implement because of the need to both satisfy end user desires and ensure that system security was not compromised. Achieving this balance involved engaging with different parts of Open edX cmmunity and working through many comments, suggestions, and design options from technical, security, user interface, and user experience perspectives.

Although time-consuming, the iterative, detailed review process impressed our development team. The suggestions we received for improving each area also helped our developers understand how to build and submit stronger contributions in the future.

This post was co-authored with UBC.