2.0 Drillable object abstract

A drillable is material that can be practiced. It has two appearances:

  • 2.0 Drill — A single drill
  • 2.0 Course — A collection of drills

Just like a single drill, a course can be practiced as a single set of questions; the questions are taken from the drills contained by the course.

Example

{
  "id" : "gDCIpKnSSA-JIFiQxPq31g",
  "name" : "European capitals",
  "subject" : "Geography",
  "type" : "DRILL",
  "size" : 47,
  "description" : "This drill will teach you the capitals of all European countries.",
  "practice" : {
    "proficiency" : {
      "receptive" : 66,
      "productive" : 63,
      "overall" : 64
    },
    "highestProficiency" : {
      "receptive" : 100,
      "productive" : 100,
      "overall" : 100
    },
    "timeSpent" : 42,
    "expectedDuration" : 1661
  },
  "icon" : {
    "type" : "image/jpeg",
    "url" : "https://www.drillster.com/bin/drillable-icon/gDCIpKnSSA-JIFiQxPq31g"
  },
  "cover" : {
    "type" : "image/png",
    "url" : "https://www.drillster.com/bin/cover/8e9851b360f9dd13aac3d4d3576958982873da6f"
  },
  "license" : {
    "type" : "OPEN",
    "text" : "Published under a Creative Commons license",
    "icon" : {
      "url" : "http://i.creativecommons.org/l/by-sa/3.0/88x31.png"
    },
    "link" : "http://www.creativecommons.org"
  },
  "compatibility" : {
    "compatible" : false,
    "unsupportedFeatures" : [ "IMAGE_MEDIA", "AUDIO_MEDIA" ]
  },
  "columns" : {
    "knownColumn" : {
      "name" : "Country"
    },
    "unknownColumns" : [ {
      "name" : "Capital"
    } ]
  },
  "restrictions" : {
    "direction" : "PRODUCTIVE",
    "unknownStyle" : "OPEN_ENDED"
  },
  "affordances" : [ "REMOVING", "PLAYING" ]
}

Fields

Field Type Description
type
required
String

The type of this drillable.

  • DRILL — A single drill
  • COURSE — A collection of drills
id
required
String

The unique ID of this drill or course.

Example value: gDCIpKnSSA-JIFiQxPq31g

name
required
String

The name of the drill or course.

Example value: European capitals

subject
required
Strings

The subject of the drill or course.

Example value: Geography

description
required
String

A description of the drill or course.

Example value: This drill will teach you the capitals of all European countries.

size
required
Integer

The number of entries in this drill or course.

practice
optional
2.0 Practice object

Information about the user's current status of this drill or course. It is only included if the user calling this API endpoint has the drill or course in his repertoire.

icon
required
2.0 Media object

The MIME type and location of the icon that represents this drill or course.

cover
optional
2.0 Media object

The MIME type and location of an optional cover image for this drill or course.

license
optional
2.0 License object

An optional copyright license that applies to this drill or course.

compatibility
optional
2.0 Compatibility object

The compatibility indicates whether the client application calling this API endpoint is capable of serving this drill or course to the end user. If it is not capable, the client application should decide what to do with this drill, e.g. hide it from the end user.

A client application is compatible with the drill or course if it has implemented all optional Drillster features that the drill or course is using. These features can be specific media types used in the drill (such as audio), or question types like sequence questions. If your client application supports practicing drills, you can (and should) configure the Drillster features it supports to see correct the compatibility for each drill or course.

This object is only included if the drill or course is not compatible. A list of features that are not supported by the client application, but are required by this drill or course is included.

Example value:

{
  "compatible" : false,
  "unsupportedFeatures" : [ "IMAGE_MEDIA", "AUDIO_MEDIA" ]
}

columns
optional
2.0 Columns object

Information about the configured columns and their names. A drill always has exactly one known column, and one or more unknown columns.

Example value:

{
  "knownColumn" : {
    "name" : "Listen"
  },
  "unknownColumns" : [ {
    "name" : "Spell"
  } ]
}

restrictions
optional
2.0 Restrictions object

Information about the practice restrictions imposed on this drill by the author. Features not specified here are not restricted.

Example value:

{
  "direction" : "PRODUCTIVE",
  "unknownStyle" : "OPEN_ENDED"
}

affordances
optional
List of strings

A list of affordances expressed as strings. An affordance represents a possible action that the requesting user might undertake on a drillable object.

Example value:

[ "REMOVING", "PLAYING" ]