Information for publishers on joining Dikaios

Integration requirements

  1. A Publisher must have login credentials to the Dikaios Repository.
  2. If a publisher wishes to test the user experience of an e-learning environment, a test e-learning environment is needed.
  3. A private key is needed for integration, which can be foud on management page.

How are learning materials added to the system

Testing

Testing will conducted via provided test e-learning environment. The following e-learning environments have been integrated into the

Unfortunately, we can only provide test access credentials to Moodle.

Interface

A publisher must implement a SSO service interface for its own system, which is used to check the authenticity of messages coming from the Dikaios. Each publisher has their own private key, which is used in the authentication process. A publisher must verify both the authenticity and the timestamp of a message. If timestamps are used, server's time must be synchronized via NTP. As for the validity of timestamps, as a general rule, time period of +- 30 seconds from creation of a view link is considered to be valid.

Learning materials

All learning materials from a publisher must be available in the Dikaios. In Finland, at least the following information is required:

User redirection

As a general rule for steps in user redirection, when moving from e-learning environment to the publisher's own service
1. E-learning environment
2. Dikaios (user rights management and usage statistics)
3. Publisher's SSO (log in) and directing to the selected learning material.

Transmitted data

Dikaios provides publishers with the following data:

Parameter Description
firstnameFirst name
lastnameLast name
usernameUser name
emailE-mail address (if LMS is providing this information)
lms_user_idDikaios unique user identifier
lms_course_idCourse or page ID
dikaios_resource_uidDikaios learning material ID
organization_idSchool / institution
resource_urlURL for learning material. A publisher can use this field to provide information. This field will be passed as such.
publisher_material_idID for learning material. A publisher can use this field to provide information. This field will be passed as such.
versionInterface version
user_roleRoles (student, teacher, admin)
cityCity / municipality
city_idCity / municipality Business ID, e.g. 1234567-8
schoolSchool
school_idSchool's ID (provided by Statistics Finland)
license_folderAdditional information: specifier for a license, e.g. A1.
demo_modeDemo mode (possible values 0 or 1). Learning materials are in pilot usage at the school / institution.
previewPreview (possible values 0 or 1). Preview view.
history_idEvent identifier, 64 chars. v3 and v3.1
dikaios_context_idGlobal unique course identifier. v3.1
chargeableIs the usage chargeable (0 or 1). v3.1
organization_nameFull length name of the organization, e.g. "City of Helsinki / School XXXX" v3.1
token_dateTimestamp, GMT time, e.g. 2014-10-14T07:34:40+00:00
hmacHash, calculated from whole params field and publisher's private key.

Example of an incoming request

In this example:
secret_key = ff3b3acc64a3e4213317e95b03486f6dc67ea7bf
hmac Will be calculated using the whole params string.

Example on calculating hash:
hmac = sha1_hmac("{"firstname":"Etunimi","lastname":"Sukunimi","username":"esim_01","email":"esim@esim.fi","lms_user_id":1,"lms_course_id":"111","dikaios_resource_uid":"77130FB4-FD8A-7BF2-770B-BA3801DBAAB3","organization_id":null,"resource_url":"JULKA-URL","publisher_material_id":"JULK123","user_role":"teacher","city":"Tampere","city_id":"0211675-2","school":"Demokoulu","school_id":"12345","demo_mode":0,"preview":1,"token_date":"2014-10-15T07:28:13+00:00","version":3} ", 'ff3b3acc64a3e4213317e95b03486f6dc67ea7bf');
	hmac = 67705f0f0dd0ce5b990600c01303e3152c8449ed
	

Working example URL link, which will be generated during viewing of learning material.

Params uses UTF-8 character encoding. URL generated at EduStore in its entirety:
/docs/examples/?params=%7B%22firstname%22%3A%22Etunimi%22%2C%22lastname%22%3A%22Sukunimi%22%2C%22username%22%3A%22esim_01%22%2C%22email%22%3A%22esim%40esim.fi%22%2C%22lms_user_id%22%3A1%2C%22lms_course_id%22%3A%22111%22%2C%22dikaios_resource_uid%22%3A%2277130FB4-FD8A-7BF2-770B-BA3801DBAAB3%22%2C%22organization_id%22%3Anull%2C%22resource_url%22%3A%22JULKA-URL%22%2C%22publisher_material_id%22%3A%22JULK123%22%2C%22user_role%22%3A%22teacher%22%2C%22city%22%3A%22Tampere%22%2C%22city_id%22%3A%220211675-2%22%2C%22school%22%3A%22Demokoulu%22%2C%22school_id%22%3A%2212345%22%2C%22demo_mode%22%3A0%2C%22preview%22%3A1%2C%22token_date%22%3A%222014-10-15T07%3A28%3A13%2B00%3A00%22%2C%22version%22%3A3%7D&hmac=67705f0f0dd0ce5b990600c01303e3152c8449ed
GET parameters:
params: {"firstname":"First name","lastname":"Last name","username":"example_01","email":"example@example.fi","lms_user_id":1,"lms_course_id":"111","dikaios_resource_uid":"77130FB4-FD8A-7BF2-770B-BA3801DBAAB3","organization_id":null,"resource_url":"JULKA-URL","publisher_material_id":"JULK123","user_role":"teacher","city":"Tampere","city_id":"0211675-2","school":"Demo school","school_id":"12345","demo_mode":0,"preview":1,"token_date":"2014-10-15T07:28:13+00:00","version":3}
hmac: 67705f0f0dd0ce5b990600c01303e3152c8449ed
Example of data contained in JSON encoded params:
firstname: First name
lastname: Last name
username: example_01
email: example@dikaios.fi
lms_user_id: 1
lms_course_id: 111
dikaios_resource_uid: 77130FB4-FD8A-7BF2-770B-BA3801DBAAB3
organization_id:
resource_url: JULKA-URL
publisher_material_id: JULK123
user_role: teacher
city: Tampere
city_id: 0211675-2
school: Demo School
school_id: 12345
demo_mode: 0
preview: 1
token_date: 2014-10-15T07:28:13+00:00
version: 3

SCORM packaged content

Content will be served directly via Dikaios. In this case integration into the publisher's systems isn't required.

Adding learning materials

Publisher can add learning material via an user interface. It is also possible to use push type of adding.

Learning outcomes

Publisher returns evaluation information via an interface to the Dikaios LRS

Publisher returns learning outcomes automatically

Publisher has an interface

Publisher must implement both course and student feedback systems. Feedback queries must use dikaios_resource_uid or lms_course_id.

Direction

User can move, via a link, from Dikaios learning outcomes viewer to a publisher's own system.

Updating learning materials via REST interface

Proceed to examples of using Dikaios publisher's interface.