Grafisch Lyceum Utrecht - submit assignments in learning platform



Graphic Lyceum Utrecht has creative and technical courses for media, design and communication. At this small-scale, creative vocational school, about 2,200 students follow a training course for media designer, media developer, web developer, game developer, media management and marketing, DTP, creative production employee, and communication and marketing. Finalist builds and maintains the electronic learning platform. The development reached its peak end of 2018 with the addition of a flexible submission portal to let students submit assignments right in the Drupal based portal, after which

Case description

The Finalist built and Drupal based electronic learning platform is used by teachers and students. An integration with the course database as well as the student database takes care of displaying the right course(s) for the right student. Teachers create lessons in the learning platform and choose which groups (classes) of students the lesson is meant for. A large improvement was introduced with the addition of the possibility to submit assignments following from the lessons.

Case goals and results

The goals set for this project are:
1] Students must be able to easily submit (graphical) assignments in the portal interface - this includes large files; This goal was met to use the Drupal contrib module Plupload integration and build an extension to it so the actual configuration (number of files, extensions, etc.) are brought in by the teacher and can differ per assignment.
2] Teachers must be able to add ‘assignment counters’ and activate various options per student/class, i.e.: deadline date, number of files to be uploaded, allowed extensions, plagiarism check. This goal was met by creating a custom entity (‘submission’) which are connected to the assignment nodes via Entity Reference. The submission entity hold the information: which students/group, number of files, extensions, maximum file size, group or individual assignment, deadline etc.
3] Teacher can view and assess the work that has been done via the document management system (meaning: files have to be stored externally from Drupal). This goal was achieved by a integration with the document management platform. As the process for assessing the work is done via a student tracking system, the Drupal based learning platform delivers all files to the document management platform. So how does the student tracking system know which file belongs to which student? Each file has a unique XML file that holds all the metadata belonging to the submitted files. So Drupal delivers the file, as well as the metadata. The file and metadata are tracked by the document management platform, making it possible for teachers to do the assessment.
4] Students have insight into the progress of their work and assessments by their teachers. This feature is built as of October 2019 and includes a ‘feedback loop’. Teachers enrich the assignment entity with written feedback and / or grades.
5] Students can only see their personal assignments and submissions; This goal was met by using the integration with Microsoft AD FS together with the student database which holds information about classes. Some custom permissions were set in Drupal so we could isolate assignments on student and group level.
6] Students have to be able to submit assignments individually or for their project groups; This option was met via custom code that hooks into the submission (Plupload) form. An autocomplete widget was used to make it easy for students to select the right group members.
7] Students see reminders and information about assignments and deadlines on their dashboard; This goal was met by creating custom blocks appearing on the student dashboards. The student sees a list of assignments, together with a label informing the student if the assignment still has to be submitted.
8] Students need the option for multiple file upload; This goal was met by using the Plupload integration, see above.
9] Flexibility and insight for the administrator to intervene in case of questions from end users. This goal was met by assigning proper permissions to the application manager / webmaster of the learning platform.


Main technical challenges were:
• The teacher has a wide range of options for each assignment that has to be handed in. Apart from the technical methodes used (see above), we needed a intuitive administrative procedure so it won’t take too much time for a teacher to create the assignment counters, as this might lead to frustration or delays. This was overcome by using the Inline Entity Form module, combined with mostly multiple choice options (with common used defaults) for easy creation.
• Another challenge was the automatic creation of XML metadata files that had to be submitted along with the files. From architectural point of view we created a naming convention for the xml file and a standard setup for the xml file contents. The technical procedure when submitting the file uses a hook into the Plupload Integration form which created the xml file on the fly and stores it alongside with the file on a temporary storage server. The document management system, polling for changes every minute, pulls the file and metadata file from the storage server.

Community contributions

Patches, documentation was added via several community efforts, including: (our insights with Plupload file upload ended up in the Quiz module)

Several translations were added for Plupload integration, Entity reference and Inline entity form.

Why should this case win the splash awards?

This project is a great example how Drupal acts as a community platform and educational application in one. It really emphasizes the Drupal promise that you can build anything. This customer is really satisfied with this platform, as they can initiate improvements and development to the platform themselves, instead of being dependant to third party suppliers of generic solutions. Of course, Grafisch Lyceum Utrecht has generic solutions for the backoffice, like the student tracking system and the course database, but the real achievement is that the learning platform takes care of intuitive and user-friendly screens that are used by both students and teachers, bringing education to a next level. The assignment submission portal enables an educational digital dialogue between teacher and student, using Drupal as mode of transport. At Finalist, we love to implement Drupal for added purpose in the educational field.