Last modified: 7 October 2010
This spec corresponds to issue 890. Use that issue to coordinate implementation.
Goal and Motivation
current data model is centered around Videos and Exercises. The goal
of this task would be switch to a data model centered on Activities and
Skills. This model will make it possible to have multiple activities
(potentially by different authors) that provide the same skill.
represents the ability to do something proficiently. Skills can range
from high-level subject areas (e.g. Math) all the way down to very
specific skills that you might find specified in a standard (e.g.
multiplying single digit numbers). Skills can be arranged in multiple
hierarchies corresponding to different standards, pedagogies, etc.
represents something the user does to acquire one or more skills.
Examples of activities include watching a video, reading a book, or
answering questions. Each activity "provides" a set of skills and can
give the system an estimate of the student's proficiency level for each
skill. That estimate could be based on a test given to the student, or
it could be based on the student's own understanding of how well the
material was understood. In addition, each activity can "require" a set
of skills. The system will not suggest an activity if the student is
not proficient in the required skills.
Making the transition
an Activity for each Exercise or VideoPlaylist entity and have it
provide a Skill with the same name. Also create a Skill for each
Playlist and make it a parent Skill for the Skill provided by each Video
in the Playlist. For each Activity based on an Exercise, have it
provides the Skills of the Exercises that it "covers", and require the
Skills of its "prerequisities" Exercises as well as the Skills
associated with each VideoPlaylist entity that is linked to the Exercise
(via both the ExerciseVideo and ExercisePlaylist tables). For each
Activity based on a VideoPlaylist entity, have it require the Skills
provided by the preceding Video in the same Playlist. This transition
won't be perfect but should result in a good starting point for manual