Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show child questions in the same page #394

Open
abias opened this issue Apr 6, 2022 · 5 comments
Open

Show child questions in the same page #394

abias opened this issue Apr 6, 2022 · 5 comments

Comments

@abias
Copy link

abias commented Apr 6, 2022

Steps to reproduce:

  • Create a new questionnaire
  • Add a 'Yes/No' question
  • Within the question configuration, the question settings can be set to arbitrary values.
  • Add a 'Numeric' question
  • Within the question configuration, set the previously created 'Yes/No' question as parent question with Answer "Yes". All other question settings can be set to arbitrary values.
  • View the questionnaire in preview mode

Actual result:

  • The questionnaire is just showing the "Yes/No" question
  • If the user answers the question with yes and proceeds to the next page, the "Numeric" question is shown on the next page

Expected result:

  • The questionnaire is just showing the "Yes/No" question
  • If the user answers the question with yes, the "Numeric" question is directly shown on the same page and the user can directly answer it

Analysis:

  • The questionnaire displays the question list until either a page break or a child question is configured in the question list.
  • In a questionnaire with many parent and child questions, these mandatory page breaks somehow interrupt the user workflow when filling the questionnaire.
  • It would be great if child questions could be shipped on the same page and could just be hidden until the parent question is answered.
@mchurchward
Copy link
Contributor

This will require a fairly large change, including adding javascript. It would be a welcome, much needed improvement.
One concern about hiding them is whether or not it matters if dependent questions should be viewable before a selection is made - but I guess, users could always try different responses anyway.
With respect to "preview" mode, I don't believe paged mode works there at all. So, I believe you are also suggesting that preview mode should be made to obey the dependency rules as well?
Also note, that dependent questions do not work in the mobile app currently. Is there a desire for that to be added?

@abias
Copy link
Author

abias commented Apr 29, 2022

Hi Mike,

One concern about hiding them is whether or not it matters if dependent questions should be viewable before a selection is made - but I guess, users could always try different responses anyway.

I am unsure if I get your comment right.
My basic proposal is to place the dependent questions on the same page (instead of forcing a page break) and to unhide them as soon as a selecion in the parent question is made.
If the student makes a selection for option A in the parent question and re-decides then to select option B in the parent question, the UI might show him two different depending questions after each other.

Against this background, this improvement might be a problem for some survey scenarios.
We could extend the proposal in a way that the teacher could decide when building the survey if the depending questions should be unhidden on the same page (based on this proposal) or be shown on a separate page (as they are now).

With respect to "preview" mode, I don't believe paged mode works there at all. So, I believe you are also suggesting that preview mode should be made to obey the dependency rules as well?

Well. In the "preview" mode, the teacher sees all questions on one page and he also sees placeholders for the line breaks.
I would think that it would be ok to leave preview mode as it is.

Also note, that dependent questions do not work in the mobile app currently. Is there a desire for that to be added?

I haven't looked at Questionnaire in the Mobile App recently. What do you mean with "dependent questions do not work"? Are they not displayed at all? Or are they displayed regardless of the selection in the parent question?

Anyway, I think this aspect should be handled in a different issue. And, as it stands now, we would not have any need to see this feature in the Mobile App.

@mchurchward
Copy link
Contributor

Thinking about this some more...
I presume you are imagining that if a user clicks rapidly through choices on a parent question, the screen below changes with every click? Or do we need a "final answer" button to indicate the selection?

This will require some new external services to be built that would then interact with the HTML/Bootstrap to make this work. I don't think this is a small task. My first guess is that that would be at least a month of work, including testing, reviewing and rework.

@mchurchward
Copy link
Contributor

Forget what I said about the mobile app. The problem there is only with offline mode. This would not help that.

@abias
Copy link
Author

abias commented May 11, 2022

I presume you are imagining that if a user clicks rapidly through choices on a parent question, the screen below changes with every click? Or do we need a "final answer" button to indicate the selection?

My assumption was that the user could change his choice in the parent question and the child questions would be shown / hidden accordingly on the same page.
Adding a "final anwer" button would not make much sense to me as it would be pretty much the same usage flow than showing the child question on a new page.

This will require some new external services to be built that would then interact with the HTML/Bootstrap to make this work. I don't think this is a small task. My first guess is that that would be at least a month of work, including testing, reviewing and rework.

Whew. That's pretty much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants