mirror of
https://github.com/moodle/moodle.git
synced 2025-02-26 04:52:33 +01:00
420 lines
17 KiB
HTML
420 lines
17 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>Moodle Doks: Manwal ng mga Developer</title>
|
|
<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS">
|
|
<meta http-equiv="Content-Type" content="text/html;
|
|
charset=utf-8" />
|
|
</head>
|
|
|
|
<body>
|
|
<h1>Manwal ng mga Developer</h1>
|
|
<blockquote>
|
|
<p>Inilalarawan ng dokumentong ito ang ilan sa disenyo ng Moodle at kung
|
|
paano ka makapag-aambag sa pagdebelop nito.
|
|
</p>
|
|
|
|
<p>Medyo maikli pa lamang ito - pero magkakaroon din tayo ng mas mahusay
|
|
na dokumentasyon sa hinaharap!
|
|
</p>
|
|
<p>Mga seksiyon sa dokumentong ito:</p>
|
|
<ol>
|
|
<li><a href="#architecture">Arkitektura ng Moodle</a></li>
|
|
<li><a href="#contribute">Kung paano ka makapag-aambag sa Moodle</a>
|
|
<ul>
|
|
<li><a href="#activities">Mga Aktibidad para sa Pag-aaral</a></li>
|
|
<li><a href="#themes">Mga Tema</a></li>
|
|
<li><a href="#languages">Mga Wika</a></li>
|
|
<li><a href="#database">Mga Database Schema</a></li>
|
|
<li><a href="#courseformats">Mga format ng Kurso</a></li>
|
|
<li><a href="#doc">Dokumentasyon at mga artikulo</a></li>
|
|
<li><a href="#bugs">Paglahok sa bug tracker</a></li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
</blockquote>
|
|
<p> </p>
|
|
|
|
<h2><a name="architecture"></a>1.
|
|
Arkitektura ng Moodle</h2>
|
|
<blockquote>
|
|
<p>Kung titingnan natin ito sa pananaw ng isang system administrator,
|
|
ang Moodle ay dinisenyo ayon sa mga sumusunod na criteria:
|
|
</p>
|
|
<ol>
|
|
<li><strong>Kailangang tumakbo ang Moodle sa pinakamaraming klase ng
|
|
plataporma</strong><br />
|
|
<br />Ang web application platform na tumatakbo sa pinakamaraming
|
|
platform 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
|
|
<a href="http://php.weblogs.com/ADOdb_manual#drivers">higit pa sa
|
|
sampung magkakaibang brand ng database</a> (kaya lang, hindi pa nito
|
|
kayang <em><strong>magset-up ng mga table</strong></em> sa lahat ng
|
|
database na ito - paguusapan pa natin ito mamaya).
|
|
<br />
|
|
<br />
|
|
</li>
|
|
<li><strong>Dapat ay madaling maiinstol, matutunan at mabago ang
|
|
Moodle
|
|
</strong><br />
|
|
<br />Ang mga unang prototype ng Moodle (1999) ay nilikha gamit ang
|
|
<a target=_top href="http://www.zope.org/">Zope</a> - 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, gamit ang anumang scripting
|
|
language).
|
|
Sa simula pa 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 clearly-named function at sa
|
|
consistent na layout ng mga script file. Madali ring iinstol 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.
|
|
|
|
<br />
|
|
<br />
|
|
</li>
|
|
|
|
<li><strong>Dapat ay madali itong iupgrade sa mga susunod na
|
|
bersiyon
|
|
</strong><br />
|
|
<br />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 mag-aupgrade ng sarili nito sa bagong bersiyon (halimbawa
|
|
kaya nitong magrename ng mga database table o magdagdag ng mga bagong
|
|
field). Halimbawa, kung gumagamit ka ng CVS sa Unix, magtatype ka lang
|
|
ng "cvs update -d" pagkatapos ay bisitahin ang home page ng
|
|
site upang makumpleto ang upgrade.
|
|
<br />
|
|
<br />
|
|
</li>
|
|
<li><strong>Kailangan ay modular ito upang mabigyan ng kakayahang
|
|
lumaki</strong><br />
|
|
<br />Maraming feature ang Moodle na modular, tulad ng tema,
|
|
aktibidad, mga wika ng interface, mga database schema at mga format ng
|
|
kurso. Maaari ngayong magdagdag ng feature ang sinuman sa pangunahing
|
|
codebase o kaya'y ipamahagi ang mga feature ng hiwalay. Tatalakayin pa
|
|
natin ito sa susunod na seksiyon sa ibaba.
|
|
<br />
|
|
<br />
|
|
</li>
|
|
<li><strong>Dapat ay nagagamit ito kasabay ng iba pang sistema</strong><br />
|
|
<br />Itinatago ng Moodle ang lahat ng file para sa isang kurso sa
|
|
iisang, normal na direktoryo sa server. Dahil dito magagawa ng system
|
|
administrator na magbigay ng seamless forms ng file-level access para sa
|
|
bawat guro, tulad ng Appletalk, SMB, NFS, FTP, WebDAV at iba pa.
|
|
Pinapahintulutan ng mga authentication module ang Moodle na gumamit ng
|
|
LDAP, IMAP, POP3, NNTP at iba pang database bilang source para sa
|
|
impormasyon hinggil sa user. Kung hindi, ay marami pang kailangang
|
|
gawin. Ang mga feature na planong isama sa Moodle sa mga bersiyon sa
|
|
hinaharap ay : import at export ng Moodle data gámit ang mga XML-based
|
|
na format (kasama ang IMS at SCORM); at mas malaking bahagi sa paggamit
|
|
ng mga style sheet para sa interface formatting (para maiintegrate ito
|
|
nang biswal sa iba pang web site).
|
|
</li>
|
|
</ol>
|
|
</blockquote>
|
|
<p> </p>
|
|
|
|
<h2><a name="contribute" id="contribute"></a>
|
|
2. Kung paano ka makapag-aambag</h2>
|
|
<blockquote>
|
|
<p>Nasabi na natin kanina na ang Moodle ay maraming feature na
|
|
modular. Kahit hindi ka programer, may mga bagay na mababago mo o
|
|
makakatulong ka.
|
|
</p>
|
|
<h3><a name="activities" id="activities"></a>Mga
|
|
Aktibidad sa Pag-aaral</h3>
|
|
<blockquote>
|
|
<p> Ito ang mga pinakaimportanteng modyul, na nasa 'mod' na
|
|
direktoryo. May anim na default na modyul: takdang-aralin, pagpipilian,
|
|
talakayan, pagsusulit, rekurso, at survey. Ang bawat modyul ay
|
|
nasa hiwalay na subdirektoryo at binubuo ng mga sumusunod na
|
|
kinakailangang elemento (kasama pa ang mga ekstrang script na unique sa
|
|
bawat modyul):
|
|
</p>
|
|
|
|
<ul>
|
|
<li>
|
|
mod.html: isang form para iset-up o iupdate ang instance ng modyul na
|
|
ito</li>
|
|
<li>version.php: nagdedefine ng ilang meta-info at
|
|
nagbibigay ng upgrading code</li>
|
|
<li>icon.gif: isang 16x16 na icon para sa module</li>
|
|
<li>db/: mga SQL dump ng lahat ng kinakailangang db table at
|
|
datos (para sa bawat uri ng database) </li>
|
|
<li>index.php: isang pahina para ilista ang lahat ng instance sa
|
|
isang kurso</li>
|
|
<li>view.php: isang pahina para makita ang isang partikular na
|
|
instance</li>
|
|
<li>lib.php: anuman/lahat ng function na idinefine ng modyul
|
|
ay dapat naririto.
|
|
Kung ang modulename ay tinatawag na widget, ang mga kinakailangang
|
|
function ay dapat may kasamang:
|
|
|
|
<ul>
|
|
<li>widget_add_instance() - code para magdagdag ng isang
|
|
bagong instance ng widget</li>
|
|
<li>widget_update_instance() - code para magupdate ng instance
|
|
na narooroon na</li>
|
|
<li>widget_delete_instance() - code para burahin ang instance</li>
|
|
<li>widget_user_outline() - kung may instance, nagbabalik ng
|
|
buod ng iniambag ng user</li>
|
|
<li>widget_user_complete() - kung may instance, magpiprint ng
|
|
mga detalye ng iniambag ng isang user<br />
|
|
</li>
|
|
<li>Upang hindi magkaconflict, ang alinmang module function ay
|
|
dapat bigyan ng pangalang nagsisimula sa widget_ at anumang constant na
|
|
idefine mo ay dapat magsimula sa WIDGET_
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>Panghuli, ang bawat moyul ay magkakaroon ng ilang file ng wika
|
|
na naglalaman ng mga string para sa modyul na iyon. Tingnan sa ibaba.</li>
|
|
</ul>
|
|
|
|
<p>Ang pinakamadaling paraan para magsimula ng bagong learning
|
|
activity module ay gamitin ang template sa
|
|
<strong><a
|
|
href="http://moodle.com/mod/newmodule_template.zip">mod/newmodule_template.zip</a>.</strong>
|
|
Iunzip ito at sundin ang README sa loob.
|
|
</p>
|
|
|
|
<p>Baka gusto mo ring magpost muna sa
|
|
<a href="http://moodle.com/mod/forum/view.php?id=44" target="_top">
|
|
Talakayan ng Activities modules sa Paggamit ng Moodle</a>.</p>
|
|
<p> </p>
|
|
</blockquote>
|
|
|
|
<h3><a name="themes" id="themes"></a>Mga Tema</h3></p>
|
|
|
|
<blockquote>
|
|
<p>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
|
|
graphics.
|
|
</p>
|
|
|
|
<p>Ang bawat tema ay nasa isang subdirektoryo ng "theme"
|
|
na direktoryo, at naglalaman ng, sa minimum, ng sumusunod na file:
|
|
</p>
|
|
|
|
<ul>
|
|
<li><strong>config.php</strong>: idinidefine ang kulay ng tema na
|
|
ginagamit sa buong site</li>
|
|
<li><strong>styles.php</strong>: ang style sheet, na naglalaman ng
|
|
mga CSS definition para sa mga standard HTML element, gayundin ang
|
|
maraming elemento ng Moodle.
|
|
</li>
|
|
<li><strong>header.html</strong>: Isinasama sa itaas ng bawat
|
|
pahina. Ito ang kailangan mong iedit upang makapagdagdag ng isang logo
|
|
sa itaas ng mga pahina.</li>
|
|
<li><strong>footer.html</strong>: Isinasama sa ibaba ng
|
|
bawat pahina.</li>
|
|
</ul>
|
|
|
|
<p>Para makalikha ka ng mga sarili mong tema para sa kasalukuyang
|
|
bersiyon ng Moodle:</p>
|
|
<ol>
|
|
<li>Kopyahin ang isa sa dating theme folder sa isang folder na may
|
|
bagong pangalan. Inirerekomenda ko na magsimula sa isa sa mga istandard
|
|
na tema. </li>
|
|
<li>Editin ang config.php at iinsert ang sarili mong mga kulay.</li>
|
|
<li>Editin ang styles.php at baguhin ang CSS styles mo.</li>
|
|
<li>Editin ang header.html at footer.html upang makapagdagdag ng
|
|
mga bagong logo, o mabago ang layout.
|
|
</li>
|
|
</ol>
|
|
|
|
<p>Tandaan na ang lahat ng hakbang na ito ay opsiyonal - maaari kang
|
|
lumikha ng talagang kakaibang itsura ng site mo sa pamamagitan lamang ng
|
|
pag-edit sa mga kulay sa config.php</p>
|
|
<p>Tandaan din na ang mga Moodle upgrade ay <em>posibleng</em>
|
|
sumira nang kaunti sa mga tema, kaya basahing mabuti ang mga release
|
|
note kung gumagamit ka ng pasadyang tema.
|
|
</p>
|
|
<p>Lalo pa, ang Moodle 2.0 ay magkakaroon ng ganap na bagong display
|
|
system, posibleng nakabatay sa mga XSL transformation ng XML output mula
|
|
sa Moodle. Posibleng ang mga bagong tema para dito ay magkakaroon ng
|
|
kakaibang format, pero ang bentahe ay magkakaroon ng posibleng mas
|
|
mataas na degree ng customisation (kasama ang paglilipat-lipat ng mga
|
|
elemento sa pahina).
|
|
</p>
|
|
|
|
<p>May mas malawak na talakayan hinggil dito sa
|
|
<a target=_top href="http://moodle.com/mod/forum/view.php?id=46">
|
|
Talakayan ng Tema sa Paggamit ng Moodle</a>. Kung lumikha ka ng
|
|
magandang tema na sa palagay mo ay magagamit ng iba, pakipost ang zip
|
|
file mo sa talakayan ng mga tema!
|
|
<br />
|
|
</p>
|
|
</blockquote>
|
|
<p> </p>
|
|
|
|
<h3><a name="languages" id="languages"></a>Mga Wika</h3>
|
|
<blockquote>
|
|
<p>Ang Moodle ay idinesenyo para sa internasiyonalisasyon. Ang
|
|
bawat 'string' o 'pahina' ng teksto na idinidispley bilang bahagi ng
|
|
interface ay kinukuha mula sa isang set ng mga file ng wika. Ang bawat
|
|
wika ay subdirektoryo ng direktoryong 'lang'. Ang istruktura ng lang
|
|
direktoryo ay sumusunod:
|
|
</p>
|
|
|
|
<p><strong>lang/en</strong> - direktoryong naglalaman ng lahat ng
|
|
file para sa isang wika (eg Ingles)</p>
|
|
<ul>
|
|
<li>moodle.php - mga string para sa pangunahing interface</li>
|
|
<li>assignment.php - mga string para sa assignment module</li>
|
|
<li>choice.php - mga string para sa choice module</li>
|
|
<li>forum.php - mga string para sa forum module</li>
|
|
<li>quiz.php - mga string para sa quiz module</li>
|
|
<li>resource.php - mga string para sa resource module</li>
|
|
<li>survey.php - mga string para sa survey module</li>
|
|
<li>.... kasama pa ang ibang modyul kung mayroon man.<br />
|
|
|
|
<br />
|
|
Ang string ay tinatawag mula sa mga file na ito sa
|
|
pamamagitan ng <strong><em>get_string()</em></strong><em> </em>o<em>
|
|
<strong>print_string()</strong> </em> na function. Sinusuportahan ng
|
|
bawat string ang pagpapalit ng variable, upang masuportahan ang variable
|
|
ordering sa iba't-ibang wika. <em><br />
|
|
<br />
|
|
</em>eg $strdueby = get_string("assignmentdueby",
|
|
"assignment", userdate($date)); <br />
|
|
<br />
|
|
Kung ang string ay wala sa isang partikular na wika, ang
|
|
katumbas nito sa Ingles ang awtomatikong gagamitin. </li>
|
|
</ul>
|
|
|
|
<p><strong>lang/en/help</strong> - naglalaman ng mga buong pahina ng
|
|
tulong (para sa popup context-sensitive na tulong)</p>
|
|
<blockquote>
|
|
<p>Ang pangunahing mga pahina ng tulong ay naririto, samantalang
|
|
ang mga pahina ng tulong na para sa bawat modyul ay nasa subdirektoryo
|
|
na may pangalan ng modyul. </p>
|
|
<p>Puwede kang mag-insert ng helpbutton sa isang pahina sa
|
|
pamamagitan ng helpbutton na function. </p>
|
|
<p>eg helpbutton("text", "Iklik ito para sa tulong
|
|
tungkol sa teksto;);</p>
|
|
<p>at para sa mga modyul:</p>
|
|
<p>helpbutton("forumtypes", "Forum types", "forum");</p>
|
|
</blockquote>
|
|
|
|
<p>Tandaan na puwede mong editin ang mga wika nang online, gamit ang
|
|
administration web tools 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, <a target=_top href="http://dougiamas.com/">Martin Dougiamas</a>.
|
|
</p>
|
|
|
|
<p>Baka gusto mong magpost sa
|
|
<a target=_top href="http://moodle.com/mod/forum/view.php?id=43">Talakayan ng
|
|
Wika sa Paggamit ng Moodle</a>. </p>
|
|
<p>Kung magmementina ka ng wika nang matagalan, maaari kitang bigyan
|
|
ng <a href="?file=cvs.html">CVS
|
|
write access sa Moodle source code</a> para direkta mong
|
|
mamentina ang mga file.</p>
|
|
</blockquote>
|
|
<p><br />
|
|
|
|
<h3><a name="database" id="database"></a>Mga Schema ng Database
|
|
</h3>
|
|
<blockquote>
|
|
<p>Kung may gumaganang database ka na may nadefine nang mga table,
|
|
ang sinadyang simpleng SQL na ginamit sa Moodle ay inaasahang gagana
|
|
nang maayos sa iba't-ibang klase ng database brand.
|
|
</p>
|
|
|
|
<p>May problema sa <strong>awtomatikong paglikha</strong> ng mga
|
|
bagong table sa isang database, na siyang tinatangkang gawin ng Moodle
|
|
sa unang pagkakataon na iinstol ito. Dahil magkakaiba ang mga
|
|
database, walang paraan para gawin ito nang hiwalay sa plataporma. Para
|
|
masuportahan ang automation na ito sa bawat database, maaaring gumawa ng
|
|
mga schema na naglilista ng kinakailangang SQL para malikha ang mga
|
|
Moodle table sa isang partikular na database. Ang mga file na ito ay
|
|
nasa <strong>lib/db</strong> at sa loob ng <strong>db</strong>
|
|
subdirektoryo ng bawat module.
|
|
</p>
|
|
|
|
<p>Sa kasalukuyan, tanging ang MySQL at PostgreSQL ang ganap na
|
|
nasusuportahan sa paraang ito (wala pang nagsusulat ng schema para sa
|
|
ibang brand).
|
|
</p>
|
|
|
|
<p>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.
|
|
</p>
|
|
</blockquote>
|
|
<p> </p>
|
|
<h3><a name="courseformats" id="courseformats"></a>Mga Format ng
|
|
Kurso</h3> <blockquote>
|
|
<p>Sinusuportahan sa kasalukuyan ng Moodle ang tatlong klase ng
|
|
format ng kurso: linguhan, paksaan at panlipunan.
|
|
</p>
|
|
<p>Mas nakaugnay ito sa iba pang code (kaya, mas mahirap gawing
|
|
"plugagable") pero madali pa ring magdagdag ng mga bago.
|
|
</p>
|
|
<p>Kung may ideya kayo para sa naiibang format na kailangan ninyo o
|
|
gusto ninyong makita, kontakin ninyo ako at pipilitin kong isama ito sa
|
|
mga release sa hinaharap.
|
|
</p>
|
|
</blockquote>
|
|
<p> </p>
|
|
<h3><a name="doc" id="doc"></a>Dokumentasyon at mga artikulo</h3>
|
|
<blockquote>
|
|
<p>Kung gusto mong magsulat ng tyutoryal, artikulo o akademikong
|
|
papel o anumang bagay hinggil sa Moodle, sige lang!
|
|
</p>
|
|
<p>Ilagay ito sa web at tiyaking samahan ng mga link sa
|
|
<a target="_top" href="http://moodle.org/">http://moodle.org/
|
|
</a></p>
|
|
</blockquote>
|
|
<p> </p>
|
|
<h3><a name="bugs" id="bugs"></a>Paglahok sa bug tracker</h3>
|
|
<blockquote>
|
|
<p>Bilang panghuli, nais ko kayong anyayahang magrehistro sa
|
|
"bug tracker" sa <a target="_top"
|
|
href="http://moodle.org/bugs/">http://moodle.org/bugs</a>
|
|
para maiulat mo ang anumang bug na matagpuan mo at marahil ay makalahok
|
|
sa pagtalakay at paglutas ng mga ito.
|
|
</p>
|
|
<p>Ang mga "bug" ay hindi lamang mga software bug sa
|
|
kasalukuyang bersiyon ng Moodle, kundi kasama rin ang mga bagong ideya,
|
|
hinihiling na bagong feature at kahit konstruktibong puna sa mga
|
|
kasalukuyang feature. 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!
|
|
</p>
|
|
|
|
</blockquote>
|
|
</blockquote>
|
|
<p> </p>
|
|
<blockquote>
|
|
<blockquote>
|
|
<blockquote>
|
|
<p align="center">Salamat sa paggamit ng Moodle!<br />
|
|
<br />
|
|
<a target="_top" href="http://dougiamas.com/">Martin Dougiamas</a>, Lead
|
|
Developer </p>
|
|
</blockquote>
|
|
</blockquote>
|
|
</blockquote>
|
|
<p> </p>
|
|
<blockquote>
|
|
<p> </p>
|
|
</blockquote>
|
|
|
|
<p align="center"><font size="1"><a href="." target="_top">
|
|
Dokumentasyon ng Moodle</a></font></p>
|
|
<p align="center"><font size="1">Version: $Id$</font></p>
|
|
</body>
|
|
</html> |