moodle 2.0. - web servisi · korištenje web servisa •koraci kreiranje/odabir korisnika kreirati...

18
Moodle 2.0. - Web servisi MoodleMoot 2011 Darko Grabar, Fakultet organizacije i informatike (UniZg)

Upload: others

Post on 02-Nov-2019

29 views

Category:

Documents


0 download

TRANSCRIPT

Moodle 2.0. - Web servisi

MoodleMoot 2011

Darko Grabar, Fakultet organizacije i informatike (UniZg)

Darko Grabar - MoodleMoot Hrvatska 2011

Pregled

• Uvod

• Web servisi

• Podrška za web servise u Moodle 2.0

• Korištenje web servisa

• Razvoj vlastitih funkcija

• Trenutno na FOI

• Zaključak

Uvod

• Ukratko o meni

Radim na FOI-u od 2004 godine

Voditelj Centra za razvoj programskih proizvoda

voĎenje FOI centra za e-učenje

pružanje IT podrške odvijanju redovnih aktivnosti na Fakultetu

suradnja na razvojnim i istraživačkim projektima Fakulteta

Član povjerenstva za e-učenje na FOI

Sudjelovao u izradi strategije za e-učenje na FOI

Vodio tehničku implementaciju e-učenja na Fakultetu

Aktivno uključen u "Open Source" zajednicu

Član Upravnog odbora Hrvatske udruge za otvorene sustave i Internet – HrOpen

Moodle-om se bavim od 2005 godineDarko Grabar - MoodleMoot Hrvatska 2011

Uvod

• Ukratko o Fakultetu organizacije i informatike

Usvojena strategija za e-učenje (2008)

Tri razine e-učenja

Moodle službeni LMS

Svi kolegiji se izvode putem LMS-a

Obavezna razina 1

Financijska podrška nastavnicima

Brojke

Više od 250 kolegija

Više od 4400 korisnika

2940 aktivnih korisnika (u zadnjih mjesec dana)

Darko Grabar - MoodleMoot Hrvatska 2011

Uvod

• Zašto ovo predavanje

Zato jer je novo (a na MoodleMoot-u treba pričati o nečem novom)

Omogućava lako povezivanje s vanjskim sustavima i dohvaćanje podataka

Web

SIS (ISVU!? *#!)

Studentski/nastavnički portal

Omogućava automatizaciju procesa

Kreiranje kolegija

Upisivanje studenata

Zato jer imam priliku pričati o programiranju

Darko Grabar - MoodleMoot Hrvatska 2011

Web servisi

• Web service is "a software system designed to support interoperable machine-to-machine interaction over a network”…Other systems interact with the Web service in a manner prescribed by its description (W3C)

Darko Grabar - MoodleMoot Hrvatska 2011

Podrška za web servise u Moodle 2.0

• Službena podrška – standardni plugin

• Opcija inicijalno isključena – sigurnosni razlozi

• Temelji se na Zend Framework

• Podržani protokoli

REST

SOAP

XML-RPC

AMF

• Automatsko generiranje dokumentacije (potrebno omogućiti)

• Omogućeno korištenje od strane običnih korisnika i vanjskih sustava

Darko Grabar - MoodleMoot Hrvatska 2011

Podrška za web servise u Moodle 2.0

• Podržane metode (trenutno) moodle_course_create_courses: Create new courses

moodle_course_get_courses: Return course details

moodle_enrol_get_enrolled_users: Get list of course participants

moodle_enrol_manual_enrol_users: Manual enrol users

moodle_file_get_files: Browse moodle files

moodle_file_upload: Upload a file to moodle

moodle_group_add_groupmembers: Adds group members

moodle_group_create_groups: Creates new groups

moodle_group_delete_groupmembers: Deletes group members

moodle_group_delete_groups: Deletes all specified groups

moodle_group_get_course_groups: Returns all groups in specified course

moodle_group_get_groupmembers: Returns group members

moodle_group_get_groups: Returns group details

moodle_role_assign: Manual role assignments

moodle_role_unassign: Manual role unassignments

moodle_user_create_users: Create users

moodle_user_delete_users: Delete users

moodle_user_update_users: Update users

Darko Grabar - MoodleMoot Hrvatska 2011

Korištenje web servisa

• Dvije mogućnosti

Korištenje web servisa od strane običnih korisnika

Korištenje web servisa od strane vanjskog sustava

• Koraci

Omogućiti korištenje web servisa (Site administration ▶ Advanced

features)

Omogućiti korištenje željenih protokola (Site administration / ▶ Plugins

▶ Web services ▶ Manage protocols)

Kreirati web servis - skup metoda (Site administration / ▶ Plugins ▶ Web

services ▶ External services)

Kreiranje/odabir korisnika

Darko Grabar - MoodleMoot Hrvatska 2011

Korištenje web servisa

• Koraci

Kreiranje/odabir korisnika

Kreirati novu ulogu (Users ▶ Permissions ▶ Define roles)

Dodijeliti odgovarajuća prava ulozi

(Create a web service token), Use REST protocol, Use SOAP protokol,…sva prava potrebna za pozivanje pojedinih metoda

[Kreirati novog korisnika (Users ▶ Accounts ▶ Add a new user)]

Kreiranom/postojećem korisniku dodijeliti novu ulogu (Users

▶ Permissions ▶ Assign system roles)

Darko Grabar - MoodleMoot Hrvatska 2011

Korištenje web servisa

• Koraci

Pozvati odgovarajući servis

http://<moodle_url>/webservice/<protokol>/server.php<params>http://<moodle_url>/webservice/<protokol>/simpleserver.php<params>

protokol: rest, soap, xmlrpc, amf

• Autentikacija Token [server.php]

Korisničko ime i lozinka [simpleserver.php]

• Sigurnost HTTPS

IP restrikcija (token)

Vremenski rok (token)

Darko Grabar - MoodleMoot Hrvatska 2011

Korištenje Web servisa

DokumentacijaMy profile settings ► Security keys ►

web service documentation

Darko Grabar - MoodleMoot Hrvatska 2011

Korištenje web servisa

REST

Darko Grabar - MoodleMoot Hrvatska 2011

<?xml version="1.0" encoding="UTF-8" ?>

<RESPONSE>

<MULTIPLE>

<SINGLE>

<KEY name="id">

<VALUE>2</VALUE> </KEY>

<KEY name="username">

<VALUE>admin</VALUE>

</KEY>

<KEY name="firstname">

<VALUE>Darko</VALUE>

</KEY>

<KEY name="lastname">

<VALUE>Grabar</VALUE>

</KEY>

….

Korištenje web servisa

Darko Grabar - MoodleMoot Hrvatska 2011

SOAP

array(1) { [0]=> array(17) { ["id"]=> float(2) ["username"]=> string(5) "admin" ["firstname"]=> string(5) "Darko"

["lastname"]=> string(6) "Grabar" ["email"]=> string(19) "[email protected]" ["auth"]=> string(6) "manual"

["confirmed"]=> float(1) ["idnumber"]=> string(12) "Darko Grabar" ["lang"]=> string(2) "en" ["theme"]=>

string(0) "" ["timezone"]=> string(2) "99" ["mailformat"]=> int(1) ["description"]=> string(0) ""

["descriptionformat"]=> int(0) ["city"]=> string(9) "Varaždin" ["country"]=> string(2) "HR" ["customfields"]=>

array(0) { } } }

Razvoj vlastitih funkcija

Novi plugin

Darko Grabar - MoodleMoot Hrvatska 2011

Deklaracija metode/funkcije

Funkcija + opis

Verzija plugin-a$plugin->version = 2010111500.5;

$plugin->requires = 2010111002; // Requires

this Moodle version

Trenutno na FOI

Darko Grabar - MoodleMoot Hrvatska 2011

Zaključak

• Prednosti

Omogućava lako povezivanje s vanjskim sustavima i automatizaciju procesa

Standardna mogućnost (službeni plugin)

Jednostavnost razvoja

• Nedostaci

Trenutno se ne generira ispravni WSDL

Mali broj podržanih metoda/funkcija

Alternativa: OK Tech Web Services

Darko Grabar - MoodleMoot Hrvatska 2011

Kraj

Ima li pitanja?

Darko Grabar - MoodleMoot Hrvatska 2011

Kontakt:

[email protected]

http://www.foi.hr/djelatnici/darko.grabar

Resursi:

http://docs.moodle.org/20/en/Web_Services

http://docs.moodle.org/dev/External_services_security

http://docs.moodle.org/20/en/Web_services_FAQ

http://docs.moodle.org/dev/Developer_documentation

http://framework.zend.com/manual/en/ (Zend_Rest, Zend_Soap, Zend_XmlRpc)