kreiranje novih blokova za moodle

15
Microsoft Partner u uenju Naziv seminara:Elektronsko uenje Završni rad seminara : Elektronsko uenje Kreiranje novih blokova za Moodle platformu Polaznik: Zoran Nikoli Prva tehnika škola - Kragujevac Kragujevac, januar 2010. god.

Upload: zvezdana-nikolic

Post on 05-Dec-2014

666 views

Category:

Education


6 download

DESCRIPTION

Seminarski rad Z.Nikolic

TRANSCRIPT

Page 1: Kreiranje novih blokova za moodle

Microsoft Partner u u�enju

Naziv seminara:Elektronsko u�enje

Završni rad seminara : Elektronsko u�enje

Kreiranje novih blokova za Moodle platformu

Polaznik:

Zoran Nikoli�

Prva tehni�ka škola - Kragujevac

Kragujevac, januar 2010. god.

Page 2: Kreiranje novih blokova za moodle

2

S � D R Ž A J Strana

1. Uvod.................................................................................................................................. 3

2. Radno okruženje ................................................................................................................ 4

2.1. Instalacija PHP-a......................................................................................................... 4 2.2. Editor .......................................................................................................................... 6 2.3. Internet pretraživa�...................................................................................................... 8

3. Objektno orijentisano progamiranje.................................................................................... 9

3.1. Osnovni termini koji se koriste u OOP ........................................................................ 9 3.2. Osnovna klasa za Moodle blokove -moodleblock.class................................................ 9

4 Kreiranje novih blokova.................................................................................................... 11

4.1. Postupak za kreiranje novog bloka ............................................................................ 11 4.1. Primer kreiranja jednog bloka ................................................................................... 11

5. Zakju�ak

Litertura............................................................................................................................... 15

Page 3: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

3

1. UVOD Moodle je projekat otvorenog koda i za razliku od drugih otvorenih sistema posebna pažnja je posve�ena podršci korisnicima tako da pored podrške za instalaciju i dokumentacije postoji forum kao i lista naj�eš�e postavljanih pitanja (FAQ ) . Pored velikog broja neposrednih korisnika ( prema poslednjim statistickim podacima oko 32 miliona) postoji i velika grupa ljudi koji u�estvuju u razvoju ove platforme i to na slede�e na�ine :

- testiranjem modula - dogradnjom postoje�ih modula - pružanjem podrške korisnicima - lokalizacijom na svoj jezik - izradom novih tema - izradom novih modula i blokova .

Ovaj rad ima za cilj da svima onima koji bi želeleli da se oprobaju u kreiranju novih blokova da osnovne smernice kako da na što jednostavniji nacin formiraju radno okruženje , uputi ih na postoje�u dokumentaciju i na jednostavnim primerima pokaže da ova materija nije tako teška kao što na prvi pogled izgleda.

Page 4: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

4

2. RADNO OKRUŽENJE Moodle je aplikacija koja je napisana koriš�enjem PHP- a i da bi mogli da razumemo izvorni kod potrebno je elementarno poznavanje ovog jezika. PHP je programski jezik za izradu dinami�kih i interaktivnih web stranica. To je serverska tehnologija što zna�i da se on izvršava na web serveru a njegovim izvršavanjem se kreira web stranice koja se onda šalje korisniku i bude vidljiva u njegovom pretraživa�u. Da bi mogli da po�nemo sa radom u PHP – u potrebno je da na ra�unaru imamo instalirane slede�e komponente : - neki web server - instaliran PHP - instaliranu neku bazu npr. MySQL - editor za obradu teksta - neki internet pretraživa�. Ukoliko smo na svom ra�unaru ve� instalirali Moodle i on radi onda ve� imamo sve potrebne preduslove za rad u PHP – u.

2.1. Instalacija PHP-a Iako je mogu�e instalirati posebno web server, PHP i MySQL, potrebno je prili�no vremena i znanja kako biste ih ispravno podesili i pripremili za rad. Zbog toga je bolja varijanta da se izabere neka od instalacija koja sve te komponente instalira odjednom uz minimalna dodatna podešavanja. Jedna od varijantni je da preuzmete Web platform installer sa slede�e lokacije http://www.microsoft.com/web/Downloads/platform.aspx a potom pokrenete instalaciju i obeležite opcije Web sever , Database i PHP .Bi�e vam postavljena pitanja u vezi sa korisni�kom imenom i sifrom za MySQL bazu ,pri �emu je izbor na vama ali obavezno zapamtite podešavanja koje ste izabrali. Tako�e gde god se traži ime servera navedite kao ime localhost. Druga varijanta je da instalirate XAMPP koga možete skinuti sa slede�e lokacije http://www.apachefriends.org/en/xampp-windows.html a potom kreirate folder C:\xampp i iskopirate ga u ovaj folder.Potom pokrenite xampp-control.exe i obeležite opciju Apache i MySql kao na slici 1.

Slika 1.XAMPP Control panel

Page 5: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

5

Ukoliko smo sve ovo uradili kako treba možemo i napisati prvi PHP program. U

folderu c:\xampp\htdocs kreirajmo folder proba kao na slici 2.

Slika 2.Folder c:\xampp\htdocs\proba U editoru napišemo sledeci kod : <?php /* Ovo je samo komentar . */ echo "Ovo je prvi PHP program !"; ?> i snimimo kao prvi.php u folderu c:\xampp\htdocs\proba .Potom u web pretraživa�u otkucamo http://localhost/proba/prvi.php i dobijemo rezultat kao na slici 3.

Slika 3.Prvi program u PHP

Page 6: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

6

2.2. Editor PHP kod možemo pisati u bilo kom tekstualnom editoru ali je rad mnogo komforniji ako koristimo neki od editora namenjenih za tu svrhu.Ovakvi editori imaju kontolu sintakse , otkrivanje grešaka, FTP konekciju kao i niz drugih korisnih opcija.Jedan od takvih je i PhpDesigner koga možemo preuzeti sa linka http://www.mpsoftware.dk/downloads.php .

Slika 4. PHP Designer u radu Veliki broj PHP programera voli da koristi Eclipse koji predstavlja integrisano razvojno okruženje namenjeno pre svega programerima u JAVI .Ako želimo da ga koristimo onda ga prvo prebacimo na svoj ra�unar sa slede�eg linka http://www.eclipse.org/downloads. Raspakujemo zip fajl u folder koji nazovemo Eclipse a potom startujemo eclipse.exe. U slede�em koraku definišemo radni prostor (worspace) gde �e se �uvati naši projekti. Potom kliknemo na OK pa dobijemo nov prozor na kome izaberemo opciju workbench . Ovo se ina�e radi samo prilikom prvog startovanja Eclipse okruženja . Slede�i korak je da podesimo Eclipse za PHP a to radimo tako što dodamo plugin za PHP phpeclipse koristeci slede�i link http://sourceforge.net/projects/phpeclipse/ . Ostaje nam samo još da izaberemo odgovaraju�u perspektivu kao na slici 5. i napišemo neki PHP kod kao na slici 6.

Page 7: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

7

� �

Slika 5. Izbor PHP perspektive

Slika 6. Eclipse podešen za PHP

Page 8: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

8

2.3.Internet pretraživa� Kao internet pretraživa� poželjno bi bilo da koristimo neki koji ima mogu�nost dinami�kog editovanja CMS,HTML i javascript koda.Ukoliko koristimo Internet explorer 8 on ima svoj Developer Tools koga startujemo sa F12 kao na slici 7.

Slika 7.Startovan Developer Tools

Ukoliko koristimo Firefox onda možemo dodati Firebug plugin sa kojim postižemo iste efekte kao da koristimo IE8.

Page 9: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

9

3. OBJEKTNO ORIJENTISANO PROGRAMIRANJE

Objektno orijentisano programiranje (OOP) je postalo popularno devedesetih godina prošlog veka.Danas mnogi programski jezici ( Java , C++ ,C#, PHP,JavaScript ) podržavaju OOP. Za razliku od klasi�nog programiranja gde je program skup funkcija ili lista instrukcija koju mašina izvšava u OOP –u svaki objekat je sposoban da prima poruke da obradjuje podatke i da šalje poruke drugim objektima. Svaki objekat može biti posmatran kao jedna nezavisna mašina sa svojom posebnom ulogom i odgovornoš�u��

���������Objektno orijentisano programiranje je posebno pogodno koristiti kod ve�ih softverskih projekata ,kakav je i Moodle, jer omogu�uje lakši razvoj kao i lakše održavanje programa.�

3.1. Osnovni termini koji se koriste u OOP

Klasa (Class) -�Pomo�u klase se definišu karakteristike objekta���

Objekat (Object) - Predstavlja konkretizaciju (Instance) Klase.

Konstruktor(Constructor) - Metod koji se poziva pri konkretizaciji objekta.

Osobine (Property) - Karakteristika (atribut) objekta.

Metod (Method) - Sposobnost (funkcionalnost) objekta.

Nasle�ivanje (Inheritance) - Klasa može da nasledi karakteristike neke druge klase

U�aurivanje (Encapsulation) - Samo klasa definiše karakteristike objekta, a samo metod definiše sposobnosti (funkcije) koje objekat poseduje.

Apstrakcija (Abstraction) - Metode i osobine (atributi) simuliraju realnost koja se modelira objektima (klasama).

Polimorfizam (Polymorphism)- Razli�ite klase mogu definisati iste metode i atribute..

3.2. Osnovna klasa za Moodle blokove -moodleblock.class Moodleblock.class.php je fajl koji se nalazi u folderu c:\xampp\htdocs\moodle\blocks Možemo ga otvoriti u nekom tekstualnom editoru i pogledati šta se u ovom fajlu nalazi. Ovde je definisana osnovna (roditeljska klasa) za rad sa Moodle blokovima.Naziv ove klase je block_base i svi drugi blokovi predstavljaju derivat ove klase.Pored ove klase u ovom fajlu nalazi se i klasa block_list koja je derivat klase block_base . Ukoliko želimo da detaljno pregledamo ove klase onda je najbolje da koristimo slede�i link xref.moodle.org����gde prona�emo moodleblock.class.php kao na slici 8.

Page 10: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

10

Slika 8.Pregled Block_base klase Uo�imo neke bitne elemente koji se javljaju : class block_base { - Ovako po�inje klasa - Izme�u zagrada je sve ostalo } - Ovako se završava klasa define('BLOCK_TYPE_LIST', 1); - Definicija konstante var $title = NULL; - Ovako su definisane osobine klase function block_base() { - Ovo je konstruktor klase $this->init(); - Pristupamo osobini objekta } - Završetak konstruktora

Page 11: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

11

4. KREIRANJE NOVIH BLOKOVA Kreiranje novog bloka predstavlja pravljenje nove klase koja nasle�uje osobine klase block_base.U osnovnoj klasi su definisano sve osobine bloka kao i metode za rad sa blokom . Na nama je da u našoj klasi to iskoristimo i dodamo ono što naš blok treba da radi.

4.1. Postupak za kreiranje novog bloka Pri kreiranju novog bloka trebalo bi da sledimo slede�i postupak: 1. Kreiramo folder koji �e nostiti ime našeg bloka koriste�i mala slova engleskog alfabeta, vode�i ra�una da ime bude jedinstveno tj. da ne postoji blok ili modul koji ima isto ime. 2. U ovom našem folderu npr. novblok kreirajmo folder img.On nam služi za smestaj slika, i logo-fajlova. 3. Kreiramo folder za višejezi�ku podršku lang. 4. Kreiramo folder db koji nam služi za eventualni upgrade našeg bloka kao i eventualne SQL definicije . 5. Startujemo editor i napišemo kod za naš blok.Snimimo ga pod istim imenom kao što je naziv modula dodajuci prefiks block npr. block_novblok.php u folder koji smo prvo kreirali. 6. Instaliramo blok i testiramo njegov rad.

4.2. Primer kreiranja jednog bloka Kreiranje novog bloka pokaza�u na primeru pravljenja pretraživa�a srpskih re�i. Bi�e nam jasno ako posetimo stranicu http://www.vokabular.org kao na slici 9.

Slika 9. Stranica www.vokabular.org

Primenimo postupak koji smo opisali u prethhodnom poglavlju. Kreirajmo folder vokabular a njemu foldere db,img i lang. Napravimo logo i snimino ga u folder img slika 10.

Page 12: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

12

Slika 10.Izgled logo vokabular.gif

Napišemo kod i snimimo ga u fajl block_vokabular.php. <?php // $id:block_vokabular.php,V 1.0 2009/27/23 autor Nikolic Zoran [email protected] class block_vokabular extends block_list { function init() { $this->title = "Vokabular"; $this->version = 2009271201; } function has_config() { return false; } function get_content() { global $CFG; if ($this->content !== NULL) { return $this->content; } $this->content->icons = ''; $this->content->footer = ''; $logosl=$CFG->wwwroot.'/blocks/vokabular/img/vokabular.gif'; $this->content->items[].= "<!--Vokabular block By Nikolic Zoran--> <center> <img src='$logosl' width='122' height='36' /> <form action='http://www.vokabular.org/' method='get'> <div> <input name='lang' type='hidden' value='sr' /> <input name='search' type='text' value='' size='36'/> <input name='Submit' type='submit' value='Pretraga'> </form> <script type='text/javascript' src='http://www.vokabular.org/cse/brand?form=cse-search-box&amp;lang=sr'> </script> </center><!--End of Vokabukar block-->"; return $this->content; } } ?> Komplatan folder vokabular prekopramo u moodle folder za rad sa blokovima blocks. Instaliramo ga i pokrenemo kao svaki drugi blok.Dobi�emo rezultat kao na sliici 11..

Page 13: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

13

Slika 11. Vokabular blok sa opcijama za podešavanje bloka

Postavimo blok na mesto gde želimo , unesimo neki pojam i proverimo da li on postoji u srpskom jeziku. . Po ovom modelu možemo napisati blokove i za druge pretraživa�e kao što su :Bing , Pogodak,Krstarica.

Page 14: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

14

5. ZAKLJU�AK Moodle platforma pruža izazov svima koji bi želeli da svoje nastavne materijale prevedu u elektronski oblik.Pored toga ona je i izazov i za sve programere nude�i im mogu�nost da je dogra�uju i prilago�avaju svojim potrebama. Ovaj rad predstavlja jedan mali pokušaj da se baci pogled na tu programersku stranu ovog složenog a opet u suštini jednostavnog sistema. Mnoge stvari u ovom radu nisu pomenute a preko nekih se suviše brzo prešlo.Razlog za to je nedostatak vremena jer je materija veoma obimna i rad koji bi sve to obuhvatio imao bi bar deset puta ve�i obim.

Page 15: Kreiranje novih blokova za moodle

Kreiranje novih blokova za Moodle platformu Zoran Nikoli�

15

LITERATURA

1. BOSNI�, IVANA (2006). Moodle – Priru�nik za seminar. Hrvatska

udruga za otvorene sustave i Internet.

2. Bill McCarty (2002) Osnove PHP 4.Kompjuter biblioteka

3. COLE, J., FOSTER, H. (2007). Using Moodle, Second Edition. USA:

O'Reilly, Inc.

4. DOUGIAMAS, M. (2003). Moodle: Using Learning Communities to

Create an Open Source Course Management System.

5. http://www.modle.org Internet resurs 2009

6. http://www.w3schools.com/php/default.asp Internet resurs 2009

7. http://docs.moodle.org/en/Development:Coding Internet resurs 2009