iTunes U: The Beginning

iTunes U is an interesting example of an object oriented database and a web service that accepts SQL-ish commands through HTTP PUT of XML files. What more could a nerd ask for?


It’s interesting to see how the whole iTunes U structure works. I’ve been reading documentation about the ‘web services’ enabled within iTunes U. It completely replicates the GUI functions but through a semi-automated interface. Reminds me a little of how you can change the underlying LDAP directory structure using LDIF commands or LDIF files with all the changes embedded within it. In iTunes U, you do an HTTP PUT securely with a signed token, and the iTunes U Web service sucks that up and executes all the commands embedded within your XML file that you put. Very powerful, but very scary too as these changes are made to your production environment. So there’s no real easy way to test the results of your commands without just taking a big risk, leaping in and seeing what happens. This is like SQL commands where you DROP TABLE, not a fun thing to do. DROP TABLE is a big black whole that makes your data disappear in an unrecoverable way. iTunes U has similar functions where you delete the structure AND the data at the same time. You may restore the structure (by backing up your data tree in XML format), but the data embedded within the tree, well that’s gone. So restoring stuff is going to be impossible if you get the syntax wrong in your XML file. The only real benefit to me now is the ability to get a listing of the whole site structure using the Tree command and then forcing an update to any groups that are of the type RSS Feed. The update will be necessary if anyone adds files to a podcast being hosted on servers within our institution.

I discovered or re-discovered a tool called Woolamaloo which was introduced to me during the Apple iTunes training. University of Illinois Champaign-Urbana created it to allow you to use a GUI to control the Web services from a desktop OS. This is good as I was at a loss to adapt the sample code into anything like a reliable generator of tokens to send to iTunes U web services. I couldn’t figure out what parts of the java example to comment out and recompile. Starting this Monday I’m going to put Woolmaloo through it’s paces. If I can force the RSS feeds to update on demand when somebody has a problem updating their Podcast feeds, I can at least speed things up. But I’m still very leery of deleting or merging any section. I will copy so I can make a course appear in more than one place without using the iTunes multi-click interface. But I will not delete or merge.

And just today I also discovered there are Apple Automator scripts readily available that add a graphical layer on top of all the web services goodness. So now I can integrate a bunch of steps from uploading bunches of files, forcing RSS feeds to update to merging/rename whole sections all from Automator. I’m going to test it and se how good it really works.

Author: carpetbomberz

Technology news & commentary all-in-one!