e-learning rendszer fejlesztése
DESCRIPTION
E-learning rendszer fejlesztése. Oltványi Gábor József diplomaterv bemutató Konzulens: Jaskó Szilárd 2012.07.04 ., PPKE-ITK Elektronikus oktatás szakirányú továbbképzés. Feladatkiírás. 1. „Egy tetszőlegesen választott e-learning rendszer továbbfejlesztése”. - PowerPoint PPT PresentationTRANSCRIPT
E-learning rendszer fejlesztése
Oltványi Gábor Józsefdiplomaterv bemutatóKonzulens: Jaskó Szilárd2012.07.04., PPKE-ITKElektronikus oktatás szakirányú továbbképzés
2
Válasszon egy létező (nyílt forráskódú) e-learning rendszert!
Ismerkedjen meg az alapelveivel, a benne használt technológiákkal (programkód, adatbázis)!
Üzemeltesse a rendszert a saját gépén vagy egy szerveren!
Nézzen utána a rendszer eddigi fejlesztésének! Pl. fejlesztői közösség, fő verziók, verziókövető rendszer.
Részletezze, hogyan támogatja a SCORM szabványt az adott e-learning rendszer!
Egy tetszőleges modult fejlesszen tovább – az elektronikus oktatás szemszögéből hasznos módon!
Esetleg fogadtassa el változtatását a fejlesztő szervezettel!
Feladatkiírás1.„Egy tetszőlegesen választott
e-learning rendszer továbbfejlesztése”
3
Távoktatás, elektronikus oktatás, e-learning,LMS, CMS, LCMS, VLE, Virtual School
Tanulásigény (LLL), képzésigény (cégek) Szereplők: rendszergazda, adminisztrátor,
oktatásszervező, tananyagfejlesztő, kurzuskészítő, oktató, hallgató
Egységesítés => szabványok, pl. SCORM Újrafelhasználhatóság => LO-k: Képzés, kurzus,
tanóra/teszt, oldal, média-elem Előzmények/egyéb E-learning rendszerek:
› Oktatásban: ingyenes (WebCT, Atutor, Moodle)
› Cégeknél: IT-multik (Oracle, iLearning, IBM L.Space)
Előzmények/Moodle fejlesztéséről› jól dokumentált: moodle.org
Fogalmak, előzmények2.
4
Szoftver (LMS/CMS/VLE); Moodle Pty Ltd.; Moodle Partner hálózat; Moodle Community (moodle.org)
Modular Object-Oriented DynamicLearning Environment
Felhasználók (e-learning szerepek szerint), kurzusok, tanórák, tesztek, hallgatók előrehaladásának nyomonkövetése, chat, címkék, wiki, fórumok, hírek, belső levelezés, értesítők, kérdőívek, stb…
Technológiai alapok:› nyílt forráskódú, ingyenes, PHP-alapú keretrendszer
› Keretrendszer: PHP (kódkönyvtár + adatkönyvtár – moduláris!)
› Adatbázis: választható (MySQL, PostgreSQL, MSSQL, Oracle, SQLite)
› JavaScript: YUI, de elvileg JS nélkül is futnia kell, modularitás!
› Verziókövetés: git (verzió-branch-ek…)
3.
5
1999, Martin Dougiamas, 2002: 1.0, 2012: 2.3.
főverzió/major/release, alverzió/minor; stable/unstable, alpha, beta, RC, heti release-ek
SCORM anyagot nem lehet létrehozni a Moodle-ben, de importálni és megjeleníteni lehet, vannak letölthető demó SCORM-anyagok is a Moodle egyik oldalán.
Kurzus, szerkesztési mód Tananyag hozzáadása SCORM-csomag => egy link jelenik meg a kurzusunkban
Példa: egy teszt csomag, médiaelemekkel tarkítva…
Verziók és SCORM4.
6
Fejlesztői modell,telepítés és üzemeltetés5.
Cél:› elérni a Moodle legújabb frissítéseit
› egy „éles” és egy „teszt” Moodle rendszert üzemeltetni
› Ide saját módosításokat is fejleszteni – a saját gépünkről – esetleg egy kolléga is tudjon hasonlóan fejleszteni.
Telepítés:› Szerver-oldal: apache, php, mysql, git
moodle.git klónozása saját „origin”, éles és teszt környezetek létrehozása újabb klónozással
üres adatbázis létrehozása, moodle-telepítés követése
› Fejlesztői gépen (lehet akár Windows is!): EasyPHP – phpMyAdmin, adatbázis dump, local alias
git – klón a szerverünkről, moodle: config.php
Üzemeltetés, karbantartás, frissítés, saját fejlesztések: › git remote update, git pull, …, git checkout, git commit, git
push, git rebase/merge
OfficialMoodlegit repo
(git://git.moodle.org/
moodle.git)
OfficialMoodlegit repo
(git://git.moodle.org/
moodle.git)
OurServerOurServerOur Moodle
git repo origin
Our Moodlegit repo origin
Our Moodle site(moodle.ourserver.com)
Our Moodle site(moodle.ourserver.com) Moodle
test site
Moodle test site
MyMachineMyMachine
My Moodledev git repo
My Moodledev git repo
OtherMachineOtherMachine
OtherMoodledev git repo
OtherMoodledev git repo
http://gabrosz.szentjanosbogar.hu/mdl2/
7
Tracker: a Moodle teendő-listája, feladatok: „issue”-k. Projektek:› Moodle; Community Sites; Mobile;› QA; Testing; Non-core contributed modules
Kontribúció: közreműködés a Moodle fejlesztésében› Ehhez meg kell felelni a „coding standards”-nek› Fő verzióhoz „Moodle” projekt-beli issue-nak kell lennie, a sajátok a
„contrib”-ba mennek, ami a bővítménykönyvtárban jelenik meg (plugins)› Saját github létrehozása, issue a Trackerben (contrib + QA/Test),
dokumentáció, fórumtémák. A Moodle bővítése: pluginok (komponensek, bővítmények)
› docs.moodle.org/dev/Plugins, meglévők: moodle.org/plugins Egy komponens:
› modularitás => adott mappa almappája› meghatározott elnevezések, kötelező fájlok, osztály-öröklődés
pl.: /blocks/conversations/ versions.php, (edit_form.php), blocks_conversations.php, lang/en/block_conversations.php
› class block_conversations extends block_base { …
Tracker, kontribúció, fejleszthető komponensek6.
8
PHP:› config.php vs. install.php; lib/setup.php, lib/…› osztály-öröklődés modulonként› business logic és a template nem különül el… › régi, elavulós PHP-s stílus fellelhető (var, global)
Adatbázis:› nincs objektum-relációs leképezés (ORM)
(=> adatbázis-szerver függő is lehet a lekérdezés)› nagyjából logikus, de van redundancia…
JavaScript:› YUI ~ nem használtam, helyette jQueryt…› a YUI gyorsabb, könnyebb súlyú, és modulárisabb, szigorúbb
elvekkel, a jQueryt gyorsan lehet fejleszteni Fejlesztőeszközök:
› Linux/Windows?, Virtualbox ? Eclipse/Netbeans?; Notepad++› EasyPHP phpMyAdmin/MySQL WorkBrench; PuTTY› git – GitK, GitGUI, Git Bash (~linux shell), KDiff3› böngészők: Firefox, Chrome, + fejlesztésre: Inspector-ok, FireBug
Fejlesztői megjegyzések7.
9
Conversations Block8.
Ötlet, motiváció:› interaktív, felhasználóbarát, intelligens kommunikációs felület
(chat+messaging)› nincs még hasonló plugin
Specifikáció:› block+modul integrált chat és levelezéssel, auto-frissítés,
paraméterezhetőség› listázás: online felhasználók (vagy egyéb szűrés) – rájuk kattintva cset vagy
levél-oldal› üzenetlistázás: felhasználónként, önfrissülő› új üzenet jelzése, olvasatlan-számláló, stb.
Implementáció:› egy központi AJAX-hívásra épül,› aminek egy paraméter-listjától függő funkciók hajtódnak végre – szerver- és
kliens-oldalon is egy-egy „handle” függvény kontrollálásával.› listák betöltése: késleltetve, utána már csak frissítés› levélfolyam: korábbiak betöltése csak kérésre
Publikáció / hátra van:› a modul – csak a blokkon dolgoztam eddig› blokk funkciók, pl. chat egyesítése, chat elérhetőség› jQuery helyett YUI› fordítások
10
Demó9.
E-learning rendszerek alapfogalmai Moodle vizsgálata
› fejlesztésre alkalmas telepítési és üzemeltetetési modell és ennek kivitelezése
› SCORM: megjeleníthető, de nem fejleszthető
› fejlesztői közösség, verziók, tracker (feladattár), kontribúció feltételei
› fejleszthető bővítmények, bővítménytár
Conversations block: saját fejlesztés› ötlet, specifikáció, elkészült részek és tervek
11
10. Összefoglalás