Library is heavy user go University of Arizona Guide on the Side software.
http://code.library.arizona.edu/gots/
they liked the quiz/tutorial results email, but really wished it would keep a results table from which they could gather and manipulate aggregate data.
I looked at the code, and said, “No way,too complicated.” OO programming=> massive code base and much confusion.
But after two days of head banging, I had a revelation and cracked the database object methods. After that, Secret was to store reseals array as a JSon encoded string. Decode at report generate time. Pretty Slick.