About?
The author of this application and the blog is Neha Ranade, who is a final year computer science student at University College London. This application was built as part of an industry exchange program (IXN) under the supervision of Dr Graham Roberts and Lee Stott.
What is Azure LTI Assessment Application v2?
Built using the LTI protocol, ‘Assessment Application v1’ is an open-source assessments tool that eases educators of the pain of creating assessments in multiple learning platforms and transferring question banks across platforms. Developed by a former UCL student, Victoria Demina, more information about this tool can be found in here .
Assessment Application v2 is an extension of ‘Assessment Application v1’ with new features that increase its compatibility and usability, while still reinforcing its value as a proof-of-concept cross-platform assessment tool.
The following key features have been developed,
How to get started and setup the ‘Assessment Application v2’ with Canvas and Moodle?
How to set up an instance of Assessment Application v2 locally?
The figure summarizes the components used for the local setup. Azure CLI toolkit, Cosmos DB emulator and Azurite can be used to emulate Azure Functions, Cosmos Database and Azure Blob respectively. An application registration for this local assessment application needs to be added to Azure Active Directory to allow authentication.
A key component in emulating the assessment application locally is integrating the front end (react application), backend (Azure functions) and authentication (Azure Active Directory) to work together – so that only one endpoint is exposed to users. This is done using a local instance of Azure Static Web Apps service, which was available as an NPM module called npm-swa. This application redirects requests to the correct service depending on the type of request as shown in the figure above. Each of the other Azure services are configured by using their local emulators, except for Azure Active Directory and Azure Key Vault. Azure Active Directory should not be setup locally because LMS (Learning Management System) instances require third-party authentication services (like AAD) to have a public facing endpoint.
Finally, a local setup guide called DevTest.md has been created for this setup and added into the documentation for the ‘Assessment Application v2’.
How to integrate Microsoft Open-Source Curriculum content onto the ‘Assessment Application v2’?
After deployment and configuration, follow the steps on the educator homepage,
To get started, the following open-source curricula can be used.
How to transfer existing question banks from Moodle and Canvas into ‘Assessment Application v2’?
Two key question bank formats are supported.
What question formats are supported by ‘Assessment Application v2’?
Reflections
The following section reflects the opinions and conclusions of the author after completing development of ‘Assessment Application v2’.
Key learnings from the project?
As the author of this project, my key learnings from the project can be summarized as follows.
What was interesting?
The most interesting aspect of this project was learning about authentication flows and how they are used to ensure secure communication between the learning management tool and assessment application.
There are some definitions vital in understanding the communication workflow taken from OAuth2 and JWT and LTI specification.
In terms of the authentication workflow for communication between ‘Assessment Application v2’ and LMS, the first stage of the workflow is authenticating the user (Educator, Student) and launching the ‘Assessment Application v2’ from the LMS. An OpenID connect launch flow is used at this stage. The key steps of workflow at this stage are the following.
Why was this project challenging?
The project is challenging due to the following reasons. First, working on someone else's codebase with limited configuration/set-up support is tough. This is because debugging complex configuration/authentication issues requires good understanding of the existing codebase. Secondly, working with free/open-source versions of learning management systems can be tough. This is because when faced with issues, there is no one to contact and opening "support tickets" can take weeks to receive an answer.
How has this project helped gain new skills?
As someone with limited to no cloud computing skills before this project, this project has taught me how to use a variety of Azure services. Moreover, I learnt to use React and C# through the course of this project. Finally, I improved by debugging and development skills through the various iterations of the project.
How can ‘Assessment Application v2’ be extended/contributed?
Azure LTI Assessment App v2 welcomes contributions and suggestions. Currently, the quiz only supports four question types, along with limited flexibility for educators in creating complete quizzes. However, the assessment application is designed to be an extensible software product, so that new types of assessments can be added by open-source contributors. Also, there is an opportunity to adapt the application for other LMS systems, such as Blackboard, and Open edX. Prerequisites for open-source contributors, as well as useful resources, can be found here.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.