YardStick LMS - A Yardstick Education Initiatives product - is Dubai’s leader in designing and implementing learning programs for the students. They aim to transform the conventional system of education by providing modern-day learning with digital solutions by focusing on the pedagogies which emphasize on learning by doing.

The LMS serves all the stakeholders in a child’s education – from parents, teachers, and administrators to the students. With easy to understand and engaging content empowered by advanced technology, Yardstick LMS effectively creates a smart, personalized, and interactive learning environment via hands-on educational activities.

The curriculum focuses on unleashing creativity, real-life application, and understanding rather than memorizing, inquiry-based hands-on approach.

They provide the option to onboard multiple schools using the same platform at the same time and each school can opt for multiple modules for various grades so as to personalize the system according to their needs.

Everything starts at Y!

yardstick LMS homepage with an image of students looking at an experiement
Why Drupal was chosen: 

Across globe many prestigious higher education institutions trust Drupal and use it for their website. Popular in the education vertical for providing the niche features, Drupal wasn’t a tough choice.

But what really set it apart from the other CMS was the project’s needs and its handy solution in Drupal. Here’re the seven reason why Drupal was chosen:

  1. Complex architectural requirement of the project
  2. SCORM Compliance
  3. Need for Easy Content Authoring
  4. Content and User Access Control
  5. Stable API integration support
  6. Easy Workflow Management
  7. Robust and Scalable
  8. Mobile Friendly
  9. Need of high level customization
  10. Secure
Describe the project (goals, requirements and outcome): 

Goals

The primary goal of the project was to provide the option to onboard multiple schools using the same platform at the same time. Each school could opt for multiple modules for various grades so as to personalize the system according to their needs.

This meant designing the architecture such that it was easy for institutions to integrate their data with the LMS without slowing down the system.

Since one of the goals of the organization was to make learning a joyful experience, additional features to achieve this needed to be added.

Feature Requirement:

  1. SCORM
  2. Hierarchical User management: School, Grade, Section for the students. School Admin, the Program manager who is responsible for few schools
  3. Subscription for school and dependent access handling (include roles and permission)
  4. Adaptive Quiz
  5. Extensive reporting
  6. Custom login integration for each school
  7. Mobile First
  8. Ticketing System
  9. Message broadcast to the selected audience
  10. Flexible Course Structure
  11. Tasks for students and Evidence collection

One of the many reasons to choose Drupal was to comply with SCORM standards.

  1. SCORM which stands for Shareable Content Object Reference Model is a set of technical standards for eLearning software products. One of the major advantages of SCORM is it not only helps govern how online learning content and the LMS communicate but it also tells programmers how to write their code. This helps so that CMS to “play well” with other eLearning software. At its core, SCORM allows content authors to distribute the content to a variety of LMS with the smallest headache possible. And for an LMS to handle content from a variety of sources.

  2. Different Content Types were needed to make the LMS dynamic in nature. Content-Type along with paragraphs was used. Paragraph adds the dynamics nature to each component of the content types like Quiz, Video, and PDF Lesson plan.
    • Yardstick Quiz is responsible for the whole functionality of the quiz component. It would generate quiz, quiz palette, and generate
      quiz report after quiz completion based upon the validation of the visibility of the report.

      There are three types of the report -
      1) Individual-level quiz in which one’s quiz performance is evaluated
      2) The sectional level report in which quiz performance for each section is evaluated
      3) Grade level report where quiz performance for all sections is compared.

    • Quiz Result is a very complex and deep calculation result. The skill level score comes into picture here. A skill level score is linked with every question. A student is awarded full score if a question is correctly attempted. Another score is knowledge level score which is the marks associated with the question. Score calculation for knowledge level score is the same as for Skill level score.

      The real implementation level challenge comes into picture while generating the report. The report shows the progress and comparison of the score with class and grade for each section of the question. Storing preprocessed data and using right data structure helped to minimize the computation at the time of report generation.

      Quiz, questions, and options all are different entities. The same question could be used for different quiz to reduce the redundancy of the data. Questions could image, video or simple text to improve the variation.

    • Custom content types were required. The core part of the LMS system resides in the Course. Course is a content type which can store various information such as components, concept, description, objective, subject, and syllabus.

      We can add any number of components. Different types of components needed and integrated were Task, Quizz, Video Task, Extension, Feedback, Inspiration, PDF Lesson Plan, Real Life Application, and Scientific Principles.

  3. User Roles and permission to be added for different kinds of users. User roles were assigned based on simple Hierarchical User management. Four roles were defined for users, they are - Yardstick Administrator, School Administrator, Teacher, and Student. We are storing several pieces of information for the user out of which some fields are common and some are specific as per role. Common fields used were a username, email, password, gender, role, first name, last name, profile picture, telephone, date of birth, school.

    • Since some schools were already using some other web application for the website. Since the schools wanted to use the same login credentials YardStick Custom Login was used to avoid saving many passwords. Custom login allowed same login credentials to login to the YardStick system. The backend would provide an endpoint to verify the login credentials and upon the success logged in the user in the YardStick LMS.

    • Since the option to register users was not given, creating account for thousands of students could have been a hectic job. Bulk User Import was executed to help the administrator import and create users. This could be done by importing CSV file along with an option to send invitation mail to all the users with login credentials.

    • User login and validation is an important feature. YardStick Validation was used to provide validation across the site related to access permission and some time validation. This restricted certain users to have access to certain web pages and content. Also there are some content which is supposed to be visible after some point of time only. So all these validations are defined in YardStick Validation.

    • Subscription for different schools and dependent access handling. The School Admin could modify the school version as per their needs. While creating a subscription, the administrator could provide features that could be accessible to the students. It allowed school admin to different components and only components with past date are accessible.

  4. Mobile First was another must-have feature to provide easy access to the different users from their mobile devices.

  5. Message broadcast to selected audience to share certain information with selected individuals or a group such as a particular class.

  6. Ticketing system with defined user roles to tag and assign the job. This was to be used when a student comes across an issue and school program manager was to be assigned the issue.

  7. Secure user login with session limits set per user per device. This function was created to secure the number of sessions. The custom code was used to check the database and login credentials and upon checking the number of devices, log out the user from the previous devices.

  8. Yardstick needed a highly flexible course structure in order to enable the course creator to include almost anything to the curriculum. The course would contain interactive video lectures, assignments and task, quiz, guidelines for the teachers. It also covered the visibility of the content such as when a user is on a course page, how much of the course content is displayed according to the user role and permissions. Of course, Drupal is the savior fulfilling this complex requirement with simple content types, views, user roles and access permission.

  9. Tasks needed to be assigned to the students. This was made possible with a custom module which made the assignment and submission of tasks easy. The possible option to submit the assigned task was to provide students with a text area and file upload widget. Task or assignment was part of the module and the students could only submit the same before a certain time period.

    Yardstick provided students with a kit of equipment for each module. After the learning, students could perform the activity and submit the evidence of the task in form of video and images within the deadline.

Outcome

The project was divided into two phases:

Phase One: The architecture was laid down for the client. With defined content types and features set in.

Phase Two: Possible improvements in architecture. Other features were added such as - Dashboard design,

  1. Ticketing system,
  2. Messaging system,
  3. Quiz for teachers,
  4. Quiz questions to be adaptive. Successive questions to be dependant on the previous answers submitted by the student. Further, the questions would have different sub-components such as options, marks, skill level score, concept, learning objective and average time to answer.

Technical specifications

Drupal version: 
Drupal 8.x
Why these modules/theme/distribution were chosen: 

Modules Used

  1. CKEditor - to ensure structured content and clean markup and easy editing and preview
  2. Views - Arrange the content and blocks according to the needs
  3. Taxonomy - to allow classification of website content. An important part of your information architecture.
  4. Private message - The module comes with a notification block, indicating the number of unread threads since the user last visited the private message page.
  5. Panels - allows a site administrator to create customized layouts for multiple uses.
  6. Field permissions - Allows site administrators to set field-level permissions to edit, view and create fields on any entity.
  7. Paragraphs - to make things cleaner so that you can give more editing power to your end-users.
  8. Web form - to make forms and surveys in Drupal. After a submission customizable e-mails can be sent to administrators and/or submitters.
  9. Video embed field - to create a simple field type that allows you to embed videos from YouTube and Vimeo and show their thumbnail previews simply by entering the video's url
  10. Views data export - to provide a way to export large amounts of data from views.
  11. Entity clone - to add a new entity operation which allows to clone many of the entities.
  12. Admin toolbar - to improve the default Drupal Toolbar and provide a fast access to all administration pages.
  13. CKEditor upload image - to enable Drupal's default WYSIWYG text editor capable of uploading images that were dropped or pasted from clipboard into the editor as inline image.
  14. SMTP - to bypass the PHP mail() function and send email directly to an SMTP server.
  15. Pathauto - to generate URL/path aliases for various kinds of content
  16. Token - to define patterns or large chunks of text that contain programmatically derived values.

Theme

  1. Bootstrap 3 - for a powerful mobile first front-end framework for faster and easier web development.
Organizations involved: 
admin interface with six blocks and images on them
quiz report with four horizontal blocks
One block on left with video and second on right
Sectors: 
Education