Thank you for this very interesting project
In my thoughts on web2py for ed.
I have a problem of atomicity.(sic)
By this I mean :
Take a Multiple choice set of 10 questions. All models I have seen (so far) essentially store one question per database table row. OK for very small project.
But for large project Very large and unwieldy table.
I am thinking of holding let us say the ten multiple choice questions ( their details etc ) in One field in a row.( Maybe a Blob or a ref to a pickle).
So a Set of questions ( One Exercise of many is One row of table)
My design challenge. Allow Input into forms as normal. On submit, store input data temporarily without using table.
after Input loop ( eg 10 questions) , collate all Input data into Blob or Pickle.
Store this as entry ( or reference ) into relevant field in row.
Then it needs an equivalent unpack so that the questions can be restored and presented through the view. as if a normal table and rows.
This would make a Set the basic atom instead of the question.Much easier down the line, student performance records etc. Scaleability.
I dont know if this is clear ;-)
It is above my web2py skills although I am experimenting.
Thank you for your work. I will add to project's issues list.