AAA

Moodle 2 - (r)ewolucje

Adam Pietrzykowski

Od ponad roku platforma e-learningowa Moodle posiada nową linię rozwojową - 2.x. Fakt, że najczęściej używana obecnie wersja platformy (1.9) przestała być rozwijana, sprawia, iż zmiana oprogramowania wydaje się procesem nieuchronnym w niedalekiej przyszłości. Dla wielu osób zaangażowanych w projekty zdalnego nauczania oznacza to konieczność bliższego zapoznania z nową odsłoną systemu Moodle.

Moodle (Modular Object-Oriented Dynamic Learning Environment) to powszechnie używany, oparty na wolnej licencji GPL, system informatyczny klasy LMS, potocznie zwany platformą e-learningową. Został stworzony w 1999 roku przez Martina Dougiamasa z Uniwersytetu Perth w Australii. Dougiamas, sam korzystając w młodości z kształcenia na odległość i doświadczając pewnych ograniczeń zastosowanego rozwiązania, stworzył system, którego podstawę stanowią założenia konstruktywizmu społecznego. Jest to jeden z nurtów konstruktywizmu, który odwołuje się głównie do prac psychologa Lwa Wygotskiego i którego podstawowym założeniem jest przekonanie, iż uczenie się zachodzi w interakcjach społecznych1. System Moodle okazał się jednak na tyle elastyczny, że umożliwia prowadzenie procesu dydaktycznego w oparciu o różne podejścia teoretyczne.

Moodle to także model biznesowy, który stanowi wzorcowy przykład koegzystencji ekonomii daru w zakresie technologii kształcenia i sprawnego przedsiębiorstwa (Moodle Trade) kierującego się maksymą: Wszystko, co chcemy zrobić, to stworzyć potężne darmowe narzędzia, by pomóc Ci edukować świat. Niebywały sukces australijskiego przedsięwzięcia, które przez blisko 10 lat zdążyło zdominować rynek otwartych (open source) platform e-learningowych2, przypisać można - podobnie jak w przypadku GNU/Linuksa - małym wymaganiom systemowym, wieloplatformowości, interoperacyjności, a przede wszystkim wspólnocie użytkowników indywidualnych i instytucjonalnych zaangażowanych w jego rozwój.

Moodle 2 jest kolejną odsłoną liczącego już ponad dekadę projektu. Wypracowany po latach konsultacji deweloperów oprogramowania i wspólnoty użytkowników system to nie tylko nowe funkcjonalności, technologie internetowe czy interfejs użytkownika, ale także kompletna reorganizacja całego procesu wytwarzania oprogramowania na każdym szczeblu (od cyklów wydawniczych przez system tłumaczeń po strukturę dokumentacji).

Wymagania - klient/serwer

System informatyczny, jakim jest platforma e-learningowa Moodle, wymaga do swojego działania oprogramowania serwerowego, w tym: serwera HTTP, serwera bazy danych oraz bibliotek języka programowania do dynamicznego generowania treści - PHP, a po stronie klienta - odpowiedniej przeglądarki internetowej.

Wraz z pojawieniem się nowej linii rozwojowej Moodle wymagania stawiane zarówno oprogramowaniu maszyn serwerowych, jak i przeglądarek uległy zmianie. W porównaniu z dynamiką powstawania nowych wersji przeglądarek zmiany po stronie klienta są nieznaczne (tabela 1). Istotnie podniesiono jednak wymagania dotyczące oprogramowania serwera: bazy danych, a zwłaszcza wersji PHP. Dla Moodle 2.1+ jest to PHP w wersji aż 5.3.2, co niewątpliwie jest efektem zaprzestania rozwijania linii PHP 5.2 w styczniu 2011 roku. Postawienie takich wymagań stanowi zatem element przyjętej strategii rozwoju i zapewniania bezpieczeństwa systemu, która wiąże się z wykorzystywaniem tylko stabilnego i nadal rozwijanego oprogramowania.

Tabela 1. Minimalne wymagania oprogramowania klienta i serwera dla różnych wersji Moodle
Wersja Oprogramowanie serwerowe Oprogramowanie klienckie (przeglądarki)
1.9 PHP 4.3.0, MySQL 4.1.16 lub Postgres 8.0 lub MSSQL 9.0 lub Oracle 9.0 Internet Explorer 6, Firefox 2, Safari 1
2.0 PHP 5.2.8, MySQL 5.0.25 lub Postgres 8.3 lub MSSQL 2005 lub Oracle 10.2 IE7, FF 3, Safari 3, Chrome 4, Opera 9
2.1/2.2 PHP 5.3.2, MySQL 5.0.25 lub Postgres 8.3 lub MSSQL 2005 lub Oracle 10.2 IE7, FF 3, Safari 3, Chrome 4, Opera 9
2.3+ PHP 5.3.2, MySQL 5.0.25 lub Postgres 8.3 lub MSSQL 2005 lub Oracle 10.2 IE8, FF 4, Safari 5, Chrome 11, Opera 9

Źródło: http://docs.moodle.org

Moodle 2 - interfejs

Wraz z nową linią rozwojową oprogramowania pojawia się zazwyczaj nowy interfejs użytkownika, którego struktura i estetyka wyznaczają efektywność i komfort pracy. Podstawowym problemem w tworzeniu nowego interfejsu jest wypracowanie równowagi pomiędzy przyzwyczajeniami użytkownika a nową jakością osiągniętą dzięki udoskonalaniu starszej wersji i eliminowaniu możliwych wad oraz błędów. W tym względzie liderzy projektu postąpili dość zachowawczo.

Rysunek 1. Moodle 2.2 - interfejs nauczyciela (administratora) w autorskim projekcie Ścieżki Filozofii3
Źródło: opracowanie własne

Zmiany dotyczą głównie reorganizacji podstawowych „cegiełek” tworzących różne menu zarządzania - bloków. Zyskały one charakter globalny, gdyż są dołączone do każdej strony na platformie. Możliwości ustawienia ich pozycji nie są już ograniczone do lewej i prawej kolumny - blokami można zagospodarować również górną, centralną i dolną cześć strony. Pojawił się ponadto metablok Ustawienia, który - w zależności od roli na platformie - skupia do czterech bloków zarządzających: Ustawienia mojego profilu, Zmień rolę na (wcześniej dostępny w rozwijalnym menu w pasku nawigacji) oraz Administracja kursem i Administracja serwisem. W przypadku roli administratora dodano również blok Ustawienia strony głównej, umożliwiający konfigurację frontowej strony platformy.

Pod względem estetyki nowy graficzny interfejs użytkownika (GUI) został wprawdzie odświeżony, niemniej jego struktura i wygląd wciąż mocno nawiązują do wcześniejszej wersji. Rozmiar i kształt ikon symbolizujących określone operacje został zachowany, pojawiło się natomiast wiele nowych kompozycji w dość atrakcyjnej i jednocześnie minimalistycznej szacie graficznej. Za sprawą użytych na większą skalę technologii Javascript czy AJAX (umożliwiającej przeładowanie wyłącznie aktywnej części strony) oraz częściowo CSS3 i HTML5 praca na platformie jest bardziej komfortowa, czego można doświadczyć, korzystając chociażby z wbudowanego narzędzia, jakim jest menadżer plików (file picker). Jest też zdecydowanie więcej niestandardowych wtyczek, wykorzystujących wspomniane technologie, które poprawiają ogólnie UX, jak np. możliwość przeciągania plików z pulpitu prosto do kursu Moodle (drag and drop upload). W przypadku migracji użytkownicy nie powinni mieć zatem większych trudności z adaptacją do nowego środowiska.

Warto również zauważyć, że od wersji 2.2 Moodle w tworzeniu layoutu strony zaczęto stosować zasady responsywnego webdesigningu (Responsive Web Design), uzależniając wygląd i funkcjonalność platformy od rozdzielczości ekranu użytkownika. Zarówno strona Moodle docs wykorzystująca środowisko wiki, jak i platforma Moodle, zostały dopasowane do małych ekranów urządzeń mobilnych. Biorąc pod uwagę obecne trendy dotyczące urządzeń mobilnych, wskazywane chociażby przez raporty Horizon 20114 czy Morgan Stanley 20115, posunięcie takie dowodzi, iż twórcy platformy mają świadomość zmian technologicznych i chcą za nimi nadążać.

Jak powstaje nowy system Moodle?

Efektywne tworzenie oprogramowania zakładać musi pewną logikę zarządzania procesem wytwórczym. W przypadku Moodle jest ona zgodna ze zwinną (zgodną z manifestem Agile) metodyką SCRUM. Metodyka ta zakłada działania w określonych rytmach czasowych - tzw. sprintach, trwających od 2-4 tygodni, w czasie których powstają działające odpowiedniki założonych funkcjonalności6.

Cykl tworzenia nowej wersji oprogramowania w linii 2.x rozpoczyna się od ułożenia listy funkcjonalności, które pragnie się zaimplementować. Istotną rolę odgrywają tu konsultacje w gronie deweloperów i wspólnoty użytkowników Moodle, którzy przyjmują rolę osób określających wymagania (product owners) we wspomnianej metodyce. Lista powstaje głównie w wyniku głosowania przy użyciu narzędzia deweloperskiego dostępnego za pośrednictwem strony WWW - zwanego Moodle Tracker7. Na postawie listy tworzy się tzw. mapę drogi (roadmap), będącą jednocześnie częścią długoterminowej wizji rozwoju platformy.

Zarówno w przypadku tworzenia nowych funkcji, jak i eliminacji istniejących błędów oprogramowania zakłada się, że początkowym etapem będzie tygodniowy przepływ pracy, którego celem jest integracja wytworzonego kodu z kodem Moodle (integration workflow). W procesie tym biorą udział użytkownicy zgłaszający potrzebę wprowadzenia nowej funkcjonalności lub błąd, deweloperzy, liderzy komponentów decydujący o zmianach w obrębie modułów lub wtyczek. Następnie integratorzy (integrators), którzy oceniają jakość kodu oraz decydują, czy istnieje potrzeba dokonania poprawek lub czy możliwe jest przejście do stadium testowania. W kolejnym etapie zespół testerów określa, czy wytworzone oprogramowanie spełnia wszystkie stawiane przed nim wymagania. Na końcu łańcucha decyzyjnego znajdują się opiekunowie produkcji (production maintainers), decydujący o wcieleniu wytworzonego kodu do korpusu stabilnych źródeł Moodle. W przypadku nowej wersji na miesiąc przed jej wydaniem zatrzymane zostają wszelkie prace rozwojowe, by zespół do spraw jakości (QA Team) mógł potwierdzić wysoką jakość stworzonych rozwiązań.

Dość istotnym elementem nowej strategii tworzenia platformy jest nowy cykl wydawniczy oprogramowania. Zgodnie z używaną do wersji 1.9 metodyką punkt wyjścia stanowiło założenie dotyczące wprowadzenia określonych funkcjonalności, a nową wersję oprogramowania wypuszczano po ich implementacji w projekcie. Obecnie stosowane podejście zakłada emisję nowych wersji cyklicznie (podobnie jak w innym projekcie open source - Ubuntu) - co pół roku (tabela 2). W tym modelu zaplanowane funkcjonalności, których nie udało się wprowadzić, przechodzą do następnej wersji rozwojowej. Twórcy zastrzegają jednak, że terminy mogą nieznacznie się przesuwać, jeśli pojawią się nieprzewidziane okoliczności. W międzyczasie wydawane będą regularnie, w dwumiesięcznych odstępach, aktualizacje błędów (przez 12 miesięcy) i zabezpieczeń (przez 18 miesięcy) do wspieranych wersji (tabela 2).

Tabela 2. Okresy wydawania nowych wersji i poprawek dla platformy Moodle 2
Typ wydania Częstotliwość wydawania Miesiące
Wersje bazowe (major, np. 2.x) 6 miesięcy Pierwszy poniedziałek czerwca i grudnia
Poprawki do wersji (minor, np. 2.x.x) 2 miesiące Drugi poniedziałek stycznia, marca, maja, lipca, września i listopada.

Źródło: opracowanie własne na podstawie http://docs.moodle.org/dev/Releases

Warto również wspomnieć, jak kształtuje się polityka Moodle dotycząca aktualizacji wersji nierozwijanych (tabela 3). Ze względu na dużą liczbę instalacji wersji 1.9 uaktualnienia bezpieczeństwa będą dostarczane przez partnera Moodle, firmę Catalist IT, aż do grudnia 2013 roku. To wystarczająco dużo czasu, aby zaplanować i wdrożyć plan migracji do wersji 2.x.

Tabela 3. Daty zaprzestania tworzenia aktualizacji dla aktualnych wersji Moodle
Wersja Aktualizacje podstawowe
(bug fixes for general core bugs)
Uaktualnienia zabezpieczeń
(bug fixes for serious security issues)
1.9 czerwiec 2011 grudzień 2013
2.0 grudzień 2011 czerwca 2012
2.1 czerwiec 2012 grudzień 2012
2.2 grudzień 2012 czerwiec 2013

Źródło: opracowanie własne na podstawie http://docs.moodle.org/dev/Releases

Nowe funkcjonalności

Funkcjonalności to podstawowa kategoria, której używa się do określenia możliwości oprogramowania. Przyrost nowych funkcjonalności jest nierozerwalnie związany z rozwojem systemów informatycznych. Stąd potrzeba zapoznawania się z elementami, które w przypadku platformy wyznaczają zakres jej możliwości, zarówno administracyjnych, jak i pedagogicznych. W dalszej części opracowania opisane zostały wybrane - istotne zdaniem autora - zmiany dostępne w wersjach 2.0, 2.1 oraz 2.2 (tabele 4, 5, 6). Wykaz przedstawiony w tabelach został podzielony na dwie kategorie: zarządzanie platformą i zarządzanie kursem. Pierwsza odpowiada roli administratora, druga - nauczyciela prowadzącego kurs.

Tabela 4. Moodle 2.0 - wybrane funkcjonalności
2.0 - Administrowanie platformą
Nazwa funkcjonalności Charakterystyka
Grupy globalne (Cohorts) Jedna z najbardziej wyczekiwanych funkcjonalności w Moodle. Określana inaczej jako kohorty - to możliwość tworzenia grup globalnych (site-wide groups) z zarejestrowanych na platformie użytkowników.
Wsparcie dla portfolio Możliwość eksportu różnego rodzaju danych do zewnętrznych systemów. Użyteczne w przypadku chęci zapisania wypowiedzi na forum, aktywności czy innych elementów mogących tworzyć portfolio. Wtyczki obsługujące integrację z Box.net, Flickr, Google Docs, Mahara czy Picasa.
Repozytoria zewnętrzne Możliwość integracji z zewnętrznymi repozytoriami danych, zawierającymi dokumenty i media. Dostępne wtyczki do Amazon S3, Flickr, Google Docs, Picasa, Recent Files, Wikimedia, YouTube i innych serwisów. Wsparcie dla usług Web Wsparcie dla standardowych usług Web w obrębie całego kodu Moodle, pozwalające administratorowi udostępniać wybrane funkcje systemom HR czy SIS, jak i klientom mobilnym.
2.0 – Administrowanie kursem
Warunki ukończenia i przystąpienia do kursu/aktywności Możliwość definiowania standardowych warunków ukończenia kursu/aktywności (course completion conditions). Warunkami mogą być: dla kursu - ukończenie aktywności, ocena, data, a dla aktywności - liczba postów umieszczonych na forum itp. Spełnienie tych wymagań może także stanowić warunek konieczny do zapisania się na inny kurs (prerequisite).
Zarządzanie plikami Zmiana w wyglądzie interfejsu i funkcjonowaniu menadżera plików (file picker). Nowy system przechowywania plików (file bank repository) niezależny od katalogu danych kursu.
Nowe bloki Blok komentarza - pozwala na dodanie komentarzy do każdej strony.
Blok prywatnych plików - daje dostęp do prywatnych plików z każdego miejsca platformy za pomocą menadżera plików. Możliwość ustawienia limitów dyskowych.
Blok wspólnoty (community) - śledzi interesujące użytkownika zewnętrzne kursy.
Blok statusu ukończenia kursu - raportuje status ukończenia kursów.
Mechanizmy antyplagiatowe Możliwość integracji z narzędziami antyplagiatowymi, np. Turnitin.
Filtry 2.0 Możliwość ustawienia różnych filtrów dla wybranej kategorii, kursu bądź jego elementów.
Edytor HTML Nowe narzędzie do edycji kursu bazujące na edytorze TinyMCE - zastępuje edytor HTMLArea.
Komunikacja Możliwość przesyłania wiadomości za pomocą poczty elektronicznej, jabbera i wyskakujących okienek (pop-ups).
Oceny (Ratings) Oceny użytkowników (glosariusz, bazy danych, fora itd.) mogą być teraz obsługiwane i wyświetlane w obrębie całej platformy.
Otwarta baza kursów (Community hubs) Wtyczka umożliwiająca zapisanie się do publicznie dostępnych katalogów kursów - community hubs. Możliwość przyłączenia platformy do jakiegokolwiek katalogu, publikowanie, ogłaszanie kursów przez nauczycieli, wyszukiwanie oraz zapisywanie się na nie przez użytkowników. Funkcjonalność nawiązująca do ruchu Otwartych Zasobów Edukacyjnych poprzez tworzenie wspólnot edukacyjnych (communities of teaching practice).

Źródło: opracowanie własne na podstawie http://docs.moodle.org/19/en/Moodle_2.0_release_notes

Tabela 5. Moodle 2.1 - wybrane funkcjonalności
2.1 - Administrowanie platformą
Nazwa funkcjonalności Charakterystyka
Obsługa urządzeń mobilnych Wersja serwisu dedykowana urządzeniom mobilnym. Wymaga zainstalowania oficjalnej aplikacji na urządzeniach mobilnych.
Aplikacje mobilne Aplikacja mobilna dla iPhone'a do pobrania bez opłat z App Store.
2.1 - Administracja kursem
Quiz - esej Esej - typ pytania tekstowego, oferuje możliwość przesłania odpowiedzi zapisanej w pliku.
Ponowne użycie aktywności
(reusing activities)
Możliwość ponownego wykorzystania aktywności. Twórcy przewidzieli kilka sposobów, w tym backup i przywrócenie aktywności, importowanie danych kursu, klonowanie zasobu/aktywności.
Quiz - zachowania pytań
(question behaviours)
Dostępnych jest 6 rodzajów interakcji studenta z pytaniem, które warunkować mogą uzyskanie informacji zwrotnej, przejście do następnego pytania lub zakończenie quizu.

Źródło: opracowanie własne na podstawie http://docs.moodle.org/21/en/Category:New_features

Tabela 6. Moodle 2.2 - wybrane funkcjonalności
2.2 - Administrowanie platformą
Nazwa funkcjonalności Charakterystyka
Grawatary
(Gravatars)
Możliwość powiązania profilu użytkownika z systemem globalnie rozpoznawalnych awatarów.
IMS Common Cartridge import Możliwość importu pakietów w nowym standardzie IMS Common Cartridge.
2.2 - Administrowanie kursem
Aktywności warunkowe - ustawienie Możliwość ustawienia ograniczeń dostępu do aktywności/zasobu na podstawie dokładnego czasu, nie zaś samej daty.
Narzędzie zewnętrzne Narzędzia zewnętrzne pozwalają użytkownikom Moodle korzystać z aktywności i zasobów (kompatybilnych z LTI) znajdujących się na innych stronach.
Zaawansowane metody oceniania Nowy podsystem, który pozwala na użycie różnych mechanizmów oceniania (np. Rubrics) do obliczenia oceny końcowej studenta.

Źródło: opracowanie własne na podstawie http://docs.moodle.org/en/Category:New_features

Warto dodać, iż wraz ze stworzeniem linii 2.x został zmieniony system pracy nad wersjami językowymi platformy. Aby umożliwić bardziej efektywne przygotowywanie tłumaczeń, stworzono dedykowany portal. Wcześniej praca organizowana była z reguły na platformach budowanych przez tłumaczy. Jednocześnie ulepszono format przechowywania fraz językowych na platformie, co przełożyło się na uzyskanie lepszej wydajności podczas edycji i generowania stron.

Także dokumentacja Moodle 2.x doczekała się nowej organizacji i sprawia obecnie wrażenie bardziej systematycznej i uporządkowanej. Jak pracuje się z nową platformą Moodle, można sprawdzić na stronie demonstracyjnej dostępnej pod adresem http://demo.moodle.net/.

Problemy z Moodle 2

Nowa wersja oprogramowania poza funkcjonalnościami przynosi zazwyczaj również element niechciany - błędy. Choć większości z nich da się uniknąć, głównie dzięki odpowiedniej organizacji pracy i angażowaniu wysokiej klasy specjalistów, to zawsze jakaś część przedostaje się do kodu finalnego. Udostępniony do użytku ponad rok temu projekt Moodle 2.0 pozostawiał pod tym względem wiele do życzenia. Przeprowadzony przez CLAMP (Collaborative Liberal Arts Moodle Project) - grupę college'ów i uniwersytetów rozwijających Moodle8 - audyt platformy Moodle 2.0.1 wykazał znaczną liczbę błędów uniemożliwiających poprawną pracę systemu. W efekcie Moodle 2 zostało uznane za oprogramowanie nienadające się do użytku produkcyjnego9. Jednak z każdą nową wersją sytuacja australijskiej platformy poprawiała się. Statystyki liczby błędów10 wyraźnie wykazują tendencję spadkową, zaś rosnąca liczba rozwiązanych problemów pozwala zakładać, że pojawiająca się usterka zostanie usunięta w przyzwoitym czasie. Diagnozę tę potwierdzają wnioski raportu CLAMP z ponownej ewaluacji platformy (v2.2), w którym przywrócono jej status w pełni funkcjonalnego oprogramowania, rekomendując je do użytku instytucjom edukacyjnym111. Niemniej Moodle 2.x ma przed sobą jeszcze długą drogę, zanim osiągnie podobną do swojego poprzednika stabilność i wynikający z niej poziom zaufania.

Podsumowanie

Zmiany zapoczątkowane w wersji 2.0 to coś więcej niż wynik powolnej ewolucji. Długi czas dojrzewania koncepcji nowej linii rozwojowej przełożył się na szereg udoskonaleń w zakresie funkcjonalności platformy czy user experience i przyniósł nową, przewidywalną (opartą na regularnych cyklach) metodykę wytwarzania oprogramowania Moodle. Platforma przeszła więc małą rewolucję, stając się dojrzałym i pewnie prowadzonym projektem. Choć według statystyk wersja 1.9 nadal dominuje pod względem liczby pobrań12, można spodziewać się, że w niedalekiej przyszłości sytuacja ta ulegnie zmianie, a przewagę - dzięki kolejnym funkcjonalnościom każdej nowej wersji - będzie zyskiwać linia 2.x.

Bibliografia

  • M.C. O'Connor, Can We Trace the „Efficacy of Social Constructivism”?, „Review of research of Education” 1998, nr 23.
  • K. Schwaber, Agile Project Management with Scrum, Microsoft Press, Redmond 2004.

Netografia

INFORMACJE O AUTORZE

ADAM PIETRZYKOWSKI

Autor jest doktorantem w Instytucie Kulturoznawstwa UAM. Przygotowuje dysertację na temat zastosowania e-kształcenia w humanistyce. Od 5 lat jako współpracownik Pracowni Komunikacji Multimedialnej zajmuje się e-learningiem, administrując systemami zdalnego nauczania i wdrażając je.

 

Informacje o artykule

pdf abstract in English

Komentarze

Nie ma jeszcze komentarzy do tego artykułu.

dodaj komentarz dodaj komentarz

Przypisy

1 M.C. O'Connor, Can We Trace the „Efficacy of Social Constructivism”?, „Review of research of Education” 1998, nr 23, s. 30.

2 Campus Computing, www.campuscomputing.... [12.06.2012].

3 Projekt Ścieżki Filozofii: sciezki-filozofii.edu.pl.

4 The Horizon Report 2011, net.educause.edu/ir.... [12.06.2012].

5 Stanley Morgan 2011, The Mobile Internet Report, www.morganstanley.c.... [12.06.2012].

6 K. Schwaber, Agile Project Management with Scrum, Microsoft Press, Redmond 2004, s. 7.

7 Moodle Tracker, tracker.moodle.org. [12.06.2012].

8 Collaborative Liberal Arts Moodle Project, www.clamp-it.org. [19.06.2012].

9 CLAMP, Moodle 2 Status Report, 2011, www.clamp-it.org/wp.... [18.06.2012].

10 Moodle Tracker, tracker.moodle.org/.... [19.06.2012].

11 CLAMP, Moodle 2.x Status Report, 2012, www.clamp-it.org/wp.... [18.06.2012].

12 Statystyki Moodle, moodle.org/stats , [12.06.2012].