Daily Archives: February 13, 2010

IMS Basic LTI Consumer for OLAT (www.olat.org)

Next week this time, I will be hacking at the University of Zurich with one of the lead developers of OLAT (Guido Schnider) looking at better supporting IMS standards in the OLAT Learning Management System (www.olat.org).
I decided to get a head start and code up the IMS Basic LTI Consumer for OLAT somewhat in advance to make sure that our work next week was as productive as possible – I wanted to get the download, compile, and basic stuff out of the way.
I made pretty good progress and kind of have my first pre-alpha release. Here is a nice working screenshot:


I have the source to the tool and instructions o how to add the tool to an OLAT distribution in the Sakai Contrib Repository because I like to put stuff into svn in case I lose it or break it.
There is still work yet to do when I get to Zurich – but now we can focus on more strategic issues rather than just getting the IMS Basic LTI equivalent of “Hello World” working.
In doing this work, I learned a bit about OLAT.

  • OLAT is over 10 years old and started in 1999 at the University of Zurich
  • OLAT has a nice learning object repository approach that is already very close to IMS Common Cartridge. OLAT objects have learning objectives, simple workflow, and other nice common LOR concepts.
  • OLAT makes a lot of use of AJAX rather than the traditional Request-Response cycle. I am still personally a bit nervous about the usability and accessibility of a pure-AJAX approach and am looking forward to talking more with the OLAT team about this next week.
  • OLAT (like many other systems) has its own MVC presentation framework. It is a blend of a Java component model for forms and Velocity templates – you can go back and forth between them. I am not an expert on the OLAT GUI framework yet – I think its strength is that it supports both “in-Java” and HTML-templating models so each developer can pick how they want to use both in their App. Abstractions around forms are always complex/powerful and take a bit of getting used to.
  • OLAT separates course authoring from course viewing. Initially that seemed weird to me – but after a while the edit/publish pattern felt pretty good. I can imagine that the author/publish pattern might allow performance advantages for certain static things.

I learned about using document.write to populate an iframe and how you must split up script tags when writing javascript using document.write. Cool stuff – you learn something new everyday. Here is a useful link on the issue:
In general I was impressed with OLAT and found it to be a very mature system and a nice extension model.