Enhancing drupal quiz module

Events happening in the community are now at Drupal community events on www.drupal.org.
sivaji_ganesh_jojodae's picture

hello geeks,

      Updated proposal is here http://socghop.appspot.com/student_proposal/show/google/gsoc2009/sivaji2...

About Me

I am sivaji from India doing B.E Final year computer science engineering, i have been using drupal for past six months, very much comfortable with its features and community support. I am looking for a chance to contribute something to our drupal community and learn some nifty hacks. My work and area of interest revolves around Ubuntu, PHP, Drupal, Ajax, Jquery, Joomla.

Overview

Recently i got an opportunity to work with (drupal 5) quiz modules, i found that its very interesting especially the quiz results and feedback features, i think it requires a lot of tweaks to be done. Here the some of my new features and enhancement idea.

Description

New Features

  1. quiz results Notification via Email
  2. CSV, TSV questions Upload
  3. Result statistics and analysis using Drupal chart module (Optional)
  4. Result Dashboard.

Enhancement

  1. Send all the questions to client side and display it one by one as the user proceeds with the test. eg when the user answers for the first question second one will be displayed and so on.

    Advantage :

    1. It reduces the server load and number of request and delay. Because the current version of quiz module sends a request for each question, imagine if 100 users are attending quiz contest which has 20 questions its very expensive isn't it ?.
    2. It reduces the delay and makes the quiz more interactive by giving instant response.
    3. Allows the users to view all the answered questions in a single page and he/she can verify the answers before submitting it.

    4. Ajax paper for add multi-choice question page where already available multi-choice questions were being display.

    Also i would like to implement the todo and feature requests for quiz module given in this links

    http://drupal.org/node/199575
    http://groups.drupal.org/node/7412
    http://groups.drupal.org/node/16549

Mentors

  • Expected mentor mbutcher
  • Backup mentor -
  • ALocalMentor -
 Updated proposal is here http://socghop.appspot.com/student_proposal/show/google/gsoc2009/sivaji2...

Difficulty : Medium

I would like to implement the above ideas to druapl 7.x also (in future) and want to be a long term drupal contributor. digitalfreak and mbutcher seems to be very interested in quiz module, i am happy to work with them, hope we will have lot of fun this summer with drupal. Please post your suggestions to make it better.

Comments

I'd like to see this.

2c's picture

Sounds like great work, particularly working on the feature/to do lists in the links.

Send all the questions to client side and display it one by one as the user proceeds with the test. eg when the user answers for the first question second one will be displayed and so on.

Couldn't AJAX help out here?

The dashboard would be very useful for users...were you thinking of an admin only dashboard?

@phonydream2

sivaji_ganesh_jojodae's picture

Hello phonydream2
Thank you very much for your reply.

Regarding AJAX question

Even if you use AJAX you have to send a HTTP request for each questions, i think its already well explained please refer my last post #Enhancement -> 1 -> Advantage

Regarding dashboard

I am talking about users dashboard were they can view the statistics about their quiz tests and results.

sivaji
ubuntuslave.blogspot.com

..

2c's picture

I'm not sure if the server load would be that heavy for a simple ajax text request. Serving the average Drupal page requires a lot of requests(images, CSS files), boot strapping processes etc. but a simple AJAX fetch for the next snippet of data would require very little processing (you don't have to undergo the Drupal bootstrap process for each AJAX request). I'm not suggesting you take this route, just putting it out there for consideration.

With AJAX you could provide context sensitive responses. You could also do that with the method you suggested, but the user would be downloading a larger initial data set to account for all the different possibilities.

For example... let's take an example of a case where it might be useful to interpret the users answers on a question by question basis. Say I have a quiz about European history. 5 questions are about France, 5 questions about Germany, 5 questions about the U.K. Now if a user has answered 3 questions about France incorrectly I'd like a popup to suggest they study a webpage about French history again before continuing with the test. I'm not suggesting you implement this functionality, but that you allow the possibility of developers hooking into the process dynamically.

If you provide an API for the developers to hook into the feedback mechanism dynamically then you create a lot of possibilities for customization by individual developers.

For example, a quiz for school children could be programmed to give positive feedback if 50% of the questions have been answered correctly.

thank you for enlightening me

sivaji_ganesh_jojodae's picture

Hello phonydream2

All your suggestions seems to be worth to follow, thank you for enlightening me. I request you to join our quiz drupal group http://groups.drupal.org/quiz and give your valuable suggestions to our further discussion.

This would be a great project!

mbutcher's picture

I'd wholeheartedly endorse this project. Importing and improved reporting are two of Quiz's weak spots. It'd also be great to see a better UI for assigning questions to quizzes. And, of course, Sivaji lists a number of other improvements that he's interested in.

Sign me up for mentoring!

I'm turning this into an official project idea...

alex ua's picture

...since it has a mentor lined up and seems like a well thought out proposal. Thanks!

Alex Urevick-Ackelsberg
ZivTech: Illuminating Technology

Alex Urevick-Ackelsberg
ZivTech: Illuminating Technology

Thanks

sivaji_ganesh_jojodae's picture

Thanks Alex

sivaji
ubuntuslave.blogspot.com

More detailed comments coming later, but...

bonobo's picture

I'd love to see this come through.

Two big things I'd like to see in an updated quiz module for D6:

  1. CCK node types for questions (already on the to-do list); this would solve all the requests for including various types of media; and
  2. Branching logic in quizzes --

I also think it would be ideal if the quiz engine kept additional module dependencies to a minimum (and I'm thinking specifically of Workflow and Rules) --

While both of these modules have the potential to add some powerful options for advanced users, from a usability place they are both fairly complex for new to intermediate users.

This looks like a great project.

Cheers,

Bill


FunnyMonkey
Click. Connect. Learn.
Using Drupal in Education

Number 1 is done

mbutcher's picture

The first item is done already, and is in the 3.x devel branch.

The second item would be very cool to add. It'd be a huge change, though.

Basically, what I hope to see out of Quiz is the maturation of a tool that can provide an academically oriented quiz engine while still providing for the needs of less formal quizzes. Sivaji's proposal is great because his ideas are spot-on with achieving that goal.

Matt

Blog: http://technosophos.com
QueryPath: http://querypath.org

Dear folks, Final ideas of

sivaji_ganesh_jojodae's picture

Dear folks,

Final ideas of this project has been put up on the GSoC site based on your suggestions/feedback, here the url to access it http://socghop.appspot.com/student_proposal/show/google/gsoc2009/sivaji2..., please have a look into it at your convenience and give your valuable suggestion to make it better.

Thanks to mbutcher for helping me to write this project proposal documentation.

--
sivaji
ubuntuslave.blogspot.com

How about Voting API

mitchell's picture

How about Voting API integration/dependancy?

@mitchell

sivaji_ganesh_jojodae's picture

seems to be good, but i would like to know your ideas, how do you expect the Voting API to work with quiz ?

--
sivaji
ubuntuslave.blogspot.com

Variable scoring with multiple choice

summit's picture

Hi Sivaji, Will you work on a D6 version? How about also bringing the multiple choice into the new model, with variable scoring possibility! as asked my Matt here: http://drupal.org/node/329931#comment-1529310
Thanks for considering this!
Greetings, Martijn

All Quiz questions on same page

nsuit's picture

Hi Sivaji, I am so thankful for all the hard work that has gone into the quiz module.
Is there any way I could test that new work-flow that was mentioned in one of the comments of this blog: http://www.appnovation.com/quiz-module
"Sivaji's new test-taking workflow that incrementally adds questions to the page".
I would like to display all quiz questions on one page without having to custom code or write my own module. Is it possible?
Thanks

another enhacement to be developed

Creators.guru's picture

enhancement

  1. use images as multiple choice answers
  2. use audio on giving wrong or right answers (that will make it more children friendly )
  3. if could use custom background for different quiz to make it look better for children and adults
pzimmer's picture

I am trying to use Quiz (6.x) for a Kindergarten assessment. Has any work been done with the use of images as multiple choice answers (mentioned by Creators.guru above)? I would also be interested in being able to provide an audio instructions and responses.

I would love to contribute, but unfortunately, I can't write code. I am simply an implementer of existing modules.

Thanks for any feedback.

Unseen passage in quiz module

shikha-22's picture

Hii,

I have to create a unseen passage in quiz module. I also want all questions in same page. Will you please help me? I am novice in drupal. I am using drupal 7.

SoC 2009

Group categories

Admin Tags

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week