Overview
Over the past two decades, digital exchange has emerged as an innovative subfield of global education. With that precedence and video being recognized as a primary medium of effective digital communication, it is imperative for academic institutions to enable their students with the right video-collaboration and video-streaming tools for progressive learning.
In this article, we will see how schools and universities can integrate VIDIZMO content within their preferred Learning Management Systems for recorded lecture sessions and provide their students a platform therein to collaborate and learn interactively.
To learn more about what VIDIZMO REST Services have to offer and how to get started with using them, see: VIDIZMO REST API Reference Guide.
Use-Case Scenario
Let's assume you have a digital Learning Management System for your varsity students that maintains their scores, assessments, as well as their class schedules. And the recordings of the digital lectures you hold over a conferencing solution are automatically synced within your VIDIZMO Portal.
After the recordings are made available in VIDIZMO Portal, you include 3 in-video Quizzes at various timestamps in your video with questions related to the content that has already been watched.
Now you want to be able to showcase these lecture videos on the LMS portal and categorize them based on the topics being discussed - which are always used as the title of the lecture e.g. Quantum Physics - Particles. This title is saved as-is for the corresponding recording in VIDIZMO. And you want to fetch the assessment reports for each of the 3 Quizzes.
There are three ways with which you may include recorded lecture sessions from VIDIZMO on your own LMS site:
- By generating an embed code of the desired videos and using it to embed videos on your own site.
- By including VIDIZMO Video Player widget onto your own site with the same look and feel as in your site - but with a lot more control of how you may want to use the various available events within the video player. One such example could be how you can use the player event to show a pop-up when a student has completed watching a video or when a student has passed a Quiz.
- By using REST APIs to gather all content-related information such as the renditions transcoded by VIDIZMO for multi-device playback, video thumbnails, etc and use them to play video using your own platform/player.
In the next sections, we will walk you through the third option using VIDIZMO REST APIs to get recorded lecture sessions related to a certain topic and be able to gather the assessment results of the Quizzes within.
Acquire Access Token
If the videos you are trying to access have been allowed for anonymous access, then you do not need an authentication token, otherwise you will be required to acquire an access token from VIDIZMO and pass it in the Request Header for fetching media in your portal.
Please note that VIDIZMO associates roles to its users which determine the set of permissions a user is allowed to perform in a Portal. Similarly, while accessing a resource using REST APIs, you will have to consider its user context. This means that if you wish to access or search a video in your Portal's media library such as in this case, you will need to pass the authentication token of a user who has the permission to search and view those videos in the portal.
Use REST APIs to obtain Lecture Video related to a Certain Topic
In order to fetch videos related to a certain Topic, we will be executing a api/v1/mashup/search
API call with the following search criteria as a JSON object in the Request Body:
- The format of the mashup should be video
- The keyword with which we want to search our lecture video video: Quantum Physics
- Bring back basicInfo, Content, CustomAttributes, Tags parts to fetch information related to the videos such as its title, description, custom attributes, content renditions information, etc
You can try it out yourself at: https://{your-portal-domain}/api/v1/doc/index.html#/Mashup/SearchMashupsByGet
Here is a sample request and response:
Assemble the Request Message
After you have acquired the authorization token, and have figured out the parameters against which you need to fetch videos from your portal, you can now proceed with sending the request with the following components:
Request Method: POST
Request URL: api/v1/mashup/search
Request Header:
Request Body:
Process the Response Message
To process the response, parse the response header and the response body. In the HTTPS GET request, you used the /mashup/search endpoint to retrieve the list of mashup based on the search criteria provided. Assuming that the response was successful, you should receive response header fields that are similar to the following:
Response Status Code: 200
Response Header:
And you should receive a response body that contains a list of mashups matching your search-criteria and their individual properties encoded in JSON format, similar to:
Response Body:
The response will help you retrieve video Ids, thumbnails, titles, descriptions, renditions and other relevant information to pass it to your own HTML player within your LMS site. Let's look further into how you may obtain Quiz IDs and their Assessment Reports based on the video IDs you have obtained in the response.
Obtain Quiz IDs using Videos
Now using the IDs you have obtained above, we will be querying the timedData within those videos to get IDs of Quizzes within them with the following search criteria as a JSON object in the Request Body:
- Id of the media we are requesting the timedData for
- Bring back basicInfo, timedData parts to fetch information related to the videos such as its title, description, custom attributes, content renditions information, etc
Assemble the Request Message
Here is how you can send the request to obtain Quizzes within the lecture video:
Request Method: POST
Request URL: api/v1/mashup/search
Request Header:
Request Body:
Process the Response Message
To process the response, parse the response header and the response body. In the HTTPS POST request, you used the /mashup/search endpoint to retrieve the list of mashup based on the search criteria provided. Assuming that the response was successful, you should receive response header fields that are similar to the following:
Response Status Code: 200
Response Header:
And you should receive a response body that contains a list of mashups matching your search-criteria and their individual properties encoded in JSON format, similar to:
Response Body:
The response will help you retrieve video Ids, thumbnails, titles, descriptions, renditions and other relevant information to pass it to your own HTML player within your LMS site. Let's look further into how you may obtain Assessment Reports for the in-video Quizzes based on the IDs we have obtained in the response.
Obtain Quiz Submissions using Quiz IDs
In order to get assessment reports for the Quizzes we have obtained above, we will have to get the Quiz Questions/Answers and scores using api/v1/analytics/search-form-submission
API call.
Assemble the Request Message
Here is how you can send the request to obtain Quiz Submissions using Quiz IDs
Request Method: POST
Request URL:
Request Header:
Request Body:
Process the Response Message
To process the response, parse the response header and the response body. In the HTTPS POST request, you used the /analytics/search-form-submission endpoint to retrieve the list of submissions. Assuming that the response was successful, you should receive response header fields that are similar to the following:
Response Status Code: 200
Response Header:
And you should receive a response body that contains a list of mashups matching your search-criteria and their individual properties encoded in JSON format, similar to:
Response Body: