[Seaside] state of the aubergine

Tim Rowledge tim@sumeru.stanford.edu
Mon, 22 Apr 2002 18:21:16 -0700


This is what I'm looking at doing with SeaSide. At the moment I'm trying
it in Stephen Pair's swikinet stuff as well, but it just dosn't seem to
work with my mindset. Lots of clever stuff, but somehow it baffles me...

Anyway the basic requirement is fairly simple seeming - I have to
present tests consisting of multiple choice questions and record the
answers.

The 'teacher' has to be able to choose groups of questions from a pool
and assemble them into tests. There will also be a pool of pre-built
tests. Teacher must be able to add new questions, which would be
'private'. Teacher must be able to add/remove students to the permitted
users. Teacher must be able to see the results of all tests for students
in some reasonable format (a table I suppose) and email the form to
somewhere for record keeping (CSV type file would be fine and easy).
Teachers will need login ids that permit them to do al the above.

Students will need login ids that permit them only to take tests.

Tests will be either 'practise' or 'graded'. Tests will consist of a
modest number of questions, typically twenty or so. Practise tests may
be taken several times by any student and the student will see both
their grade and the correct answers at the end. Graded tests can only be
taken once and the student see only their result. Graded tests may have
a time limit attached - 20 mins, or whatever.  The timing would start
when the students hits the start-test button for the first question.
Once the time limit is reached there would be no more questions
presented and the results would be worked out. If the student finishes
before any time limit they can hit a finished-test button. 

Questions will (initially, there are dreams of more sophistication)
consist of a text explaining the problem and a short (3-5) list of
possible answers. The neat trick is that the list of answers will be
re-ordered randomly each time they are presented to avoid students
remembering "oh, that one was 'b' last time" so some way to remember the
ordering used is needed. I'm assuming a session related var can do this.

We need to maintain the appearance of many separate areas, one for each
college/teacher using the service (could be several teachers from each
college I supose). I don't mind how that is done, but the swikinet DNS
handler does a good job of making a single server respond to many URLs.
Obviously there needs to be a nice simple way to add new
colleges/teachers to the system. I imagine keeping that as the preserve
of the overall admin person rather than allowing teachers to do it for
themselves.

I managed to make a very simple testing demo in ComSwiki several months
ago and then got lost in swikinet somehow. I think a part of the trouble
is that it is very focussed on the swiki.net needs and digging out the
infrastructure is hard work, even with Stephen trying to explain it. Of
course, part of the problem is that I know a lot about the vm &
low-level stuff but bugger all about writing applications.

So, all advice welcomed. I need to get this done _really_ quickly, I'm
a long way behind on original estimates and things are getting
desperate. I'll obviously need to know how to deal with permissions,
logins, cookies, sessions, aaargh! Help Obi-wan WebPerson, you're my
only hope!

tim
-- 
Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful random insult:- A gross ignoramus -- 144 times worse than an ordinary ignoramus.