MyTimetable Persoonlijke en actuele roosters…altijd en overal
MyTimetable
1.
Eveoh Unit 54 Lulofsstraat 55 2521 AL Den Haag 015 – 700 9707 http://www.eveoh.nl
[email protected]
Versie 1.2
Voorwoord
5
Functionaliteit
7
Roosters
9
Mobiel
11
Exporteren
13
API
15
Integratie
17
Syllabus Plus
19
2.
IT infrastructuur
21
3.
Implementatie
25
Projectaanpak
27
Service
29
Over Eveoh
31
4.
MyTimetable MyTimetable is een frontend voor planningssoftware, zoals bijvoorbeeld Scientia Syllabus Plus. Actuele en persoonlijke roosterinformatie wordt getoond in meerdere grafische weergaves. Roosters kunnen geëxporteerd worden naar een printbaar PDF formaat, maar ook naar een iCalendar feed voor gebruik met bijvoorbeeld Google Calendar, Microsoft Outlook of een mobiele telefoon.
Door direct te koppelen met de planningssoftware heeft elke gebruiker altijd een actueel rooster beschikbaar. MyTimetable ondersteunt alle gangbare agenda-applicaties en mobiele telefoons. Ook biedt MyTimetable vele mogelijkheden tot integratie en wordt roosterdata toegankelijk gemaakt via een API. MyTimetable wordt ontwikkeld en onderhouden voor meerdere klanten, wat resulteert in nieuwe functionaliteiten, optimalisaties en bugfixes. Door middel van een serviceovereenkomst is niet alleen onze helpdesk beschikbaar bij problemen, maar kan er ook geprofiteerd worden van de verdere ontwikkeling van MyTimetable.
Voorwoord
Ruim 280.000 studenten in Nederland, België en het Verenigd Koninkrijk gebruiken MyTimetable. Een demo-versie is beschikbaar op http://demo.eveoh.nl; publieke versies zijn beschikbaar bij onder andere de Hogeschool van Amsterdam (https://mytimetable.hva.nl/) en de Universiteit van Amsterdam (https://rooster.uva.nl/).
“MyTimetable presents clean, and accesible, timetable views and its ability to feed to other calendars and mobile devices fits well with our mobile strategy going forward” – University of Exeter
3
Functionaliteit
6
MyTimetable MyTimetable toont actuele, persoonlijke roosters in een duidelijke en intuïtieve webinterface. Roosters kunnen op meerdere manieren worden weergegeven, inclusief weergaves voor bijvoorbeeld portiers. De interface wordt per onderwijsinstelling aangepast aan de huisstijl en is meertalig. Ook heeft elke gebruiker een persoonlijk profiel, waarmee zijn geselecteerde roosters worden opgeslagen.
Weergave roosters Roosters kunnen op verschillende manieren worden weergegeven, bijvoorbeeld in een grafische weergave of een lijstweergave. De volgende weergaves zijn beschikbaar:
Grafische weergave (per dag, week of maand) Lijstweergave (per maand of periode, of activiteiten gegroepeerd per week)
Activiteiten kunnen elk een eigen kleur krijgen, bijvoorbeeld op basis van het type activiteit.
Roosters
In de speciale locatieweergave is het mogelijk om lokalen of gebouwen toe te voegen. Dit is bijvoorbeeld nuttig voor portiers en ander ondersteunend personeel. In de locatieweergave zijn de volgende weergaves beschikbaar:
Grafische weergave (per dag, week of maand) Lijstweergave (per dag, gesorteerd op locatie of tijd) Beschikbaarheidsweergave (per dag)
Naast de roosterweergave en locatieweergave is er ook een overzichtspagina beschikbaar. Hierop worden alle vakken, studieprogramma’s, docenten, locaties, etc. getoond. Vanuit elk overzicht kan doorgeklikt worden naar MyTimetable, waar vervolgens het gekozen rooster wordt getoond. Persoonlijk profiel Elke gebruiker heeft een persoonlijk profiel waaraan roosters kunnen worden toegevoegd, bijvoorbeeld van vakken, studieprogramma’s, studentroosters, docentroosters en locaties. Ook is het mogelijk om de juiste werkgroep te selecteren en roosters aan en uit te schakelen. Zo kan elke student en docent zijn rooster volledig personaliseren. 7
8
MyTimetable De meeste studenten en docenten beschikken over een mobiele telefoon die veelvuldig gebruikt wordt om informatie op te zoeken. Om in deze behoefte te voorzien biedt MyTimetable ook een mobiele weergave.
In de mobiele versie van MyTimetable is de belangrijkste functionaliteit van de webinterface overgenomen. Roosters worden in een lijst weergegeven, waarin de tijd, het vak en de locatie te zien zijn. Per activiteit kan er doorgeklikt worden naar een detailpagina. Het is ook mogelijk om roosters toe te voegen of te verwijderen uit het persoonlijke profiel. Ook kan het rooster worden gekoppeld aan de agenda-applicatie op de telefoon (mits dit ondersteund wordt door de telefoon). Mobiele apparaten worden automatisch gedetecteerd, waarna meteen de mobiele versie van MyTimetable wordt getoond. Het is uiteraard mogelijk om door te klikken naar de volledige interface.
Mobiel
Webapplicatie Om de mobiele versie van MyTimetable te gebruiken hoeft de student geen app te kopen of te downloaden. De mobiele versie van MyTimetable is namelijk een webapplicatie die in de browser van de telefoon kan worden geopend. Op deze manier is het niet nodig om een applicatie te ontwikkelen en te onderhouden voor de vele mobiele platformen die beschikbaar zijn, maar wordt toch dezelfde gebruikservaring geboden. Voor snelle toegang tot het rooster kan een gebruiker de webapplicatie op zijn startscherm zetten, waardoor deze net zo toegankelijk is als een normale app. Ondersteunde platformen Op dit moment worden de volgende mobiele platformen ondersteund:
Apple iOS 5+ Android 2.2+ Windows Phone 7+ Blackberry 6+
Enkele functionaliteiten van MyTimetable mobile zijn wel afhankelijk van de specifieke mogelijkheden van een platform. 9
10
MyTimetable We streven er naar om roosters overal en altijd beschikbaar te hebben voor de gebruikers van MyTimetable. Naast de webinterface en mobiele interface bieden we nog een aantal andere mogelijkheden.
Microsoft Outlook, Google Calendar en Apple Calendar Naast de webinterface kunnen roosters ook zichtbaar worden gemaakt op internet in bijvoorbeeld Google Calendar en in programma’s als Microsoft Outlook en Apple Calendar. Gebruikers kunnen zich abonneren op een zogenaamde iCalendar feed, waardoor roosters automatisch worden gesynchroniseerd naar deze applicaties. Roosterwijzigingen worden hierdoor automatisch doorgevoerd. Ook is er een eenmalige iCalendar export beschikbaar en een export voor losse roosters.
Exporteren
Mobiele telefoon en tablet Veel studenten houden hun agenda bij met behulp van de kalenderapplicatie op hun smartphone of tablet. Door middel van de iCalendar feed is het mogelijk om het rooster ook in deze agenda op te nemen. Hierdoor heeft de student ook op zijn telefoon altijd een actueel overzicht van zijn agenda, inclusief rooster. Zowel de Apple iPhone als de iPad kunnen zich abonneren op de bovengenoemde iCalendar feed. Bij Android apparaten verloopt deze koppeling via Google Calendar, bij Windows Phone via Outlook online. Blackberry biedt helaas geen mogelijkheden meer om het rooster te synchroniseren. PDF Het rooster kan ook geëxporteerd worden naar PDF formaat, bijvoorbeeld om op te slaan of om te printen. Hierbij kan gekozen voor een grafische weergave (één week per pagina in blokkenweergave) of een lijstweergave. Het is ook mogelijk om locatieroosters te exporteren naar PDF formaat. CSV Om gebruik van roosterdata in bijvoorbeeld spreadsheets mogelijk te maken kan het rooster ook geëxporteerd worden naar een comma separated value file. Dit maakt het mogelijk om verdere analyses of andere bewerkingen op de roosterdata uit te voeren. 11
http://www.flickr.com/photos/psd/4967856349/
MyTimetable Roosterinformatie kan een bron zijn voor vele andere systemen, zoals eigen mobiele applicaties, portlets in studentenportals of informatieschermen in gebouwen. MyTimetable biedt een API waarmee roostergegevens beschikbaar worden gemaakt.
De MyTimetable API biedt toegang tot roostergegevens, waardoor het mogelijk is om deze gegevens te gebruiken in andere applicaties. De roostergegevens worden op een abstracte manier beschikbaar gemaakt, waardoor ze onafhankelijk zijn van de gebruikte roostersoftware. Ook publiceert de API de persoonlijke profielen van gebruikers. Hierdoor kunnen persoonlijke roosters weergegeven worden op bijvoorbeeld een studentenportal. Techniek De API van MyTimetable is een zogenaamde RESTful web API. Data wordt geretourneerd in JSON of XML formaat. Deze technologieën zijn de laatste tijd gemeengoed geworden onder ontwikkelaars van web- en mobiele applicaties.
API
Beveiliging Standaard wordt de API beveiligd door middel van het OAuth 2.0 protocol. Hierbij moet de gebruiker toestemming geven voordat een applicatie zijn persoonlijke roosterdata mag gebruiken. Deze toestemming kan weer worden ingetrokken in MyTimetable, zodat de gebruiker altijd controle houdt over zijn gegevens. Met OAuth 2.0 worden alleen zogenaamde tokens uitgewisseld, waardoor een gebruiker nooit zijn gebruikersnaam en wachtwoord aan een ‘vreemde’ applicatie hoeft te geven. Vertrouwde applicaties, bijvoorbeeld door de instelling zelf ontwikkeld, kunnen ook gebruik maken van token based authenticatie. Wanneer nodig kan hierbij ook impersonation worden toegestaan, waardoor de applicatie toegang krijgt tot persoonlijke gegevens zonder dat de gebruiker hier expliciet toestemming voor hoeft te geven. De toegang tot de API is af te schermen, zodat alleen goedgekeurde applicaties de API kunnen gebruiken. Documentatie De documentatie van de REST API is beschikbaar op https://wiki.eveoh.nl. 13
Blackboard Building Block
Opensocial 2.0 Gadget in Apache Rave portal
14
MyTimetable MyTimetable integreert met vele externe systemen, om zo de gebruikservaring voor de eindgebruikers te optimaliseren.
Portals MyTimetable biedt out-of-the-box mogelijkheden voor integratie met bestaande portals. Denk hierbij aan een building block voor Blackboard, een OpenSocial 2.0 gadget of integratie met Microsoft SharePoint. Hierbij worden de aankomende activiteiten van de gebruiker getoond en kan men doorklikken naar de volledige applicatie. Hiernaast is het, dankzij onze REST API, vaak eenvoudig om met andere producten te integreren. Denk hierbij aan mobiele applicaties of informatieschermen in gebouwen. SIS Wellicht dat studenten geen persoonlijk profiel hoeven samen te stellen, maar dat inschrijvingen al worden geadministreerd in een SIS. MyTimetable is uit te breiden met een koppeling met het SIS, om zo automatisch de juiste roosters aan de studenten te tonen.
Integratie
Authenticatie Naast standaard authenticatiemogelijkheden als LDAP en Windows authenticatie, biedt MyTimetable ook ondersteuning voor vele single sign-on oplossingen. Denk hierbij aan producten als OpenAM of een standaard als SAML2. Links Het is mogelijk om vanuit MyTimetable te linken naar externe applicaties, zoals bijvoorbeeld een studiegids. Andersom is het ook mogelijk om naar MyTimetable te linken, waarbij vervolgens direct het rooster van bijvoorbeeld een vak of studieprogramma wordt getoond. Ook is het mogelijk om vervolgens dit vak of studieprogramma direct toe te voegen aan het persoonlijke profiel.
15
OpenSocial gadget
…
Web interface
Mobile interface
API
MyTimetable
Syllabus database
16
ERDB
Gebruikersprofiel database
MyTimetable MyTimetable biedt ondersteuning voor meerdere databronnen, waaronder Scientia Syllabus Plus. Naast het weergeven van roosters zijn er ook verscheidene filtermogelijkheden beschikbaar.
Enterprise Reporting Database Roostergegevens worden direct uit de Syllabus Plus Enterprise Reporting Database (ERDB) gelezen, waardoor er altijd actuele roosters worden weergegeven. Alle gangbare Syllabus Plus roosterscenario’s worden ondersteund, waarbij MyTimetable erg flexibel is om instellingsspecifieke scenario’s mogelijk te maken. Meertaligheid Naast de meertalige interface kunnen ook roostergegevens meertalig worden weergegeven. Syllabus Plus ondersteunt standaard niet het gebruik van meerdere talen. Het is mogelijk om bepaalde velden (zoals een UserText veld) te gebruiken voor vertalingen. MyTimetable kan vervolgens worden geconfigureerd om de juiste vertaling uit de ERDB weer te geven.
Syllabus Plus
Filtering van gegevens MyTimetable biedt een breed scala aan filtermogelijkheden om data uit Syllabus Plus te filteren. Hierbij is het bijvoorbeeld mogelijk om conceptroosters nog niet te tonen. Roostertypes De volgende roostertypes worden ondersteund: • • • • • • • •
Modules Studieprogramma’s Studentsets Studentsetgroepen Studentroosters Docentroosters Gebouwen (zones) Locaties
Ondersteuning voor andere roostertypes kan geïmplementeerd worden. 17
IT infrastructuur
20
http://www.flickr.com/photos/brunogirin/73014722/
MyTimetable MyTimetable is een Java webapplicatie en wordt gehost op Apache Tomcat. Enige IT infrastructuur is benodigd voor de hosting en toegang tot de juiste data.
Hosting MyTimetable kan bij de instelling zelf gehost worden, waarbij de instelling de omgeving verzorgt en onderhoudt. Het is ook mogelijk dat Eveoh de hosting op zich neemt. Veelal wordt er gehost op een Windows omgeving, maar een Linux omgeving is uiteraard ook mogelijk. De hardwarevereisten hangen af van het aantal gebruikers, de server load en de resultaten van een loadtest. Afhankelijk van de resultaten van een load test is het mogelijk dat er meerdere productieservers benodigd zijn. MyTimetable kan eenvoudig opgeschaald worden door meerdere servers in te zetten. Voor load balancing kan bijvoorbeeld gebruik worden gemaakt van Microsoft ISA/TMG server of een hardware loadbalancer.
IT
Databases Een relationele database is vereist om het gebruikersprofiel en gebruikersvoorkeuren op te slaan. Deze database kan onderdeel zijn van een centraal databasecluster, maar kan ook geïnstalleerd worden op een standalone server of op de applicatieserver. De roostergegevens worden direct uit de Enterprise Reporting Database (ERDB) gelezen. Hiervoor zijn leesrechten benodigd op deze database. Alle versies van de ERDB worden ondersteund, maar het gebruik van versie 3.2 wordt aangeraden. Authenticatie Authenticatie is mogelijk op meerdere manieren: • • • • • •
Gast authenticatie LDAP authenticatie Windows authenticatie (Basic / NTLM / Kerberos) OpenSSO federatieve authenticatie SAML2 authenticatie SAP single sign-on authenticatie
Maatwerk authenticatieproviders kunnen op verzoek worden ontwikkeld. 21
Implementatie & service
http://www.flickr.com/photos/jakeandlindsay/5524669257/
MyTimetable Al het benodigde werk voor een implementatie van MyTimetable wordt op een iteratieve manier gedaan, wat mogelijk resulteert in meerdere tussenversies voordat alle vereisten zijn geïmplementeerd. Deze tussenversies zijn allen getest en gereed voor productie.
Dankzij de iteratieve manier van werken zijn wijzigingen in de requirements tijdens groot probleem. We focussen op reageren op veranderingen, in plaats van het vooraf gedefinieerd, onwijzigbaar plan. Dankzij deze ‘agile’ aanpak houden beheersbaar, aanpasbaar en flexibel. Voortgang is onmiddellijk zichtbaar, gereduceerd en er kan meteen op potentiële risico’s worden gereageerd.
het project geen volgen van een we het project tijd-tot-uitrol is
Echter, deze manier van werken vereist ook betrokkenheid van de klant tijdens het project, bijvoorbeeld om requirements te prioriteren en essentiële input te kunnen geven. Tijdens het project kan de klant de projectvoortgang monitoren en in een vroeg stadium feedback geven. Om dit mogelijk te maken, maken we gebruik van een takenlijst die eveneens door de klant in te zien en aan te passen is. Tevens staan de actiepunten voor rekening van de klant ook in deze takenlijst vermeldt.
Projectaanpak
Basisimplementatie De basisimplementatie van MyTimetable omvat:
Opzetten van een development-, test- en projectomgeving bij Eveoh Opzetten van de acceptatie- en productieomgeving voor de instelling Basisconfiguratie van MyTimetable Uitrollen van MyTimetable naar de acceptatie- en productieomgeving Een feedbackronde met gebruikers en verwerking van de feedback Loadtest (inclusief testrapport) Eventuele documentatie voor systeembeheerders
Aanvullende wensen Aanvullende wensen, zoals integratie met een SIS of een uitbreiding van de functionaliteit van MyTimetable, worden veelal ontwikkeld na de basisimplementatie. Dezelfde iteratieve manier van werken wordt toegepast. 25
http://www.flickr.com/photos/hugosimmelink/1505553447/
MyTimetable Eveoh biedt een uitgebreide serviceovereenkomst aan voor de ondersteuning van MyTimetable. Er zijn drie servicepakketten beschikbaar, waardoor er altijd een perfecte keuze mogelijk is voor de specifieke situatie bij een instelling.
Onze open source producten worden ontwikkeld en onderhouden voor meerdere klanten, wat resulteert in nieuwe functies specifiek ontwikkeld voor andere klanten en opgeloste problemen. Een serviceovereenkomst biedt de mogelijkheid om te profiteren van deze wijzigingen en verbeteringen in de applicatie. Eveoh biedt ook ondersteuning aan voor toekomstige versies van backend producten, zoals Scientia Syllabus Plus, Microsoft SharePoint of Blackboard. Ook worden toekomstige browserversies en mobiele platformen ondersteund. Op deze manier is de applicatie toekomstbestendig en kunnen upgrades zonder problemen worden geïnstalleerd.
Service
Offerte Voor de exacte specificatie van alle servicelevels, reactietijden en kosten brengen we graag een offerte uit.
27
Over Eveoh
Een greep uit onze klanten
30
MyTimetable Eveoh ontwikkelt software voor onderwijsinstellingen, waarbij we ons richten op het verbeteren van de informatievoorziening aan studenten en medewerkers door het koppelen van informatiesystemen en het creëren van nieuwe, innovatieve oplossingen.
Wij hebben brede technische kennis op het gebied van dynamische Java webapplicaties, Blackboard en mobiele applicaties. Hierbij streven we een optimale gebruiksbeleving na door gebruik te maken van simpele, doelgerichte interfaces. Eveoh is in 2010 opgericht na de succesvolle ontwikkeling en lancering van MyTimetable bij de Technische Universiteit Delft. Omdat ook andere onderwijsinstellingen interesse toonden in MyTimetable is de software onder een open source licentie vrijgegeven en is Eveoh opgericht voor de doorontwikkeling en het onderhoud van de software. Inmiddels wordt MyTimetable gebruikt door meer dan 300.000 studenten in Nederland, België en het Verenigd Koninkrijk.
Over Eveoh
Naast de doorontwikkeling van MyTimetable richten we ons ook op maatwerk softwareontwikkeling voor onderwijsinstellingen. Hiernaast adviseren we ook over de inzet van (ondersteunende) applicaties in het onderwijs, integratie van informatie uit deze applicaties en het beschikbaar maken van data uit backend toepassingen. Ook bieden we beheer en onderhoud van onze software aan.
31
MyTimetable
Mike Noordermeer
[email protected]
Marco Krikke
[email protected] Eveoh Unit 54 Lulofsstraat 55 2521 AL Den Haag