[Zope] making a dynamic quiz help

Jonathan dev101 at magma.ca
Tue Nov 28 14:17:03 EST 2006


----- Original Message ----- 
From: "Thomas Bennett" <bennetttm at appstate.edu>
To: <zope at zope.org>
Sent: Tuesday, November 28, 2006 1:40 PM
Subject: [Zope] making a dynamic quiz help


>I would like some suggestions on building a dynamic quiz.
>
>  There are categories and in each category the question can be multiple
> choice or true/false.   For each category a specific number of questions 
> is
> asked.  The questions asked are randomly chosen from a collection of
> questions for the category.  The number of questions chosen may be 
> different
> for each category.
>
> example
>  category one - 3 questions
>  category two - 1 question
>  category three - 2 questions
>
> My first thought is a python script does the randomization selecting 
> questions
> from my postgresql database.  Quizzes submitted updates the database 
> counting
> correct and wrong answers and emails the results to the student and
> instructors.
>
> A second thought is a python script builds a dtml page quiz from 
> individual
> dtml files which categories can be folders with an individual dtml file 
> for
> each question.  Then submit questions and answers to database and email
> student and instructors.
>
> A third thought is create a collection of complete quizzes and then 
> randomly
> select a quiz (least preferred).
>
> I've searched and the closest I could find was on the zope edu wiki just
> discussing an aggregated quiz but I haven't found where that has been
> persued.   Most or all quiz products create static quizzes not one that 
> can
> be built "on the fly".  Any other designs would be appreciated.

If I was building this app I would have a dtml method (or ZPT, whatever you 
are most comfortable with) that invokes a python script (or external method) 
to provide data for the dtml/zpt form fields.  A second dtml method/zpt 
would be used as the form processor, it would invoke a python 
script/external method to process the form data input by the user (update 
db, send email, whatever) and then display some confirmation/thank you 
message to the user.

Pretty straightforward app.

Have fun!

Jonathan 




More information about the Zope mailing list