# Manual i Zhvilluesit

> Ky dokument pėrshkruan diēka mbi dizenjimin e Moodle dhe si mund tė kontribuoni ju.

> Pėr momentin ky dokument ėshtė pak - dokumentim mė i mirė do tė vijė!

> Seksionet nė kėtė dokument:

> 1. Arkitektura e Moodle
> 2. Si mund tė kontribuoni
>    - Aktivitetet e tė mėsuarit
>    - Stilet
>    - Gjuhėt
>    - Skemat e databazės
>    - Formati i Kursit
>    - Dokumentimi dhe artikujt
>    - Pjesmarrsit nė gjurmimin e tė metave

## 1. Arkitektura e Moodle

> Nga pikpamja e administrimit tė sistemit, Moodle ėshtė dizenjuar sipas kėtyre kritereve:

> 1. Moodle duhet tė ekzekutohet nė sa mė shumė platforma
>    Aplikimet nė web qė ekzekutohen nė shumicėn e platformave janė nė PHP e kombinuar me MySQL, dhe nė kėtė lloj ėshtė zhvilluar edhe Moodle, ajo ekzekutohet nė Linux, Windows, dhe Mac OS X. Moodle gjithashtu pėrdor biblotekėn ADOdb pėr konceptimin e databazės, e cila nėnkupton qė Moodle mund tė pėrdorėmė shumė se 10 lloje tė ndryshme databazash (pėr fat tė keq, akoma nuk mundet tė ndėrtohen tabela me tė gjitha kėto lloje databazash - nė tė ardhmen mė shumė).
> 2. Moodle duhet tė jetė i lehtė nė instalim, mėso dhe modifiko
>    Prototipet e hershėm tė Moodle (1999) u ndėrtuan duke pėrdorur Zope - njė server tė aplikimeve nė web me gjuhė tė avancuar tė orientuar drejt objekteve (object-oriented). Fatkeqėsisht u duk se megjithse teknologjia ishte mjaft e mirė, kishte njė rrugė mjatt tė vėshtirė pėr tė mėsuar dhe nuk ishte shumė fleksible pėr sa i takon administrimit tė sistemit. Gjuha e skriptimi PHP, nga ana tjetėr, ėshtė mjaft e lehtė pė tu kapur (veēanėrisht nėse keni programuar mė parė me ndonjė gjuhė skriptimi tjetėr). Herėt unė vendosa tė mėnjanoj pėrdorimin e dezinjimit tė klasave class-oriented - por, ta ruaj atė vetėm pėr tė kuptuar risitė. U arrit ripėrdorimi i kodeve nga bibliotekat e funksioneve tė emėrtuar qartė dhe skedarėt skript konsistentė. PHP ėshtė gjithashtu i lehtė pėr tu instaluar (ėshtė i vlefshėm pėr ēdo platformė) dhe shumica e shėrbimeve tė hostimit web e kanė atė si standart.
> 3. Ai ėshtė i lehtė pėr upgrade nga njė version nė njė tjetėr
>    Moodle e di se vili version ėshtė (ashtu si tė gjitha versionet e moduleve plug-in) dhe ėshtė ndėrtuar njė mekanizėm i tillė qė Moodle mund tė bėjė upgrade vetė tė versioneve tė reja (psh ai mund tė riemėrojė tabelat e databazave dhe tė shtojė fusha tė reja). Nėse pėrdor CVS nė Unix psh, jep thjesht komandėn "cvs update -d" dhe mandej vizito faqen home page pėr tė kompletuar upgrade.
> 4. Duhet tė mundėsohet rritja
>    Moodle ka njė numėr elementesh si modulare, terms, aktivitete, gjuhėt e interfejsit, skema databaze dhe formate kursesh. Kjo lejon qė seicili tė shtojė elemente te codi batė kryesor ose ti shpėrndajė ato ndarazi. Mė shumė pėr kėtė ka nė sektionin tjetėr.
> 5. Ajo duhet tė pėrdoret sė bashku me sisteme tė tjerė
>    Njė gjė qė Moodle e bėn ėshtė se i ruan tė gjitha skedarėt pėr njė kurs brenda njė direktorie, tė vetme normale. Kjo e lejon administratorin e sistemit tė japė forma tė ndryshme tė aksesimit tė skedarėve pėr ēdo mėsues, tė tilla si Appletalk, SMB, NFS, FTP, WebDAV dhe etj. Modulet e autentifikimit i lejojnė Moodle tė pėrdorė LDAP, IMAP, POP3, NNTP dhe databaza tė tjera si burime pėr informacionin e pėrdoruesit. Ka akoma punė pėr tė bėrė. Tipare tė planifikuara pėr Moodle nė versionet e ardhme janė: importimi and eksportimi i tė dhėnave tė Moodle duke pėrdorur formatet XML (qė pėrfshijnė edhe IMS dhe SCORM); dhe rritjen e pėrdorimit tė fletėve tė stileve pėr formatimin e interfeisit (nė mėnyrė qė ai tė integrohet vizualisht nė faqe tė tjera tė web site-eve).

## 2. Si mund tė kontribuoni

> Siē u pėrmend mė lart, Moodle ka njė numėr tiparesh qė janė modulare. Edhe nėse ju nuk jeni njė programues, ka gjėra qė ju mund tė ndihmoni ose ti ndryshoni.

> ### Aktivitete tė tė mėsuarit

> > Deri tani ka shumicėn e moduleve tė rėndėsishme, dhe qėndrojnė nė direktorinė 'mod' . Ka shtatė module default: assignment, choice, forum, journal, quiz, resource, dhe survey. Seicili modul ėshtė nė njė subdirektori tė veēantė dhe pėrbėhet nga elementet e mėposhtėm (plus skripte extra unike pėr ēdo modul):

> > - mod.html: njė formė pėr tė ndėrtuar ose update-uar njė shembull tė kėtij moduli
> > - version.php: pėrcakton disa meta-info dhe jep dodin e upgrade-imit
> > - icon.gif: njė ikonė 16x16 icon pėr modulin
> > - db/: SQL zbraz tė gjitha tabelat e kėrkuara db dhe tė dhėnat (pėr ēdo tip databaze)
> > - index.php: njė faqe pėr tė listuar tė gjitha shembujt nė njė kurs
> > - view.php: njė faqe pėr tė parė njė shembull tė veēantė
> > - lib.php: ēdo/tė gjithė funksionet e pėrcaktuar nga moduli duhet tė jenė kėtu. Nėse emri i modulit ėshtė i quajtur widget, atėhere funksionet e kėrkuar pėrfshijnė:
> >   - widget_add_instance() - codi pėr tė shtuar njė shembull tė ri tė widget
> >   - widget_update_instance() - codi pėr tė update-uar njė shembull ekzistues
> >   - widget_delete_instance() - kodi pėr tė fshirė njė shembull
> >   - widget_user_outline() - pėr njė shembull tė dhėnė, jep njė pėrmbledhje tė kontributit tė pėrdoruesit
> >   - widget_user_complete() - pėr njė shembull tė dhėnė, printon detaje tė njė kontributi pėrdoruesi
> >   - Pėr tė mėnjanuar konfliketet e mundėshme, ēdo funksion moduli duhet tė emėrtohet duke filluar me widget_ dhe ēdo konstante qė ju pėrcaktoni duhet tė fillojė me WIDGET_
> > - Sė fundi, ēdo modul do tė ketė ca skedarė gjuhe qė pėrmbajnė stringje pėr kėtė modul. Shih mė poshtė.

> > Mėnyra mė e lehtė pėr tė filluar njė modul aktiviteti tė tė mėsuarit tė ri ėshtė tė pėrdoret template nė mod/newmodule_template.zip. Unzip-o atė dhe ndiq brendinė e skedarit README .

> > Ju ndoshta pėlqeni tė postoni nė Aktivitete module forum nė Pėrdor Moodle.

> ### Stilet

> > Stilet (ose lėkurat) pėrcaktojnė pamjen e njė site-i. Njė numėr temash tė thjeshta jepen njė paketėn kryesore qė shpėrndahet, por ju mund tė krijoni atė tuajėn me ngjyrat tuaja, logo-on tuaj, stilin dhe grafikėn tusj.

> > ēdo temė ėshtė njė nėndirektori e "theme" direktorisė, dhe pėrmban tė paktėn skedarėt e mėposhtėm:

> > - config.php: pėrcakton ngjyrat qė pėrdor nėpėr gjithė site-in
> > - styles.php: faqja stil, pėrmban pėrcaktimet CSS pėr elementet standart HTML sikurse shumė elemente tė Moodle.
> > - header.html: E pėrfshirė nė krye tė ēdo faqeje. Kjo ėshtė ajo qė ju duhet pėr tė edituar dhe shtuar njė logo nė krye tė faqeve, psh.
> > - footer.html: E pėrfshirė nė fund ēdo faqeje.

> > Pėr tė krijuar temat tuaja pėr versionin korent tė Moodle:

> > 1. Kopjo njė nga folderat e temave ekzistues nė njė folder me emėr tjetėr. Unė rekomandoj tė fillosh me njė nga temat standarte.
> > 2. Edito skedarin config.php dhe fut ngjyrat e tua.
> > 3. Edito skedarin styles.php dhe ndrysho stilet CSS.
> > 4. Edito header.html dhe footer.html pėr tė shtuar logot e reja ose pėr tė ndryshuar pamjen e jashtme.

> > Vini re se kėto hapa janė opsionale - ju mund tė bėni njė pamje krejt ndryshe tė site-it tuaj, thjeshtė duke edituar ngjyrat nė config.php

> > Vini re gjithashtu se ugrade-imet e Moodle mund ti prishin paksa temat, prandaj kontrollo shėnimet pėrkatėse me kujdes nėse po pėrdor njė temė tė dhėnė.

> > Nė vbeēanti, Moodle 2.0 do tė ketė njė sistem shfaqjeje krejt tė ri, ka mundėsi tė bazuar nė transformimet XSL ose autpute XML nga Moodle. Kjo do tė thotė qė temat do tė kenė format krejt tė ndryshėm, por avantazhi do tė jetė njė nivel mė i lartė i pėrshtatshmėrisė (duke pėrfshirė lėvizjen e elementeve nėpėr faqe).

> > Mė shumė diskutime pėr kėtė nė Temat forum nė Using Moodle. Nėse ju krijoni njė temė tė kėndshme qė ju mendoni se tė tjerėt do ta duan ta pėrdorin, ju lutem postoni skedarint tuajr zip nė forumin e temave!

> ### Gjuhėt

> > Moodle ėshtė dizenjuar pėr ndėrkombėtarizim. Seicili nga 'string' ose 'page' teksti qė shfaqet si pjesė e interfejsit ėshtė vizatuar nga njė bashkėsi skedarėsh gjuhe. ēdo gjuhė ėshtė njė nėndirektori e direktorisė 'lang'. Struktura e direktorisė lang ėshtė si mė poshtė:

> > lang/en - direktoria qė pėrmban tė gjithė skedsarėt e njė gjuhe (psh English)

> > - moodle.php - stringjet pėr interfejsin kryesor
> > - assignment.php - stringjet pėr modulin assignment
> > - choice.php - stringjet pėr modulin choice
> > - forum.php - stringjet pėr modulin forum
> > - journal.php - stringjet pėr modulin journal
> > - quiz.php - stringjet pėr modulin quiz
> > - resource.php - stringjet pėr modulin resource
> > - survey.php - stringjet pėr modulin survey
> > - .... plus modulet e tjera nėse ka.
> >   Njė string thirret nga kėta skedarė duke pėrdorur funksionet get_string() or print_string() . ēdo string suporton zevėndėsimin e variablave, pėr tė suportuar renditjen e variablave nė gjuhė tė ndryshme.
> >   eg $strdueby = get_string("assignmentdueby", "assignment", userdate($date));
> >   Nėse njė string nuk ekziston nė njė gjuhė tė veēantė, atėhere ai ekuivalenti nė English do tė pėrdoret automatikisht nė vend tė tij.

> > lang/en/help - pėrmban tė gjitha faqet e help-it (pėr popup-et e context-sensitive help)

> > > Faqet help kryesore janė kėtu, kurse faqet help specifike pėr seicilin modul janė nė nėndirektoritė me emrin e modulit.

> > > Ju mund tė fusni njė helpbutton nė njė faqee me anė tė funksionit helpbutton.

> > > psh helpbutton("text", "Kliko kėtu pėr help mbi text");

> > > dhe pėr modulet:

> > > helpbutton("forumtypes", "tipet e Forumit ", "forum");

> > Vini re se ju mund tė editoni gjuhėt, duke pėrdorur mjetet e administrimit web nėn "Kontrollo kėtė language". Ko e lehtėson jo vetėm krijimin e gjuhėve tė reja por edhe rishikimin e atyre ekzistuese. Nėse ju filloni njė gjuhė tė re, ju lutem kontaktoni me mua, Martin Dougiamas.

> > Ju mund ta postoni nė Languages forum on Using Moodle.

> > Nėse mirmbani njė gjuhė nga baza ekzistuese, unė mund tu jap juve CVS akses shkrimi te kodet e Moodle kėshtu qė ju mund tė mbani direkt skedarėt.

> ### Skemat e Databazave

> > Pėr njė databazė tė dhėnė me tabela tė pėrcaktuara, komandat e thjeshat SQL tė pėrdorura nė Moodle duhet tė punojnė mirė me njė shumėllojshmėri tė gjerė databazash.

> > Njė problem ekziston me krijimin automatik tė tabelave tė reja nė njė databazė, me tė cilėn Moodle ka komunikuar nė instalimin fillestar. Meqė ēdo databazė ėshtė e ndryshme, nuk ekziston akoma njė mėnyrė pėr ta bėrė kėtė tė pavaruar nga platform. Pėr ta suportur kėtė nė ēdo databazė, skemat mund tė krijohen qė tė listojnė SQL e duhura pėr tė krijuar tabela tė Moodle nė njė databazė tė veēantė. Kėto skedarė nė lib/db dhe brenda db nėndirektorisė tė ēdo moduli.

> > Aktualisht, vetėm MySQL dhe PostgreSQL janė plotėsisht tė suportueshme nė kėtė mėnyrė (asnjė nuk ka shkruar skema pėr llojet e tjera).

> > Moodle 1.2 do tė pėrdorė njė metodė tė re skemash XML tė pavaruara nga datatbazat (database-independent) qė do ta bėjė tė gjithė kėtė tė panevojshme.

> ### Formatet e kurseve

> > Moodle aktualisht suporton tre formate tė ndryshme kursesh: weekly, topics dhe social.

> > Kėto janė pak mė tė lidhur me pjesėn tjetėr tė kodit (dhe prandaj, mė pak "pluggable") por ėshtė akoma e lehtė tė shtohet njė i ri.

> > Nėse ju keni ndonjė ide pėr formate tė ndryshme qė ju keni nevojė ose pėlqeni tė shikoni, lidhuni me mua dhe do tė bėj ēmos qė ti keni ato nė varianetet e ardhėshme.

> ### Dokumentimi dhe artikujt

> > Nėse e ju e ndjeni se mund tė shkruani njė tutorial, njė artikull, njė artikull akademik ose ndonjė gjė tjetėr rreth Moodle, ju lutem bėjeni!

> > Vendoseni atė nė web dhe sigurohuni qė keni futur linkun pėr http://moodle.org/

> ### Pjesmarrje nė gjurmimin e tė metave

> > Sė fundi, do tė desha tu ftoj pėr tu regjistruar te "bug tracker" at http://moodle.org/bugs kėshtu qė ju mund tė skedoni ēdo tė metė qė ju gjeni dhe ndoshta merrni pjesė nė diskutimin dhe rregullimin e tyre.

> > "Bugs" jo vetėm pėrfshin tė meta tė software-it nė versionin korent tė Moodle, por ka ide tė reja, kėrkesa tiparesh dhe kritika konstruktive mbi tiparet ekzistuese. E bukura e "open source" ėshtė se gjithkush mund tė marri pjesė nė njė farė mėnyre dhe tė ndihmojė krijimin e njė produkti mė tė mirė qė tė na kėnaqė tė gjithėve. Nė kėtė projekt, ju jeni i mirseardhur!

> > > Faleminderit qė pėrdorni Moodle!
> > > Martin Dougiamas, Lead Developer

Dokumentacioni i Moodle

Version: $Id$