A few of our instructors started trying to use Post’Em to put their grades online. When our testing center produces results from a scantron test, they send back a CSV file that is just perfect for Post’Em.
Well, almost perfect. As it happens, our testing center uses its own unique identifier called a plid for students, different from their campus-wide single signon id (what we call their NetID). Post’Em expects to find NetIDs in the first column of the CSV file, and no instructor wants to manually correlate plids with NetIDs. That's the kind of grunt work computers are made for!
This was a fun problem for me. Post’Em has some of the most readable and self-documenting code I've seen anywhere in Sakai. I already have a
bean sitting in Spring's bean factory that has a connection to the SIS database I need to lookup a NetID based on a plid. All I had to do was add a new property for that bean to Post’Em's
under the relevant managed-bean. Over in
, I added a method to find a NetID for a given plid. The only tricky part was figuring out where in the data stream a plid should transform into a NetID.
Now if we could only convince the testing center to upload the CSV where they would normally email it to the instructor, we would have some killer integration.
By the way, finding ways to open channels of data between Sakai and all the little data silos around campus is how we make an indispensable information system.