Från webbstöd till lärplattform



Relevanta dokument
Studentmanual (Bb Learn )

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

CMS. - Content management system

Frontermanual för Rektorsprogrammet

Guide för Innehållsleverantörer

Kom i gång med PING PONG

Avancerade Webbteknologier

Blackboard CE8 Användarmanual Student

Teknikinformation till deltagare på Värkstadens webbkurser

Moodle2 STUDENTMANUAL

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Administrationsmanual ImageBank 2

Projekt Foreläsning VI

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Introduktion till Fronter för lärare

Trimble Communication Network Release notes Page 1

Karlstads Universitet, Datavetenskap 1

DOTPROJECT Manual. Projektledare och administratör har tillgång till fler funktioner och mer information än andra roller i det webbaserade systemet.

Moodle på Åsö för lärare

Bb October 2014 Studentmanual

Inledande programmering med C# (1DV402) Introduktion till C#

Workshop IBA internet based assessment

För att öppna galleriet, ange adressen

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Moodle kom igå ng låthund

Kom i gång med PING PONG

Webbservrar, severskript & webbproduktion

Användarhandledning - Introduktion till användning av Bb/WebCT för lärare och övrig personal

Lathund Office online

Logga in med ditt användarnamn och lösenord

Hur kan en distanskurs se ut i en lärplattform?

Skapa din egen MediaWiki

Webbprogrammering, grundkurs 725G54

Thomas Pihl Frontermanual. för studerande vid Forum Ystad

Programmering B PHP. Specialiseringen mot PHP medför att kursens kod i betygshanteringen heter PPHP1408.

Trimble Communication Network Release notes Page 1

Lärarhögskolan i Stockholm Högskoleförvaltningen Högskoleledningens kansli Magnus Mörck/Katharina Soffronow Katharina.Soffronow@lhs.

Kom i gång med PING PONG

Beijer Electronics AB 2000, MA00336A,

June 2010, rev Smartsign Publisher. User Guide. Smartsign Publisher 6.

Brasklapp: REV:s rådgivande verksamhet omfattar egentligen inte något detaljerat IT-stöd, men eftersom många väghållare har behov av att effektivt

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

Trimble Communication Network Release notes Page 1

Programmering B med Visual C

DOTNETNUKE SKOLNING Skapat: den 20 november 2012

Scio. en liten användarguide. Skriven av: Josefine Siewertz

Webservice & ERP-Integration Rapport

CMS, optimerade för programmerare Eller hur kan ett sådan skapas.

Kom igång med Turnitin (fristående version)

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

UPPHANDLING LÄRANDEPLATTFORM

Kom igång med TIS-Office

7 Mamut Client Manager

Snabbguide för E-lomake

Lägg till aktiviteten enkät/feedback eller öppna den existerande enkäten (ex. färdiga kursutvärderingen i kursbottnen).

Studieguide och användarhandbok för Moodle2

Innehåll. MySQL Grundkurs

3. Spara ner sådant som du känner att du måsta ha (enligt punkt 2), och zippa resten (punkt 1) och spara för säkerhets skull.

Content Management System. Publiceringssystem

Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll

FIRSTCLASS. Innehåll:

Om inte denna rekommendation efterföljs kan vi tyvärr inte ge några garantier för att vi kan supportera de problem som då kan uppstå.

Administrationsmanual ImageBank 2

IT-körkort för språklärare. Modul 2: Blogg

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare

Tentamen etjänster och webbprogrammering Institutionen för informatik och media, informattionssystem Datum 30/5 Tid

Webbstudieplatsen Moodle

Inlämningsarbete Case. Innehåll Bakgrund bedömning inlämningsarbete... 2 Inlämnade arbeten... 4

Människa-Dator Interaktion

Frågor och svar om ArcGIS Pro Licensiering

Handledning för installation och komma igång med Joomla

Objektorienterad programmering i Java I

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Introduktion till Fronter för studenter

LABORATION 1 Pingpong och Installation av Server 2008 R2

Innehållsförteckning. Manual WebCT

Diskussionsforum - Lärarmanual

Blogga med Wordpress

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

Online modulen är en tilläggsmodul som också ger tillgång till Näsgård Mobile.

Administratörsroller Strukturen (Hierarkier) Användarhantering Kurshantering Bedömningsinställningar

Unifaun OnlinePrinter

LUPstudentpapers. Manual Reviewer

Skapa enkäter i EvaSys

Storegate Pro Backup. Innehåll

Manual - Storegate Team

[MANUAL TILL LUVITS GRUNDFUNKTIONER]

Thomas Pihl Frontermanual för studerande vid Forum Ystad

Användarstöd för lärare. Anna-Karin Larsson

LUVIT LMS Quick Guide Att använda LUVIT Reports

Inkapsling (encapsulation)

Introduktion till MySQL

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Transkript:

Examensarbete DAA730 inom LGY60 Från webbstöd till lärplattform Birger Eriksson Handledare: Nicholas Pagden Juni 2006 MSI Växjö University SE 351 95 VÄXJÖ

Sammanfattning Rapporten är del i mitt examensarbete i kursen DAA730, omfattande 5 poäng, som ingår i distansutbildningen LGY60 vid Växjö universitet med datavetenskap för yrkesverksamma lärare. Rapporten behandlar LearnLoop som är ett opensourcebaserat, delvis objektorienterat program för lärande med sin bas i Sverige. En ny version av programmet har kommit, men den har ännu långt kvar tills den kan kallas för en fullständig lärplattform. Jag går i examensarbetet bland annat igenom ett par utredningar om lärplattformar för att se vilka funktioner som används och efterfrågas i en modern lärplattform. Utifrån det sammanställer jag en utvecklingsplan med områden som behöver utvecklas i Learnloop2. Några av de efterfrågade funktionerna är fildelning, hjälpfunktioner, SMSfunktioner och integrering av lärobjekt. Jag redovisar också hur jag har påbörjat den utveckling av koden som är nödvändig för att Learnloop2 ska kunna användas för att stödja undervisning inom högskola, universitet, gymnasium och andra utbildningsanordnare. Ett av de områden jag utvecklat är den objektorienterade klass för filhantering som nu finns implementerad och redovisad i detta arbete. 2

Innehållsförteckning 1.1 Bakgrund...4 1.2 Problemformulering...4 1.3 Avgränsningar...4 1.4 Rapportens struktur...4 2.1 Open source / öppen källkod...6 2.2 Lärplattform...6 2.3 Lärobjekt och SCORM...7 2.4 LearnLoop...7 2.5 Objektorientering med PHP...8 3.1 Enkät...10 3.2 Utvärderingar av befintliga lärplattformar...10 3.4 Utvecklingsplan och implementering...10 4.1 Resultat av enkät...11 4.2 Sammanställning av utvärderingar...11 4.2.1 Förstudien från VHS...11 4.2.2 Rapporten openlms från Uppsala universitet...12 4.3 Utveckling av LearnLoop...13 4.3.1 Filhantering...13 4.3.2 SMS...17 4.3.3 Sökfunktioner...17 4.3.4 Forum och chat...17 4.3.5 Lärobjekt...17 4.3.6 Grupper...17 4.3.7 Administration...18 4.3.8 Hjälp...19 5.1 Resultat diskussion...20 5.2 Framtida utveckling...20 Bilagor: Enkätblankett...Bilaga 1 Sammanställning av enkäten...bilaga 2 Kommentarer från Daniel Önnerby, upphovsman till LearnLoop...Bilaga 3 Kod till filklassen...bilaga 4 Kod till integrering av filklass i modul...bilaga 5 och 6 3

1 Inledning: 1.1 Bakgrund På den skola där jag arbetar, har vi under en längre tid använt bärbara datorer och webbaserat material i undervisningen. Vi har bl a använt det OpenSource baserade programmet LearnLoop som virtuellt klassrum för kommunikation, för gemensamt grupparbetsmaterial och för att delge eleverna dokument. Vi har saknat bra funktioner för att på ett enkelt sätt hantera kurser och kursmaterial. Programmet har också känts gammalt och dåligt anpassat för att fungera som lärplattform. Det har skrivits en ny version av programmet (LearnLoop2), men den har inte blivit helt färdig och kan därför inte ersätta den gamla versionen. 1.2 Problemformulering LearnLoop2 saknar flera vitala delar för att fungera som stöd i undervisningen, t ex filhantering, integrering av lärobjekt och administration av användare. Filhanteringen behövs för att lärare ska kunna lämna arbetsmaterial till eleverna och för att elever ska kunna lämna in och dela med sig av sina arbeten. Lärobjekt skulle underlätta för lärare att skriva och återanvända kursmaterial och administrativa verktyg behövs för att göra LearnLoop2 smidigt att hantera. Eftersom distansstuderandet ökar (Schultz & Nergell, 2004) och antalet svenskutvecklade lärplattformar med öppen källkod är få, är det intressant att se hur just LearnLoop2 skulle kunna förbättras. Syftet med examensarbetet är att utreda vad som ska ändras eller utvecklas i LearnLoop2 för att det ska fungerar som en modern lärplattform. att påbörja den fortsatta utvecklingen av LearnLoop2. 1.3 Avgränsningar Jag har valt att bara titta på utvärderingar av lärplattformar som har likheter med LearnLoop, i första hand opensourcelicenserade, webbaserade program byggda med PHP. Den enkät jag själv gjort har avgränsats till att gälla elever på min skola, eftersom de använder LearnLoop. lärare som jag vet använder någon form av lärplattform, både på min och andra skolor, däribland några universitet och högskolor. För implementeringen av utökade funktioner i LearnLoop2 har jag avgränsat mig till hantering av filer, moduler som använder filer och vissa administrativa funktioner. För en fullständig implementering behövs betydligt mer tid än vad som ryms inom kursen. 1.4 Rapportens struktur Kapitel 1 beskriver bakgrund och syfte med examensarbetet. 4

Kapitel 2 ger en teoretisk bas för en del av de begrepp som berörs i rapporten. Kapitel 3 handlar om vilka metoder jag använt. I kapitel 4 redovisas resultatet av examensarbetet och kapitel 5 tar upp en diskussion kring resultat och framtid. 5

2 Teori I kapitlet tar jag upp några begrepp som berörs i rapporten. Jag gör inte anspråk på att ge en helhetsbild av begreppen, men hoppas kunna förklara dem så att sammanhanget blir gripbart i rapporten. 2.1 Open source / öppen källkod Open source innebär att källkoden till ett program är tillgänglig att använda, läsa, ändra och vidaredistribuera för den som vill. GPL (General Public License) är en vanlig licens för program med öppen källkod. LearnLoop är släppt med öppen källkod under GPLlicens. Om man förfogar över källkoden kan man, till skillnad från slutna proprietära system som t ex WebCT och LUVIT, ändra på och utveckla programmet så att det passar den egna organisationens önskemål. 2.2 Lärplattform Jag använder här begreppet lärplattform. Med det menar jag ett webbaserat program som fungerar som stöd i lärandeprocessen. Det innehåller t ex verktyg för kommunikation och samarbete, samlad inlämning av uppgifter, kursinformation och lärstoff samlat och schemaläggning av aktiviteter. Man skulle kunna kalla det ett virtuellt klassrum. Ett stort antal lärplattformar kallar sig LMS (Learning Management System), även om de inte alltid fyller kriterierna för ett sådant. LMS skulle kunna översättas som lärhanteringssystem, men oftast används begreppet lärplattform eller LMS i svenska texter. Ett LMS beskrivs ofta som ett system som fokuserar på att hålla reda på elever, elevuppgifter och deras resultat. Standardiseringsorganisationen IEEE (IEEE CS, 2004) har en definition av LMS: "learning management system (LMS): A computer system that may include the capabilities to register learners, schedule learning resources, control and guide the learning process, analyze and report learner performance, and schedule and track learners." Fritt översatt:"ett datorsystem som kan inkludera funktioner för registrering av elever, schemalägga uppgifter, styra och handleda lärandeprocessen, analysera och sammanställa elevprestationer, samt schemalägga, dokumentera och följa elevaktiviteterna." I definitionen nämns också att vissa LMS har funktioner för att hantera lärstoffet, dvs det innehåll som finns i en lärandeprocess. IEEE kallar denna funktion "runtime service" (RTS). Om systemet har fokus på just lärstoffet kallas det ibland LCMS (Learning Content Management Systems). I ett LCMS kan man bygga och återanvända lärobjekt. Vissa LMS har dessa funktioner och kan alltså också kallas LCMS. En skillnad (Brennan, 2001) mellan LMS och LCMS är att lärstoffet i ett LMS binds till den enskilda kursen, medan det i ett LCMS är separerat och kan användas av olika kurser. En kommunikationsplattform som t ex FirstClass innehåller en del av de funktioner som en lärplattform har, men har inte samma fokus på kurshantering och lärande. 6

Jag kommer i detta dokument använda begreppen lärplattform och LMS för att minska mängden begrepp, även om det i vissa fall hade passat bättre med t ex LCMS. Illustration 2:1 Illustration 2:1 ger exempel på sju huvudfunktioner som kan finnas i en lärplattform, med exempel på funktioner för varje huvudfunktion. LearnLoop2 har endast implementerat vissa delar av funktionerna, framför allt under Kommunikation och delar av Användarhantering och Planering. 2.3 Lärobjekt och SCORM Ett lärobjekt byggs upp genom att man plockar ihop lärstoff till ett paket. Det finns ett antal standarder för lärobjekt och en standard som ofta används för LMS är SCORM (Sharable Content Object Reference Model). Fördelen med lärobjekt som följer en standard är att de ger en möjligheter till uppdateringar, sökningar i innehållet och återanvändning i olika sammanhang. SCORM, liksom flera andra standarder, märker upp lärstoffet med metadata. Innehållet kan skapas i standardprogram som dreamweaver och flash eller med speciella program som t ex använder formulär, och sedan paketeras. Standarden ger också möjlighet att dokumentera elevens resultat och utveckling. Förutom SCORM finns andra standarder som t ex IMS och AICC. 2.4 LearnLoop Den första versionen av LearnLoop utvecklades som open source vid Viktoriainstitutets forskningsprogram Interactive Learning vid Göteborgs universitet. Numera administreras 7

LearnLoop formellt av OLC (Online Learning Communities ) vid IT universitet i Göteborg, men i praktiken ligger koden i händerna på dem som vill vara delaktiga i källkodsutvecklingen som är placerad på utvecklingsplatsen Sourceforge.net. Den av de ursprungliga kodarna som är kvar heter Daniel Önnerby och är också den som skrivit huvuddelen av den nya versionen. Eftersom jag ville vara med och förbättra LearnLoop2 bad jag alltså att få vara med i utvecklingsgruppen på sourceforge.net. 2.5 Objektorientering med PHP Ett stort antal webbprogram är byggda med programspråket PHP. En del av dem är objektorienterade. Anledningarna till att skriva objektorienterat i PHP är många, men framför allt vill jag betona att koden blir mer återanvändningsbar. Det gör också att koden blir välstrukturerad och lätt att uppdatera eftersom den blir mer modulär. Objektorientering introducerades i PHP4, men blev inte särskilt heltäckande förrän i PHP5. LearnLoop 2 följer än så länge den standard som finns för PHP4. I objektorienterad programmering utgörs grunden av sk klasser. En klass fungerar som samlare för en typ av händelser som på något sätt hänger ihop. Det kan t ex vara en klass som hanterar översättningar eller en som hanterar databaskopplingen. När man behöver använda kod från klassen skapas ett objekt av klassen, vilket också kallas en instans av klassen. I varje klass finns ett antal metoder som kan anropas för att utföra något med hjälp av klassen. Låt oss t ex se hur man kan använda en klass vid utskrift från en databas. Först har vi en klass som används för databaskopplingen. Klassen har en metod för att koppla till databasen (function databas), en för att ställa en fråga till databasen (function query) och en för att hämta en rad från databasen (function getone). Class databas { var $db; function databas ($dbname) { $this > db = mysql_connect ('URL','LOGIN','LÖSENORD') or die ( Kunde inte ansluta till databasservern ); mysql_select_db ($dbname, $this > db) or die ( Kunde inte välja databas ); function query ($sql) { $result = mysql_query ($sql, $this > db) or die ( Fel i frågan ); return $result; function getone ($sql) { $result = $this > query ($sql); if (mysql_num_rows ($result = = 0 ) { $value = FALSE; else{ 8

$value = mysql_result ( $result, 0 ); return $value; För att använda klassen skapar vi ett nytt objekt (en instans) ur klassen och skickar med databasens namn som argument. Den här koden läggs där svaret från databasen ska visas. Print skriver ut resultatet. $db = new databas ('databasnamn'); $sql = SELECT fnamn FROM users WHERE uid = 72 ; print $db > getone ($sql); 9

3 Lösningsansats Förutom att planera och börja implementera LMS liknande funktionalitet för LearnLoop2 har jag valt att göra dels en enkät bland användare, dels sammanställa delar ur utvärderingar där LearnLoop finns med. 3.1 Enkät En mindre enkät har genomförts för att utröna vilka funktioner som lärare och elever tycker är viktigast att implementera i en lärplattform. Valet av personer för enkäten har följt två spår: dels lärare och elever på den skola där jag arbetar som jag vet har använt LearnLoop, dels andra som har erfarenhet av att arbete med en lärplattform. Jag vände mig till lärare och elever jag haft kontakt med vid Växjö universitet, Göteborgs universitet och lärarhögskolan i Stockholm samt till ENIS nätverket i Sverige. Sammanlagt 40 enkäter har delats/skickats ut och besvarades anonymt i ett formulär på webben. 3.2 Utvärderingar av befintliga lärplattformar Det finns ett stort antal utvärderingar och jämförelser för lärplattformar. Syftet med examensarbetet har varit att se hur LearnLoop2 kan förbättras. För att ta reda på vad som efterfrågas hos olika lärplattformar har jag tittat på två utvärderingar där LearnLoop finns med. Den ena är gjord av VHS (Verket för högskoleservice) i syfte att kartlägga de IT baserade lärplattformar (Schultz & Nergell, 2004) och att belysa användarnas uppfattning om deras användbarhet. Jag tar med den därför att den på ett bra sätt belyser vad som efterfrågas och används i högre utbildningar. Den andra utvärderingen är gjord av Uppsala universitet i kölvattnet efter den första kartläggningen, för att göra en mjukvaruteknisk bedömning av lärplattformar med öppen källkod. Projektet kallades openlms och avslutades i början av 2006. Slutrapporten finns, men tyvärr fanns bara halvårsrapporten utlagd på Internet vid skrivandet, men den skiljer sig inte mycket från slutrapporten och ger en hel del synpunkter på funktioner i LearnLoop. 3.4 Utvecklingsplan och implementering Syftet med examensarbetet är att i första hand undersöka vad som bör utvecklas för LearnLoop2, även om stor del av tiden också ägnats åt att försöka implementera delar av förbättringarna. Jag samlar förslagen till förbättringar i en utvecklingsplan i kapitel 5. Tanken med utvecklingsplanen är att fortsatt implementation på ett enklare sätt ska kunna göras efter examensarbetet, av mig eller andra. 10

4 Resultat Först redovisar jag den enkät som jag genomförde med frågan om vad som är viktigast i en lärplattform, sedan visar jag utdrag av förstudien om IT plattformar(schultz & Nergell, 2004) och rapporten openlms från Uppsala universitet. Därefter fördjupar jag mig i hur jag arbetat med utveckling av LearnLoop 2. 4.1 Resultat av enkät Av de 40 enkäter som delats/skickats ut besvarades 23 st varav drygt hälften var lärare och övriga elever. Av de 33 frågorna redovisas här de tio frågor som prioriterades högst. (Den fullständiga sammanställningen finns i bilaga 2) 1. Ett SMS skickas till berörda om kalendern ändras 2. En grupp kan arbeta samtidigt i en gemensam fil (som whiteboard) 3. Kunna söka efter dokument eller diskussionsinlägg 4. En privat kalender där lärare/elev kan skriva in händelser 5. Inloggad kan skicka meddelanden till andra inloggade 6. En kalender där lärare kan skriva in händelser 7. Lärare kan ge respons på olika kursmoment 8. Lärare kan ladda upp filer som elever får se/ladda ner 9. Elever kan ladda upp filer som bara läraren kan se/ladda ner 10. Lärare kan skapa online prov En del av funktionerna som prioriterats i enkäten finns redan implementerat i LearnLoop2. Funktioner för SMS och whiteboard finns inte alls ännu men bör prioriteras i utvecklingsplanen. En sökfunktion finns, men fungerar dåligt. Kalenderfunktionen är redan relativt bra, även om delad kalender inte fungerar. Funktion för interna meddelanden finns inte ännu. Respons på kursmoment kan göras i t ex trådat forum. Filuppladdning fungerar dåligt och onlineprov går inte att göra. Sammantaget är det få av de prioriterade funktionerna som redan fungerar. 4.2 Sammanställning av utvärderingar Här följer min sammanställning av några delar ur de två utvärderingar jag valt ut. I båda finns LearnLoop med som en av plattformarna. 4.2.1 Förstudien från VHS I förstudien om IT plattformar (Schultz & Nergell, 2004) finns bl a en enkät kring funktionalitet i lärplattformar sammanställd. Respondenterna var 154 st lärare som handlett studenter som arbetat med olika lärplattformar vid ett antal högskolor och universitet i Sverige. Jag har begränsat mig till den del som visar vilka funktioner som 25% eller fler använt i lärplattformarna. 11

Funktion Har använt funktionen Det finns möjlighet att kommunicera via diskussionsgrupper/forum 46% Deltagaren kan själv på egen hand publicera material 44% Deltagaren kan själv skapa sin egen presentation 44% Det är möjligt att distribuera filer via diskussionsforum 35% Det är möjligt att kommunicera i realtid/chat 32% Tidsbestämd publicering 31% I plattformen finns en lista över inloggade användare 29% Tester är självrättande 27% Plattformen tillåter import eller utnyttjande av "färdiga" lärobjekt *) 26% Det finns ett schema/kalendarium 25% Det går att visualisera kursstrukturen 25% Tabell 4.1 *) Med import av färdiga lärobjekt avsåg många filer gjorda i t ex PowerPoint eller Word. Ett fåtal kommenterade import av SCORM eller IMS. Sammanställningen av svaren i Tabell 4.1 visar att kommunikation och delat arbetsmaterial är funktioner som många använder. Utvecklingen av LearnLoop2 bör prioritera delning av arbetsmaterial och filfunktioner eftersom funktioner för kommunikation redan är relativt väl utbyggda. 4.2.2 Rapporten openlms från Uppsala universitet Slutrapporten för projektet openlms( Jacobsson et al, 2005) gör en mjukvaruteknisk bedömning av fem lärplattformar, däribland LearnLoop. Av rapporten framgår att det i första hand är en betaversion av LearnLoop2 som testats, men eftersom "Peer review" nämns måste version 1.0 också använts eftersom den funktionen inte finns i version 2. För LearnLoop har man valt ut två lärare och tre elever från olika högskolor som testpiloter. Jag har valt ut ett antal av deras noteringar om t ex funktionaliteten, som redovisas här: "Stöd för SMS, delad anslagstavla och audio och videokonferens sakandes. Det var däremot enkelt att hantera en delad kalender. Online rapportering av problem saknades, och det var därför svårt att skicka felrapport till och få hjälp ifrån utvecklarna av lärandeplattformen." 12

"Layouten är ren och klar med menyn i vänsterkanten, men det är oklart vad de olika flikarna står för. Den totala avsaknaden av hjälpfunktioner och manual upplevs som väldigt frustrerande. Detta gör att förståbarheten bedöms som mindre god." "Flera av testarna uttryckte en uppskattning av den rena layouten och gick tillbaka till systemet efter att testerna avslutats för att lära sig mer. Detta bidrar till att attraktiviteten bedöms god." "En av testarna uttryckte det som att 'designen än så länge var överlägsen tekniken', en annan att 'LearnLoop ger ett ganska ofärdigt intryck, men ambitioner och utvecklingsstrategi kan skönjas'. Detta kan sammanfattas med att LearnLoop är en lärandeplattform som vinner i längden, men som än så länge saknar tillräckligt avancerade pedagogiska redskap för att enkelt användas i högre undervisning" Andra lärplattformar i rapporten var t ex ATutor och Moodle. De flesta är mer etablerade och utvecklade än LearnLoop. Utifrån jämförelsen finns mycket att åtgärda för att LearnLoop ska kunna bli en mer spridd plattform, men där finns också sådant som är fördel för LearnLoop, t ex när det gäller enkelheten i design och funktion. När det gäller Moodle sammanfattas plattformsanalysen t ex så här: "Moodle är ett moget system med mycket funktionalitet men layouten uppfattas som rörig och drar bort uppmärksamheten från funktionerna." En stor skillnad, för LMS funktionaliteten, jämfört med de andra plattformarna är att SCORM modulen i LearnLoop inte är helt klar. Ingen av plattformarna hade stöd för SMSmeddelanden, men även här påtalas det som en brist vilket gör att jag kommer att prioritera det i utvecklingsplanen. Avsaknad av videokonferenssystem påtalas också, men det nämns inte som särskilt använt av Schultz & Nergell. Om LearnLoop2 ska användas för distansstudier kan detta prioriteras, inte annars. Hjälp och felhanteringsfunktioner behöver implementeras. 4.3 Utveckling av LearnLoop Ett grundläggande stöd för kommunikation med forum, chat och kalender fanns redan implementerat i LearnLoop, men filhanteringen fungerade dåligt. Därför tyckte jag att behovet av förbättring var störst när det gällde filhantering. Rent formellt bör även stödet för lärmoduler, t ex SCORM, fungera för att lärplattformen ska få LMS funktionalitet, men i praktiken verkar fler i första hand använda sig av kommunikations och filhanteringsfunktionerna. Jag kommenterar här det som gjorts och en del som inte gjorts, men som är aktuellt att ha med i utvecklingsplanen. 4.3.1 Filhantering Några moduler har redan implementerat filhantering, men på lite olika sätt och utan att fungera med säkerhetsinställningen safe_mode=on. Eftersom många moduler i LearnLoop2 skulle behöva filfunktioner är det smidigast att istället lägga filhanteringen i kärnan på LearnLoop2, inte i varje modul. Behovet var alltså 13

att skapa en objektorienterad filklass som kan användas av de moduler som vill använda filuppladdning. Därefter kunde jag försöka skapa nya moduler och ändra gamla moduler så att de använder klassen. Jag valde att försöka implementera denna filklass som en del av mitt examensarbete. Safe_mode När det gäller PHP och Apache finns ett problem: säkerhetsåtgärder med inställningen Safe_mode i PHP. Så länge man har tillgång till en dedikerad server för LearnLoop kan man sätta safe_mode = off och därigenom enkelt hantera filer och kataloger, men om installationen ligger på t ex webbhotell är det annorlunda. Om webbhotellet har safe_mode = off är säkerheten dålig, och om safe_mode = on blir det problem för filhanteringen. Problemet uppstår eftersom kataloger som skapas med PHP får webbserverns UID (användarid), medan filerna får skriptets UID. Därigenom går det inte att ta bort kataloger med skripten och ett stort antal skriptfunktioner är dessutom låsta av säkerhetsskäl. Vissa program kringgår problemet genom att ladda upp filer och kataloger med FTP, som använder användarens UID, andra installerar en patch till PHP som kollar vem som äger moderkatalogen istället för katalogen. Det senare fungerar bara om man får serverns driftsansvarige att kompilera om PHP med patchen. På något sätt måste man identifiera och knyta de filer som laddas upp till rätt moduldel och om det är problematiskt med en ny katalog för varje moduldel får man lösa det på annat sätt. Mitt sätt att kringgå problemet blev att istället ge varje fil ett längre, unikt namn som knyts till den moduldel där den laddats upp eller används. När sedan filen visas eller laddas ner kan det ursprungliga filnamnet användas. Filklassen Jag skapade filklassen så att alla moduler kan använda den genom att lägga följande filer i katalogen include/ file.php file_download.php Filerna finns som bilaga till rapporten. Test av klassen Dessutom ville jag prova att använda klassen och omarbetade den befintliga modulen forum_threaded så att filer kunde bifogas till meddelanden i forumet. Genom det fick jag också fram en av funktionerna som visade sig välanvänd enligt Schultz & Nergell, en möjligt att distribuera filer via diskussionsforum. 14

Illustration 4:1 För att kunna använda filklassen behövde jag ändra i följande filer: index.php (så att formuläret accepterar filöverföring och att ett bläddringsfält för filer läggs till) Illustration 4:1 visar formuläret för filuppladdningen. new_thread.php (så att en instans av filklassen skapas och anropar några metoder i klassen som hanterar uppladdning och koppling till meddelandet) view_thread.php (så att en instans av filklassen skapas och anropar en metod för att visa en länk för nedladdning) Illustration 4:2 visar en länk till en fil som bifogats ett meddelande i trådat forum. Illustration 4:2 15

Modulen file_list När detta fungerade ville jag prova att skapa en helt ny modul som bygger på filklassen. Det blev en modul för att skapa en lista av uppladdade filer för att det ska vara lätt för lärare och elever att distribuera filer. Följande filer ingår i modulen: admin.php, admin_headings.php, config.php, create.sql, delete.php, index.php, module.conf, more_info.php, new_file.php, new_heading.php, update.php, viewfile.php, include/lfiles.php, include/listfile.php, include/listheading.php och ett antal bilder. Koden för filerna är för omfattande för att bifoga, men finns att läsa i LearnLoops CVSförvar på adressen: http://cvs.sourceforge.net/viewcvs.py/learnloop/learnloop2/modules/file_list/ Modulen kan också provköras på http://www.learnloop.org I illustration 4:3 kan man se listan med uppladdade filer. De kan sorteras under rubriker och i valfri nummerordning. Hur många som laddat ner filen visas och det är förberett, men inte färdigtutvecklat med visning av vem som tittat på eller laddat ner en fil. Illustration 4:3 16

4.3.2 SMS Att det skickas SMS till berörda när t ex en kalender ändrats är ett tydligt önskemål men relativt avancerat att implementera. Funktionen förutsätter också att ett konto finns hos någon SMS leverantör för att programmet ska kunna sända SMS. Det finns php klasser för ändamålet, t ex Clickatell SMS API från PHP classes som använder SMS leverantören Clickatell. 4.3.3 Sökfunktioner Att söka efter dokument är efterfrågat i den enkät jag gjorde och finns redan som modul i LearnLoop. Modulen innehåller en del fel i koden och behöver justeras för att fungera ordentligt. Den innehåller heller inga funktioner för att söka bland uppladdade filer, bara bland databasens texter. 4.3.4 Forum och chat Det finns redan moduler för enkelt forum (senaste inlägget överst), trådat forum (svar hamnar vid frågan) och chat. Vissa synpunkter finns (Schultz & Nergell, 2004) om att dessa funktioner känns föråldrade i de flesta lärplattformar. Utvecklingen av fristående forum och chatprogram har gjort att man vant sig vid modernare gränssnitt och funktionalitet och förväntar sig detta även i en lärplattform. Här finns alltså behov av modernisering. Vissa förbättringar behövs också när det gäller användarnas synlighet, t ex efterfrågas (Jacobsson et al, 2005) bild på användaren för att skapa bättre gruppkänsla vid distansstudier. Det kan t ex vara i forum och på en egen sida med presentation av användaren. 4.3.5 Lärobjekt Om så många som 26% av lärarna i VHS förstudie (Schultz & Nergell, 2004) har importerat färdiga lärobjekt innebär det att den funktionen är betydande för att göra en plattform till mer än webbstöd. Här har LearnLoop en modul för import av SCORMobjekt. Men av någon anledning fattas en vital fil i modulen och jag fick aldrig igång funktionen. Flera användare, bl a från Sydamerika där LearnLoop används flitigt, har hört av sig om SCORM modulen. Jag tror att detta är en viktig del för fortsatt utveckling. Det bästa är om lärare kan både importera och skapa+exportera lärobjekt i LearnLoop. Av brist på tid och kompetens har jag inte åtgärdat denna funktion. 4.3.6 Grupper Att eleverna på egen hand kan skapa grupper, kommunicera och dela material verkar det vara enighet om i enkät och rapportsammanställningarna. Idag finns en mappfunktion som skulle kunna deriveras till en gruppfunktion som kan fylla den rollen i LearnLoop. Detta bör prioriteras i utvecklingsplanen. 17

4.3.7 Administration Ett problem när jag testkörde LearnLoop2 var att vissa moduler innehöll en hel del buggar eller helt enkelt bara var halvklara. Vissa användare kanske inte vill använda alla moduler. Det fanns en funktion för att lägga till alla moduler som fanns i programmet, men inte någon möjlighet att välja bort moduler. Därför skrev jag om modulhanteringen så att man ser vilka moduler som är installerade och vilka som inte är det, samt att man ska kunna både aktivera och avaktivera moduler. Illustration 4:4 visar gränssnittet för modulhanteringen där man även kan avaktivera moduler. Illustration 4: 4 Då kunde jag också visa lite mer information om modulerna, t ex vem som är upphovsman för modulen och om den fungerar med säkerhetsinställningen safe_mode=on. Ett annat problem en administratör för LearnLoop 1.x ofta brottas med var användarhanteringen. Att lägga till en användare var smidigt, men om man ville lägga till en hel grupp användare gick inte det. I LearnLoop 2 fanns redan implementerat en funktion för att importera användare från windowsdomän eller YP/NIS (Network Information Service, en hanterare för nätverksbaserad inlogging som bl a stöds av Sun Microsystems). Men import från textfil fanns inte. Ur administratörssynvikel fanns alltså ett behov av att kunna lägga till en hel grupp användare på en gång, men också kunna ta bort dem när de slutar. Eftersom de flesta skolor har listor på elevgrupper i digital form är det enkelt att lägga till en hel grupp om textfilsimport fungerar. Detta kan implementeras stegvis: 1. Import av fler användare på en gång 2. Import av användare till en grupp för att kunna hantera dem gemensamt i programmet (t ex för behörigheter till resurser) 3. Möjlighet att ta bort användare gruppvis 18

Inom ramen för detta examensarbete åtgärdar jag den första punkten eftersom de övriga förutsätter mer arbete med grupphanteringen, vilket jag insåg att tiden inte skulle räcka till. Hantering av säkerhetskopia för databasen bör också implementeras i framtiden. 4.3.8 Hjälp I openlms (Jacobsson et al, 2005) fanns en tydlig kritik mot att situationanpassad hjälp och manualer saknades i programmen. Här kan man med fördel skapa en hjälpklass som kan användas i alla moduler. Jag ansåg att det var viktigt, men för omfattande för att rymmas inom detta arbete. 19

5 Diskussion I kapitlet för jag ett resonemang utifrån resultatet och mina erfarenheter och sedan följer utvecklingsplanen för LearnLoop2. 5.1 Resultat diskussion Vad har då arbetet visat när det gäller vad som behöver utvecklas i Learnloop2? Det mest slående för mig själv är att det är väldigt mycket som behöver utvecklas. Efter att ha lärt mig mer om vad som bör krävas av en modern lärplattform ser jag att den kod som fanns i Learnloop2 bara till en bråkdel fyller ut vad som krävs, se t ex illustration 2:1 där mer än hälften av funktionerna helt saknas i Learnloop2. Det kommer att krävas många timmars designande och kodande för att göra det lika välutvecklat som t ex Moodle och andra lärplattformar som kommit längre. Men LearnLoop har sin utvecklingstradition i Sverige och jag tror att det finns ett intresse för att vidareutveckla en lärplattform med öppen källkod med bas i Sverige. Den designtradition med enkelhet i layout som finns för LearnLoop verkar också vara efterfrågad. Det är ett stort problem att antalet utvecklare och användare i Sverige just nu är väldigt lågt, men detta kan förändras om LearnLoop2 inte längre är betakod. För det krävs att buggar rättas, att hjälp och manualtexter skrivs, att SCORMimport fungerar, att grupphanteringen förbättras och att några moduler som kan ge mervärde för lärandet läggs till, t ex whiteboard och testmodul. Som helhet bör alla de högprioriterade områdena i utvecklingsplanen åtgärdas innan betaversionen kan bli en skarp version. Målgruppen för LearnLoop2 är dels högskolor och universitet, dels gymnasieskolor, grundskolor och andra utbildningsanordnare. Förhoppningsvis kan någon av dem fungera som hemvist och utvecklingsbas för Learnloop2. Utan en sådan utvecklingsbas och drivkraft tror jag inte att vi kommer att få se den utveckling som behövs, men om den kommer till stånd finns det finns all anledning att se en växande betydelse för LearnLoop. 5.2 Framtida utveckling Utifrån de erfarenheter jag gjort i examensarbetet sammanställer jag här en utvecklingsplan som kan användas för fortsatt utvecklande av Learnloop2. Hjälp Funktion Vad som behöver utvecklas Prioritet Skapa en klass som hanterar situationanpassade hjälptexter 1=viktigast Skriva användar och administratörsmanualer 1 Buggrätta sökverktyget 1 Grupphantering Användare ska kunna skapa egna grupper 1 1 20