Or, is the thought that you would have a lot of similar questions and using "this" would avoid the need to modify the question text?

I think it is useful especially when using javascript workaround to extend capability of questions. I know that EM will make a lot of javascript workaround useless, but in some case a kind of this selector would be convenient. I'm thinking about some questions I've created in a survey (e.g. Track respondents answers across multiple surveys or an image selection question) that could be reused without any modifications if this exists

Having a "this" variable for simple questions would probably be do-able. However, how would you want to refer to (e.g. create names for) questions that have sub-questions? Or, would you want "this" to refer to each sub-question as it is processed?

If you can provide some sample code that would use "this", I can think through this in more detail.

I tried to test the EM and condition to relevance conversion and it seems to work fine with our survey (which seems to be slow in 1.91+ because of its 11 conditions in one matrix question). The relevance now looks like

((BEW_1_0 >"3")) or ((BEW_2_0 >"3")) or ((BEW_3_0 >"3")) or ((BEW_4_0 >"3")) or ((BEW_5_0 >"3")) or ((BEW_6_0 >"3")) or ((BEW_7_0 >"3")) or ((BEW_8_0 >"3")) or ((BEW_9_0 >"3")) or ((BEW_10_0 >"3")) or ((BEW_11_0 >"3"))

and should be the same as the conditions we set in 1.91+.
Though it would be interessting to see if it's really much faster. But I can't test that at the moment.

I tested a survey using "&newtest=Y". I stoped at the second page, then started the survey. I then used the link without "&newtest=Y" but was sent to the second page and got the message:
"Please use the LimeSurvey navigation buttons or index. It appears you attempted to use the browser back button to re-submit a page."
After a click on okay I answerd the question and clicked on the "next" button. I then came out the welcome page of my survey.
It seems there is a problem to differentiate between normal survey participation and test mode.

The "newtest" issue is an artifact of how I'm handling sessions to keep a person from submitting the same page twice. I create a random number and send it in the HTML, plus store it in the $_SESSION. If you submit a page that doesn't have the same number, then you might have had two windows open, or clicked the browser back button, or other reasons.

This is not the most elegant solution. Yii will have better session handling which will obviate the problem.

Sounds like I just need to detect when "newtest" is passed on the command line and have the functions that look for the random number ignore it.

Would you recommend that as a global and/or survey-specific setting? Personally, I like having the auto-focus on the first question on the page (or the first question that fails mandatory or validation rules). I try to avoid using the mouse, so like to be able to immediately answer from the keyboard and/or tab to the proper question, and without focusfirst(), each browser focuses in inconsistent places.
If we make this a setting, we can give users several choices.

Would you recommend that as a global and/or survey-specific setting? Personally, I like having the auto-focus on the first question on the page (or the first question that fails mandatory or validation rules). I try to avoid using the mouse, so like to be able to immediately answer from the keyboard and/or tab to the proper question, and without focusfirst(), each browser focuses in inconsistent places.
If we make this a setting, we can give users several choices.

/Tom

Don(t know really,

First global, and if user ask : put in survey .

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (use private message).

are there any checks if the survey logic is correct and are there places in LimeSurvey where you show the results of this check?
I know you can check it yourself if you just call the logic function for the survey, group, or question. But I thought about the following cases.

1. Importing a survey
I imported a few surveys and the overview page after the import told me everything is okay. I checked the survey logic, there seems to be some errors that occur because e.g. the question code doesn't match the requirements/rules (e.g. if the code is only a number like "1" or you have a "-" like "Verb-Vors" in your code). So I think it might be an idea to check if there are logic problems with the survey after importing and view a hint like "Your survey logic contains x errors. If you have problems click here to view the survey logic." if something is wrong.

2. Creating/Editing a question
I renamed the code "Verb-Vors" to "VerbVors" to solve the error mentioned on the logic page. I then tried to rename it back to "Verb-Vors" and created this error on purpose. So I think it might be an idea to check if there's something wrong with the question and show a hint (or even stop and let the user correct their mistakes) that something is wrong with the logic. I don't think it would be to difficult to do a regex check for the Code input field and prevent the user from entering something that doesn't meet the requirements/rules.

3. Upgrading LimeSurvey
If 1.92 is released we might get come to the point where users upgrade their installation. We don't know what might happen if after the upgrage certain survey have errors/problems and don't tell the user about the problems.

4. Show logic status on survery information page
There's a page for each survey where you get the survey link, administrator name, used template, ... . Perhaps it might be an idea to create a global option "Show logic status on overview page" that lets you show a status like "OK", "2 errors" or something simmilar. I think it should be an option to add this because it can happen that some people don't really want to see it (e.g. the customer creating a survey. If you show something like "2 errors" he might get irritated and call me/tell me "Mr. X, there are problems with my survey *sigh, sigh, sigh*").