University of Trento recently started its iTunesU site – a way for students to download lectures on ipods, ipads, iphones and compatible devices. I had the opportunity to coordinate the startup effort.
Unfortunately Linux users have difficulties in accessing the content, and this was unfair. So I looked around for solutions. Wine was an obvious candidate – but its support for itunes seems not to be mature enough. Then i found tunesViewer, an open source project on sourceforge. Nice, but, well… it did not work on my Ubuntu testing machine! (well, my Ubuntu was’nt the latest one, but I guess this happens also for other users, so I needed to find a more robust way to access the content.)
Finally I found a solution created by Boris Fritscher and documented in his blog. The solution is based on groovy, “an agile dynamic language for the Java Platform” (actually, the solution is based on groovlets). So I resorted to Tim Hawkins’ blog for a nice installation guide for groovy on the Mac.
Boris was so kind to publish all his source code in a comment to the above mentioned post.
All I had to do was to get his WebContent directory and put it in my Tomcat’s WebApps (changing the name of the directory to something made sense to me: iTunesU). I changed the default locaton of the script when it’s called without parameters (else it would have opened the site on the Lausanne University – it’s one of the first lines in index.groovy). I also had to compile the source files for the xmlwise package that Boris provided. Since I have more experience with Netbeans than with Eclipse (the project provided by Boris was an Eclipse one), I compiled the files generating the xmlwise.jar file that I manually added to the WEB-INF/lib directory.
And – it works: http://latemar.science.unitn.it:8080/iTunesU/index.groovy !
Thanks a lot, Boris!
UPDATE in November 2010:
Apple changed the iTunes site manager – all sites will have to move to new site manager by April 2011. So we tried it. It has a completely different structure now (btw structure depth is only one level, it has been a mess to do the logical redesign…) and unfortunately the groovy script does not work any more. What a pity…