Check out the LimeSurvey source code on GitHub!

Array_filter limit on number of subquestions? (I think I found one)

2 years 7 months ago #110775 by scottturnbull
I believe I have found an undocumented limit on the number of subquestions that can be array_filter controlled.

At least I have found that 34 subquestions can be array_filter controlled in my survey, but 35 subquestions results in a "404 Not found. The survey in which you are trying to participate does not seem to exist." when test driving the survey.

I have set up a Multiple choice question with subquestions defined with a select toggle.
The defaults for the choice selections are set to have some subquestions un-selected in the list.
This subquestion selection list is a hidden question.

A subsequent Array Number question is specified as array_filter'ed by the hidden multiple choice question. The subquestion count and coding in the Array Number match the subquestions in the hidden list.

As expected, the unselected subquestions in the hidden list suppress the display of the corresponding subquestions in the visible Array. So far, so good.

When there are 34 subquestions being array filtered, I can test the survey front start to finish.
When there are 35 subquestions being array filtered, when I attempt to move to the group just past the group with the array filtered question, the above referenced 404 error is generated.

Is this array_filter size limit known?
If so, where is it documented?

The reason I have constructed this hidden array_filter selection is to enable some subquestion display tailoring when the survey is active. The thought is that by editing the default values of the hidden multiple choice list, the display of subquestions in the visible array can be controlled. This has the effect of looking like subquestions have been added to an active survey.

Please Log in to join the conversation.

2 years 7 months ago #110779 by scottturnbull
As an experiment to try and get out from underneath this apparent array_filter size limit, I tried setting up a much shorter array_filter_exclude list to control suppression of a small number of subquestions.

The same limit appears when testing my survey.
With a set of array_filter excluded subquestions, any attempt to control more than 34 subquestions won't make it through the test cycle. The same 404 error is generated when subquestion 35 is added to the list.

Please Log in to join the conversation.

2 years 7 months ago #110788 by scottturnbull
Answering my own question, here, to some extent.

The limitation appears to not have been specifically related to a limit on array filtering, but rather was a limitation to the number of questions and subquestions within a given question group.

Splitting a large Array Numbers into two arrays within a single question group did not solve the problem.
Moving a 2nd Array Number that was in the same question group to its own group, did get around the problem.

By moving these large arrays into their own groups, rather than having two per group as was initially implemented, there is sufficient capacity to create the rows and columns needed for the Array Numbers questions.

Please Log in to join the conversation.

2 years 7 months ago - 2 years 7 months ago #110796 by DenisChenu

Think's it's a server limit.

What is your memory_limit ? (you can see it in phpinfo)

PS: if you really think it's a LimeSUrvey issue : report a bug (bug report)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
Last Edit: 2 years 7 months ago by DenisChenu.

Please Log in to join the conversation.

2 years 7 months ago - 2 years 7 months ago #110812 by scottturnbull
I agree that this smells like a server limit error driven by the large array questions being built.

I'm working with LimeSurvey as a survey developer, not as an administrator for the install.

The phpinfo for the survey server shows

max_input_vars 1000 1000
memory_limit 1073741824 128M

As stated yesterday, separating the large array questions into separate question groups got past the issue. Are there group specific memory or variable count limits? I did find some general limits defined in the manual's General FAQ. Apparently my choice of Array Number chews up the database engine space more quickly than most question types.
Last Edit: 2 years 7 months ago by scottturnbull. Reason: passed vs past

Please Log in to join the conversation.

Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form