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
String 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 their 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.
creator
required
2.0 Actor object The creator of the drillable. This can either be the organization of the creating user, or the creating user.
owner
optional
2.0 Actor object The owner of the drillable. The owner by default is the creator of the drillable. Optionally can either be the organization of the creating user, the co-author of the playable or a customized owner name.
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.
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.
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.
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" ]