Manwal ng mga Developer

Inilalarawan ng dokumentong ito ang ilan sa disenyo ng Moodle at kung paano ka makapag-aambag sa pagdebelop nito.

Medyo maikli pa lamang ito - pero magkakaroon din tayo ng mas mahusay na dokumentasyon sa hinaharap!

Mga seksiyon sa dokumentong ito:

  1. Arkitektura ng Moodle
  2. Kung paano ka makapag-aambag sa Moodle

 

1. Arkitektura ng Moodle

Kung titingnan natin ito sa pananaw ng isang administrador ng sistema, ang Moodle ay dinisenyo ayon sa mga sumusunod na pamantayan:

  1. Kailangang tumakbo ang Moodle sa pinakamaraming klase ng plataporma

    Ang web application platform na tumatakbo sa pinakamaraming plataporma ay ang PHP kasama ang MySQL, at ito rin ang kapaligiran kung saan dinibelop ang Moodle (sa Linux, Windows, at Mac OS X). Ginagamit din ng Moodle ang ADOdb library para sa database abstraction, alalaong baga'y makagagamit ang Moodle ng higit pa sa sampung magkakaibang brand ng datosan (kaya lang, hindi pa nito kayang magset-up ng mga teybol sa lahat ng datosang ito - tatalakayin uli natin ito mamaya).

  2. Dapat ay madaling mailuklok, matutunan at mabago ang Moodle

    Ang mga unang prototype ng Moodle (1999) ay nilikha gamit ang Zope - isang abanteng object-oriented web application server. Kaya lang, bagama't cool ang dating sa akin ng teknolohiyang ito, medyo mahirap matutunan at hindi gaanong flexible, kung system administration ang pag-uusapan. Sa kabilang banda ang PHP scripting language ay napakadaling matutunan (lalo pa kung nakapagprogram ka na sa pamamagitan ng anumang scripting language). Sa simula pa ay nagpasiya na akong iwasan ang paggamit ng anumang class-oriented na disenyo - para nga mapanatili itong madaling maintindihan ng mga baguhan. Sa halip ang muling paggamit ng code ay ginawa sa pamamagitan ng mga library ng mga function na may malinaw na pangalan at sa consistent na layout ng mga sakong script. Madali ring iluklok ang PHP (may binary para sa bawat platform) at kalát na ang gamit, ibinibigay na nga itong istandard na serbisyo ng karamihang web hosting service.

  3. Dapat ay madali itong itaas sa mga susunod na bersiyon

    Alam ng Moodle kung anong bersiyon ito (gayundin ang mga bersiyon ng lahat ng plug-in na modyul) at may built-in na itong mekanismo na maitaas ang sarili nito sa bagong bersiyon (halimbawa kaya nitong magpalit ng pangalan ng mga teybol ng datosan o magdagdag ng mga bagong pitak). Halimbawa, kung gumagamit ka ng CVS sa Unix, magteteklado ka lang ng "cvs update -d" pagkatapos ay bisitahin ang pambungad na pahina ng site upang makumpleto ang paggawang bago.

  4. Kailangan ay modyular ito upang mabigyan ng kakayahang umunlad

    Maraming katangian ang Moodle na modyular, tulad ng tema, aktibidad, mga wika ng interpeys, mga iskema ng datosan at mga anyo ng kurso. Maaari ngayong magdagdag ng katangian ang sinuman sa pangunahing codebase o kaya'y ipamahagi ang mga katangian ng hiwalay. Tatalakayin pa natin ito sa susunod na seksiyon sa ibaba.

  5. Dapat ay nagagamit ito kasabay ng iba pang sistema

    Itinatago ng Moodle ang lahat ng sako para sa isang kurso sa iisang normal na direktoryo sa server. Dahil dito magagawa ng administrador ng sistema na magbigay ng mga makinis na anyo ng pagpasok sa antas-sako para sa bawat guro, tulad ng Appletalk, SMB, NFS, FTP, WebDAV at iba pa. Pinapahintulutan ng mga modyul na pangsino ang Moodle na gumamit ng LDAP, IMAP, POP3, NNTP at iba pang datosan bilang source para sa impormasyon hinggil sa tagagamit. Nguni't marami pang kailangang gawin. Ang mga katangian na planong isama sa Moodle sa mga bersiyon sa hinaharap ay : pag-angkat at pagluwas ng datos ng Moodle sa pamamagitan ng mga nakabatay sa XML na kaanyuan (kasama ang IMS at SCORM); at mas malaking bahagi sa paggamit ng mga style sheet para sa pagdisenyo ng interpeys (para maisanib ito nang biswal sa iba pang web site).

 

2. Kung paano ka makapag-aambag

Nasabi na natin kanina na ang Moodle ay maraming katangian na modyular. Kahit hindi ka programer ay may mga bagay na mababago mo o makakatulong ka.

Mga Aktibidad sa Pag-aaral

Ito ang mga pinakaimportanteng modyul, na nasa 'mod' na bugsok. May anim na umiiral na modyul: takdang-aralin, pagpipilian, talakayan, pagsusulit, rekurso, at sarbey. Ang bawat modyul ay nasa hiwalay na subbugsok at binubuo ng mga sumusunod na kinakailangang elemento (kasama pa ang mga ekstrang iskrip na natatangi sa bawat modyul):

Ang pinakamadaling paraan para magsimula ng bagong modyul na aktibidad sa pag-aaral ay gamitin ang padron sa mod/newmodule_template.zip. I-unzip ito at sundin ang README sa loob.

Baka gusto mo ring magpaskil muna sa Talakayan hinggil sa Modyul na Aktibidad na nasa Paggamit ng Moodle.

 

Mga Tema

Itinatakda ng tema (o skin) ang itsura ng isang site. May ilang simpleng tema na nasa pangunahing distribusyon, baka mas gusto mong lumikha ng sarili mong tema na may sarili mong kulay, logo, estilo at mga larawan.

Ang bawat tema ay nasa isang subbugsok ng "theme" na bugsok, at naglalaman ng, sa minimum, ng sumusunod na sako:

Para makalikha ka ng mga sarili mong tema para sa kasalukuyang bersiyon ng Moodle:

  1. Kopyahin ang isa sa dating polder ng tema sa isang polder na may bagong pangalan. Inirerekomenda ko na magsimula sa isa sa mga istandard na tema.
  2. Editin ang config.php at isingit ang sarili mong mga kulay.
  3. Editin ang styles.php at baguhin ang CSS styles mo.
  4. Editin ang header.html at footer.html upang makapagdagdag ng mga bagong logo, o mabago ang layout.

Tandaan din na ang mga paggawang bago sa Moodle ay posibleng sumira nang kaunti sa mga tema, kaya't basahing mabuti ang mga release notes kung gumagamit ka ng pasadyang tema.

Pakibasa po ang detalyadong paglalarawan ng temang pang-Moodle sa dokumentasyon ng Tema sa Moodle Dokyu.

May mas malawak na talakayan hinggil dito sa Talakayan ng Tema na nasa Paggamit ng Moodle. Kung lumikha ka ng magandang tema na sa palagay mo ay magagamit ng iba, pakipaskil ang sakong zip mo sa talakayan ng mga tema!

 

Mga Wika

Ang Moodle ay idinesenyo para sa internasiyonalisasyon. Ang bawat 'string' o 'pahina' ng teksto na idinidispley bilang bahagi ng interpeys ay kinukuha mula sa isang set ng mga sako ng wika. Ang bawat wika ay subbugsok ng bugsok na 'lang'. Ang istruktura ng bugsok na lang ay sumusunod:

lang/en - bugsok naglalaman ng lahat ng sako para sa isang wika (eg Ingles)

lang/en/help - naglalaman ng mga buong pahina ng tulong (para sa popup context-sensitive na tulong)

Ang pangunahing mga pahina ng tulong ay naririto, samantalang ang mga pahina ng tulong na para sa bawat modyul ay nasa subbugsok na may pangalan ng modyul.

Puwede kang magsingit ng helpbutton sa isang pahina sa pamamagitan ng helpbutton na function.

eg helpbutton("text", "Iklik ito para sa tulong tungkol sa teksto;);

at para sa mga modyul:

helpbutton("forumtypes", "Forum types", "forum");

Tandaan na puwede mong editin ang mga wika nang online, sa pamamagitan ng kagamitang nasa web na pang-administrasyon na nasa ilalim ng "Tingnan ang wikang ito". Pinadadali nito ang paglikha ng mga bagong wika gayundin ang pagpapahusay ng dati na. Kung magsisimula ka ng bagong wika, pakikontak ako, Martin Dougiamas.

Baka gusto mong magpaskil sa Talakayan ng Wika sa Paggamit ng Moodle.

Kung magmementina ka ng wika nang matagalan, maaari kitang bigyan ng CVS write access sa Moodle source code para direkta mong mamentina ang mga sako.


Mga Iskema ng Datosan

Sa isang gumaganang datosan na may itinakda nang mga teybol, ay inaasahang gagana ang sinadyang simpleng SQL na ginamit sa Moodle, nang maayos sa iba't-ibang brand ng datosan.

Problematiko ang awtomatikong paglikha ng mga bagong teybol sa isang datosan, na siyang tinatangkang gawin ng Moodle sa unang pagkakataon na iluklok ito. Dahil magkakaiba ang mga datosan, walang paraan para gawin ito nang hiwalay sa plataporma. Para masuportahan ang paggawang awtomatiko dito sa bawat datosan, maaaring gumawa ng mga iskema na naglilista ng kinakailangang SQL para malikha ang mga teybol ng Moodle sa isang partikular na datosan. Ang mga sako na ito ay nasa lib/db at sa loob ng db subbugsok ng bawat modyul.

Sa kasalukuyan, tanging ang MySQL at PostgreSQL ang ganap na nasusuportahan sa paraang ito (wala pang nagsusulat ng iskema para sa ibang brand).

Gagamit ang Moodle 1.2 ng bagong paraan ng independiyente-sa-database na XML schema para hindi na kailanganin ang pagsusulat ng schema para sa bawat klase ng database.

 

Mga Anyo ng Kurso

Sinusuportahan sa kasalukuyan ng Moodle ang tatlong klase ng anyo ng kurso: linguhan, paksaan at panlipunan.

Mas nakalala ito sa iba pang code (kaya, mas mahirap gawing "pluggable") pero madali pa ring magdagdag ng mga bago.

Kung may ideya kayo para sa naiibang anyo na kailangan ninyo o gusto ninyong makita, kontakin ninyo ako at pipilitin kong isama ito sa mga release sa hinaharap.

 

Dokumentasyon at mga artikulo

Kung gusto mong magsulat ng tyutoryal, artikulo o akademikong papel o anumang bagay hinggil sa Moodle, sige lang!

Ilagay ito sa web at tiyaking samahan ng mga link sa http://moodle.org/

 

Paglahok sa bug tracker

Bilang panghuli, nais ko kayong anyayahang magrehistro sa "bug tracker" sa http://moodle.org/bugs para maiulat mo ang anumang bug na matagpuan mo at marahil ay makalahok sa pagtalakay at paglutas ng mga ito.

Ang mga "bug" ay hindi lamang mga software bug sa kasalukuyang bersiyon ng Moodle, kundi kasama rin ang mga bagong ideya, hinihiling na bagong katangian at kahit konstruktibong puna sa mga kasalukuyang katangian. Ang kaigihan ng open source ay puwede ang lahat na lumahok sa anumang paraan upang tumulong sa paglikha ng mas mahusay na produkto na masisiyahan tayong lahat. Sa proyektong ito, ang input mo ay gusto naming marinig!

 

Salamat sa paggamit ng Moodle!

Martin Dougiamas, Lead Developer

 

 

Dokumentasyon ng Moodle

Version: $Id$