Technologies and standards
Coracle's API - Technical Overview
Coracle’s API is used to allow activities to communicate user progress with the Coracle Learning Line.
Osprey-VLE API comes in three parts:
- The Statement API
- The Activity Profile API
- The Activity State API
These essentially mirror the Statement, Activity Profile and Activity State APIs defined in the Tin Can API (Experience API) specification. The Tin Can specification is maintained by the community in its own GitHub repository, located here
The Coracle API is a REST API built using Django REST Framework. An HTML version of the API can be viewed by authenticated users in a web browser. The same data can be requested from the same URIs/URLs in the Javascript Object Notation (JSON) format.
Authentication is handled by the OAuth 1.0a protocol. This allows statements to be sent to the LRS from anywhere on the internet. Moreover, if activities are able to provide an OAuth client, with which to authenticate to the Coracle LRS, activities can be hosted anywhere on the internet as well.
The Statement API
The Statement API is the core of the Osprey-VLE API. It is the mechanism used to insert and retrieve user learning experiences to and from the Coracle LRS (Learning Record Store).
Statements take the (basic) form “I did this”, or “I did this and scored that”. For example “I understood 'Maths for Professionals, page 1'”, or “I took 'Maths for Professionals Quiz' and scored 75%'”.
As a user progresses through activities, a collection of statements are built up. As these statements build, the strengths and weaknesses of the user become clear to the activity moderators. This data can be used to recommend different or further ways of study, or issue qualifications.
Users only receive data about themselves, whereas moderators can receive data about the activities they moderate.
The Activity Profile API
The Activity Profile API allows activity moderators to provide more data about activities. Activities are separate from Osprey-VLE, so it only knows about activities from the statements that is receives. Activity Profiles allow moderators to supplement this.
We use a specialised profile called “outline”. The outline tells Osprey-VLE broadly what statements it can expect to receive, to allow Osprey-Vle to provider richer reports about the users progress, like those you see as a moderator for activities on Osprey-VLE.
Activity moderators can query this endpoint.
The Activity State API
Activity States are used to record user progress through activities. Osprey-VLE uses an activity state called “progress”, which works alongside an activity which has an “outline” profile. The “progress” activity state keeps track of user scores and progress through outlined activities so that users and moderators can see at a glance how successful their progress is.
Disaster Recovery and Back-Up
Coracle hosts on secure dedicated servers, with back-ups on secondary servers with a different host, and with servers located at separate locations. We also maintain encrypted local copies in Cambridge, UK that could be used to restore service in the event of both of the dedicated servers failing.
Coracle’s Professional Indemnity Insurance is with Hiscox and as a minimum requirement the company complies with the Hiscox E-Risks clause.