Hi all, (this is longish, so feel free to 'd') I need the lists' wisdom here. I'm considering changing a PHP3 based multiple choice question (MCQ) engine to be zope based. At the moment, I have urls to the PHP server within my Zope system that load the MCQs into a separate frame for display, but would really like the MCQs to be 'inline' along with all my other Zopish content. My MCQs are read from MySQL and displayed on the page, and this means that there may be more than one on a page. I also have up to five responses (stems) where the student can answer true/false/don't know. This means that there are fifteen radio buttons for each MCQ question. Currently, to identify each group of radio buttons uniquely I do this; I name each radio button with a name of the form 'q_n_stem_m', where; n = number of the MCQ on the page (starting from zero, so if there's 10 questions on a page, the last variable will be q_9_stem_m). m = the stem counter, again based from 0, so that if there are 5 stems to a question, the counter goes from 0..4. All the radio buttons for a group need to be named the same so that the browser can automatically turn them on and off. eg...for one MCQ. <INPUT TYPE=RADIO NAME=q_0_stem_0 VALUE="1"> == True selection <INPUT TYPE=RADIO NAME=q_0_stem_0 VALUE="0"> == False selection <INPUT TYPE=RADIO NAME=q_0_stem_0 VALUE="DK"> == Don't Know selection <INPUT TYPE=RADIO NAME=q_0_stem_1 VALUE="1"> <INPUT TYPE=RADIO NAME=q_0_stem_1 VALUE="0"> <INPUT TYPE=RADIO NAME=q_0_stem_1 VALUE="DK"> <INPUT TYPE=RADIO NAME=q_0_stem_2 VALUE="1"> <INPUT TYPE=RADIO NAME=q_0_stem_2 VALUE="0"> <INPUT TYPE=RADIO NAME=q_0_stem_2 VALUE="DK"> (repeated for q_0_stem_3 and q_0_stem_4). Essentially a radio button group has to be uniquely named on the page, and as we allow students to see the full 142 MCQs at once, that means 710 unique variable names... (ie q_0_stem_0 ... q_141_stem_4). When it comes to marking the questions, I create a variable name in PHP through concatenation and use that as a lookup to get the value of the stem as entered by the student. It's then a relatively simple matter to check whether the student has a stem correct and then add the attempt to a database table. So, having described the problem, what do people think? Is my method of naming stems too complex and unwieldy? Should I stick with PHP (for the time being...) Storing the MCQs in the ZODB isn't really on, as the SQL method has proved very useful and is very heavily used. I can see that I'm in for a forest of DTML here (I've already tried a demo, but doing the 'concatenated' lookup got too complex!), a Python External method looks best (a PythonMethod looks better but I'm not up to speed on that yet!) Any thoughts would be appreciated. Tone. ------ Dr Tony McDonald, FMCC, Networked Learning Environments Project http://nle.ncl.ac.uk/ The Medical School, Newcastle University Tel: +44 191 222 5888 Fingerprint: 3450 876D FA41 B926 D3DD F8C3 F2D0 C3B9 8B38 18A2