Upload
others
View
29
Download
0
Embed Size (px)
Citation preview
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
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:
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)