Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Best practice for (automated) course evaluations

  • supercosh
  • supercosh's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 years 5 days ago - 11 years 5 days ago #94169 by supercosh
Hi LimeSurvey community!

I've played with LimeSurvey the last two days in order to find out if it would be the right tool to take course evaluations with students. Students usually will have to answer some questions about the course, about the teaching quality of the teacher, and so on. That should work in an automated manner out of a course administration system - more to that later.

So would it be the right way to have it set up like this:

Initial setup:
  1. Having one survey set up with help of the survey designer / manually
  2. Having all unique students written in the central participants database once (directly into the database with INSERT queries)
  3. Assignung the students (participants) to the survey by linking them over the apropriate link-tables like it is done when using the GUI for that (survey_links, and so on)
  4. Generating tokens and inserting them in the apropriate tokens_xxx table for each user for unlimited usage

Once this is done, each student has the ability to use the survey.

For each course/teacher pair:
  1. Sending the students via email the link to the survey with the help of a cron job
  2. The link would contain two panel parameters 'course-id' and 'teacher-id', these values are prefilled in the hidden questions 'Which course to give answers for' and 'Which teacher to give answers for' - for later filtering in the reports

The idea behind that:

So the survey has to be designed only once, and every time I send out the survey links, they would be just the same for each user; only the teacher-id and course-id would change. Now the problem I'm running into, is: Theoretically, a student could complete the survey with the same course/teacher pair several times. I know of the cookie feature which could block this - but it would be much more secure to have a check "hook" at the same place where the token is checked (application/controller/survey/index.php around line 350), so that I could check if the survey for the token-teacher-course "composite key" is allready taken or not.

I know the YII framework, and I would know how to code such a feature, and I would know how to manipulate the database like written above, but I'm not sure if that would be the clean way to go, or if I'm completely on a wrong path or haven't understood the basic concepts of LimeSurvey at all for accomplishing such a task.

Any directions and/or comments are most greatly appreciated! :-)

Regards,
Greg
Last edit: 11 years 5 days ago by supercosh.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 5 days ago #94170 by holch
If you have the students written into the database, then you could create a token unique for each student and you can save the teacher id and course id as custom variables in the token table. So each student could only respond the survey once.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The following user(s) said Thank You: supercosh
The topic has been locked.
  • supercosh
  • supercosh's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 years 5 days ago #94171 by supercosh
Replied by supercosh on topic Best practice for (automated) course evaluations
Hi holch,

And thank you for your fast answer! If I understood correctly, that means I could save the teacher and course as additional attributes to the token table. So assume, the token table content will then look like this:
  • Token=ABCD0123; Participant=Bob; Course=Math-Beginner 2013-2; Teacher=Sue
  • Token=EFGH4567; Participant=Bob; Course=Math-Advanced 2013-1; Teacher=Eve
  • Token=ZYXW9876; Participant=Joe; Course=Math-Advanced 2013-1; Teacher=Eve


So should I insert not just one token unique to the student with unlimited usage, but unique to the composite key "student - course - teacher" for single usage? Then the system would be able to lookup all attributes for each token. I suppose these attributes then could be used somehow in the survey as additional answers / I have to check the docs at this. That would be a great approach.

Could you please confirm if I understood that concept correctly? Thanks!

Regards,
Greg
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
11 years 5 days ago #94172 by holch
Exactly, you create a token for each course-teacher-participant combination. This means that one participant could have various tokens if he participates in various courses.

If you create your tokens yourself you can even create them including this, eg. first two digits for the course, 3-4 for the teacher and 5-6 for the student. However, this is dangerous because some students might figure out the pattern and use it against you...

In the questionnaire itself you can make use of the attributes in the token table. You can directly reference to them from the survey (e.g. great the student by his name, filter questions based on the course, pipe in the name of the teacher).

If I am right you can even export the token attributes with the results if the survey is not anonymous.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The following user(s) said Thank You: supercosh
The topic has been locked.
  • supercosh
  • supercosh's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 years 5 days ago - 11 years 5 days ago #94174 by supercosh
Replied by supercosh on topic Best practice for (automated) course evaluations
Thank you for the hint with using the token attributes in the survey, i managed to have the course and teacher ID fields as hidden answers in the survey. Now I can filter the surveys accordingly in the report module. Nice!

Unfortunately, another problem arised: I'm inserting serveral tokens for one and the same participant in the tokens_xxxxxx table, and make the links in the survey_links table. When the first survey is completed by the student, all other tokens show also as 'completed' in the token list of the survey. The student will also not be able to take the same survey with another token, since a message is displayed that the supplied token is not valid or the survey has allready been taken.

Am I missing something, or does LimeSurvey just not like having several tokens for the same participant and survey?

Regards
Greg
Last edit: 11 years 5 days ago by supercosh. Reason: spelling
The topic has been locked.
  • supercosh
  • supercosh's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
11 years 5 days ago #94175 by supercosh
Replied by supercosh on topic Best practice for (automated) course evaluations
Okay, found it, I was putting a NULL value into the completed field for new tokens, instead of an empty string. A non completed survey should be marked with an empty string or with the character "N".

So far, everything looks okay now! Thank you very much for your help, holch!

Regards
Greg
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose