Tuottajan liittyminen EduStoreen

Vaatimukset integraatiota varten

  1. Tuottajalla pitää olla tunnukset Edustore Repositorioon.
  2. Integraatiota varten salainen avain, joka löytyy hallintakäyttöliittymästä.

Kuinka oppimateriaali lisätään järjestelmään

Testaus

Rajapinta

Tuottajan tulee tehdä omaan järjestelmään SSO-palvelurajapinta, joka tarkistaa EduStore:sta tulevan viestin aitouden. Jokaisella tuottajalla on oma salainen avain, jonka avulla tulevat viestit tarkistetaan. Tuottaja joutuu tarkistamaan viestin aitoiden sekä aikaleiman. Palvelimien kello tulee olla NTP-synkronisoitu mikäli aikatarkistusta tehdään. Yleisenä ohjesääntönä on pidetty -+30 sekuntia katselulinkin luonnista.

Oppimateriaali

Kaikki tuottajan oppimateriaali pitää olla EduStore-järjestelmässä. Perusvaatimuksena tietosisällön suhteen Suomessa ovat:

Käyttäjän ohjaus

Perusperiaate käyttäjän ohjauksessa, kun siirrytään oppimialustasta tuottajan järjestelmiin:
1. Oppimisalusta
2. EduStore (käyttöoikeustarkistukset ja tilastointi)
3. Tuottajan SSO (kirjautuminen) ja ohjaus oikeaan oppimateriaaliin.

Välitettävät tiedot

EduStore-rajapinta välittää tuottajalle seuraavat tiedot:

Parametri Kuvaus
firstnameetunimi
lastnamesukunimi
usernamekäyttäjätunnus
emailsähköposti (Mikäli LMS välittää tämän tiedon.)
lms_user_idEduStoren yksilöllinen käyttäjätunniste.
lms_course_idKurssin tai sivun tunniste.
dikaios_resource_uidEduStore oppimateriaalitunniste
organization_idOppilaitos tai koulu. Tämä kenttä tulee aina
resource_urloppimateriaalin URL Tuottaja voi siirtää tässä haluamansa tietoa. Tämä kenttä välittyy sellaisenaan oppimateriaalin tiedoista.
publisher_material_idoppimateriaalitunniste Tuottaja voi siirtää tässä haluamansa tietoa. Tämä kenttä välittyy sellaisenaan oppimateriaalin tiedoista.
user_roleroolit (student, teacher, admin)
citykunta
city_idkunnan y-tunnus
schoolkoulu
school_idkoulutunniste (tilastokeskus).
license_folderLisätieto: lisenssitarkenne esim. A1.
demo_modeesittelytila (mahdolliset arvot 0 tai 1) Oppimateriaali on pilottissa oppilaitoksessa.
previewesikatselu (mahdolliset arvot 0 tai 1) Esikatselu alustasta käsin.
history_idTapahtumatunniste 64 merkkiä pitkä tunniste. v3 ja v3.1
dikaios_context_idGlobaalisti uniikki kurssin tunniste. v3.1
chargeableOnko käyttö laskutettavaa vai ei(0 tai 1). v3.1
organization_nameOrganisaation nimi kokonaisuudessa. esim. "Helsingin kaupunki/Koulu XXXX" v3.1
is_school_resolvedOnko käyttäjän koulu selvitetty tai tiedossa oleva. v3.1
token_dateAikaleima GMT-ajassa esim. 2014-10-14T07:34:40+00:00
versionrajapinnan versio
hmacTarkiste laskettu koko params-kentästä ja tuottajan omasta salaisesta avaimesta.

Esimerkki tuottajalle tulevasta pyynnöstä

Tässä esimerkissä:
secret_key = ff3b3acc64a3e4213317e95b03486f6dc67ea7bf
hmac lasketaan käyttäen koko params-merkkijonosta.

Esimerkki tarkistuksen laskennasta:
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

Toimiva esimerkki-URL linkistä, joka muodostetaan oppimateriaalin katselutilanteessa.

Params:ssa käytetään utf8-merkistöä. Edustoressa muodostuva URL-kokonaisuudessaan. :
/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-parametrit:
params: {"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}
hmac: 67705f0f0dd0ce5b990600c01303e3152c8449ed
Esimerkki tietosisällöstä, joka on pakattu params json-muotoon:
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:
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