Course for Drupal Quiz - Presentation

Post on 30-Nov-2015

32 views 1 download

Tags:

Transcript of Course for Drupal Quiz - Presentation

Building a Learning Management Systemin Drupal

Assessment, accreditation, and certificates - Using Course and other Drupal modules!

Devin Zuczek (djdevin)Module maintainer, DLC Solutions

Scott Rigby (scottrigby)Module maintainer

Hi.

We'll be talking about:● Course module and the problem space it

addresses● Initial approaches● Current state of Course module

○ Functionality■ Course objects■ Crediting■ Certificates

○ API○ Interoperability

● Demo/Q & A

The problem

● We wanted the flexibility of Drupal as a CMS and framework

● Plus, the learning capabilities of○ Moodle

■ Quiz, Questionnaire, HTML○ SCORM○ LTI

The (first) solution

● Build a module to create/manage external courses in Drupal, using Course as a wrapper

● Use Moodle (or another 3rd party) as the outline

Problems!● No control over

workflow● Learner in iframe

the whole time● Many intrusions

into 3rd party software

● Hard to tie in Drupal content

But hey!

Drupal already has everything we need!

The ingredients:● Quiz● Webform● Content (CCK)● Book● Registration/Signup● Commerce/Ubercart● Certificate

We just need something to glue it all together and bake up an LMS!

Course 1.0 - The (better) solution

● An object-oriented, pluggable module. Let modules provide course objects

● Use Drupal as the outline○ Treat every object individually○ Automatic instance creation of objects

● Only get important pieces of data from course objects○ Delivering the object○ Reporting/Completions

● Let Drupal and Course manage the objects in a configurable course outline

Building a courseIt's easy, really.

Course outline UI

Object configuration

Object access

Workflow

Workflow

Learning materialAdding objects to the course outline, look at all the built-in support for existing Drupal modules

Basic content

1. Use course_content module to expose content types

2. Create nodes of a specific type through the course outline

3. Completion happens when a user visits the node

Interactive content

● Quiz○ Checks for passing

grade

● Webform○ Checks for

submission

● Poll○ Checks for vote

● Book○ Checks for view,

custom requirements planned

● Ubercart○ selling access to

courses ○ blocking progress

Content privacy

● Restricting course content to enrolled users who have access to the course object

● Content Access (content_access)

● Access Control Lists (acl)○ Together, these allow Course to grant and revoke

access to content based on enrollment in an object.

Attendance and Manual Steps

● Course supports Signup as a course object

● Let users sign up (enroll) for courses, then block progress past certain points

● Signup's built in attendance tracking completes the object, and allows the learner to proceed.

● Similar to Signup, we can block access with a manual course object that does not fulfill itself.

CreditingAwarding credit on course completion

Crediting

● With Course Credit, we can award credit to learners when they complete a course

● Support for○ Variable credit○ Multiple credit types○ Expiration○ Eligibility

Credit claiming

Type mapping

Course settings

Credit claiming

Learner claim screen

CertificatesAwarding pretty PDF certificates on course completion

Certificates

● Certificate module can generate a PDF certificate on course completion

● PDF generation on top of Print module

● Tokenized, node-based templates

● Certificate snapshots

● Map certificate based on profile fields, type of credit claimed, Rules support

Certificate mapping

Reporting

● Course has a built in report area that aggregates all module-provided reports

Course APICreating new course objects

Inheritance Tree (replace with better image)

API Example (course_quiz)

● Course objects declare their class, and context functions

API Example (course_quiz)

Module provides own context ->

Module tracks completion

APIExample

Example from course_quiz

SCORM/LTI and Interoperability

● cck_scorm○ D6 only, uses Moodle functions. Supported by

course_scorm

● Moodle○ Use course_moodle to create Moodle SCORM

objects

● Course LTI (course_lti)○ Provide course as LTI object (provider), use lti

module○ Consume other courses as requirements

Live demo!

Q & A

Class - any questions?

anyone… anyone…?

Credits

Commercially Supported Drupal LMS!

Course is the result of the efforts for many organizations to build a flexible learning platform using Drupal.

Resources

● Course module - D6, D7○ http://drupal.org/project/course○ http://drupal.org/project/course_credit○ http://drupal.org/project/course_relationships

● Certificate module○ http://drupal.org/project/certificate

● Moodle object support○ http://drupal.org/project/course_moodle

● LTI (coming soon)○ http://drupal.org/project/lti

● Quiz○ http://drupal.org/project/quiz