Expand my Community achievements bar.

Announcing the launch of new sub-community for Campaign Web UI to cater specifically to the needs of Campaign Web UI users!
SOLVED

Dynamically populate the Survey questions based on a specific column in a schema ?

Avatar

Level 4

Hi everyone, 

Happy New Year!

I've set up a WebApp with the following flow: Preloading > Page > Storage > Thank You Page > End.

  1. In the survey section, there are three questions where participants are asked to rate various features on a scale of 1 to 10. I am looking for a way to dynamically adjust these features based on the information in each recipient's 'features_schema'.
  2. Also, I need to ensure that each participant can only submit their responses once. This is crucial for maintaining the integrity of the survey results.
  3. Furthermore, I aim to restrict access to the survey so that it's available only to the individuals who received it via email. This is to ensure that the feedback is gathered exclusively from the intended audience.

Also,the form we are using a custom form that has it's own HTML, CSS, Jquery & JS in it.

Please suggest. Thank you in advance. 

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @rvnth,

 

1. You can store the set of questions in a custom schema, and link them to a 'feature' (or whatever terminology you have). In the webapp, when you are doing the preloading, you can get the linked information from your features schema. Based on that you can pull the required questions from the schema where you store all the questions, and display them on the page. Once the recipient fills and saves the survey, the records get saved in the responses schema, with a link to the recipient.

2. During preloading itself you can check whether a response from the recipient already exists in the responses table. If yes, you can route them directly to the thank you page and display a relevant message to them.

3. You can do so by implementing a condition on the webapp link that you have in your email such that a specific parameter gets added or omitted from the link whenever it is a forward. (There is a condition which checks the document mode in the mirror page personalization block, you can use that for your webapp link as well). 

if ( document.mode != 'mirror' && document.mode != 'forward' )

 Based on the presence/absence of that parameter you can grant/deny access to the survey questions page.

 

Regards,

Ishan

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

Hi @rvnth,

 

1. You can store the set of questions in a custom schema, and link them to a 'feature' (or whatever terminology you have). In the webapp, when you are doing the preloading, you can get the linked information from your features schema. Based on that you can pull the required questions from the schema where you store all the questions, and display them on the page. Once the recipient fills and saves the survey, the records get saved in the responses schema, with a link to the recipient.

2. During preloading itself you can check whether a response from the recipient already exists in the responses table. If yes, you can route them directly to the thank you page and display a relevant message to them.

3. You can do so by implementing a condition on the webapp link that you have in your email such that a specific parameter gets added or omitted from the link whenever it is a forward. (There is a condition which checks the document mode in the mirror page personalization block, you can use that for your webapp link as well). 

if ( document.mode != 'mirror' && document.mode != 'forward' )

 Based on the presence/absence of that parameter you can grant/deny access to the survey questions page.

 

Regards,

Ishan