AskiaDesign 5.5.3
Non-selectable responses, response hierarchies and headers
We have added the possibility of defining a hierarchy of responses (currently only two levels) and to indicate that a response is a header - in other words that it's non-selectable.
Thanks to this, you can easily define rotations per group - and indicate if you want the headers to move but not the sub-levels (see BMW and Mercedes) or if everything can move within it (see Renault).
We have also added a property in AskiaScript to indicate if a response is a header or not:
Response.IsHeader -> boolean
Question.AvailableResponses does not return the header responses if the ADC is old or does not have the setting manageHeader to true in the questions constraints in the config.xml.
So it means the functionality is available with ADCs version 4.
We also added AskiaScript keywords to manage grouped responses and headers:
- .Roots - new property on the responses object which returns only the root list of responses/items so level 1
- .Children - new property on the response object which returns the list of child responses for a given response
- .Parent - new property on the response object which returns the parent response for a given response.
Create links on "level 1" responses
We have added the possibility to indicate that a link only makes level 1 responses "available". If the responses are headers (e.g. non selectable), the system transforms them into normal responses in the linked question:
So if you link to a question like this one and select the highlighted checkbox:
You will get a response with the following responses BMW, Mercedes, Renault, Aston Martin.
Simplified Semi-opens
We have fields in the database associated to modalities which allows us to have automated semi-opens.
We added a combo box in the list of responses for a semi-open that once set (No, Yes in the Open column) would create an open question below and indented to the closed question. For a loop, it's created after as you do not want the open-ended to be repeated.
An implicit (hidden) routing is created for the questions accordingly. The open-ended question is not visible therefore its screen is not generated by default. You can change the type of the open-ended question (make it numeric or date) and make it mandatory or not.
If you use links, then a text substitution happens for subsequent questions. BUT if the semi-open response is not selected in the first question, these responses are not available for subsequent questions (even if all or non selected type of links).
The AskiaScript: we have a property on the response object to know if it’s a semi-open response (called .IsOpen boolean) and a property which return a question object (.OpenQuestion). Thanks to these we can access all the properties and methods of the related question, so we can retrieve the value too to use it later, the inputValue etc... to use it on ADCs.
It's important that an ADC indicates if it can support semi-opens or the user would be stuck on the source question, assuming a response is expected. So we added a question constraint to the ADC config.xml: manageSemiOpen as a Boolean.
So it means the functionality is available with the ADCs version 4+.
New routing Custom AJAX response
We added a new routing Custom AJAX response. This routing has a textbox where we define the desired returned response value:
{ "action" : "custom", "response" : HERE THE CONTENT OF THE TEXTBOX }
From that we can build the format of the response.
You should tick "during" for this routing, or else nothing will happen.
Save a test interview and reopen it
We can now save a test interview and reopen it even if AskiaDesign was closed. We have added the two buttons to load and save an interview in XML - this would be useful to also understand why a real interview was not running as expected.
Interview.SetPosition()
We have added Interview.SetPosition() method in the AskiaScript for the "Run an AskiaScript" routing. It redirects the respondent to the specified question. This method differs from GoTo, as it will preserve all answers.
Interview.ApplicationName (5.5.3.4)
We have added Interview.ApplicationName property in the AskiaScript which returns the name of the Askia application.
The possible values are:
- “designoffline” - for AskiaDesign (offline) in the preview or test in design offline including Jupiter test.
- “designonline” - for Rapide Design (online) in the preview or test in Rapide Design.
- “web” - for the survey in the CCA, so for an AskiaWeb survey.
- "voice" - for an AskiaVoice survey.
- "facewindows" - for the survey in AskiaFace for Windows.
- "unknown" - for the others.
Interview.PercentPosition (5.5.3.6)
We have added Interview.PercentPosition property in the AskiaScript which return the position level (as a percentage) of the current interview.
It returns a number between 0 and 100.
The difference between .PercentPosition and .Progress: the .PercentPosition takes into account the rest of the questions to ask. The .Progress takes into account the rest of the variables to ask and also the previous questions with missing answers.
Userdata field in questions
We have had a field called "Userdata" in the database for which we have never provided an interface. We have now! To enable the interface, go into the Options and select Yes for "Show user data field":
Then in your question, loop or chapter pages a new field will be available:
You can enter any string (or JSON). It's available in the AskiaScript by calling:
CurrentQuestion.UserData
We have allowed the user to allocate a tag to Many questions (or responses) all in one go:
Add new randomisation option to apply to similar questions (5.5.3.4)
We have added the following options in the rotation dialog box, which gives you the possibility to apply the same randomisation seed by default for all similar questions (question objects with the same number of defined categories):
And in the settings, we added a new option to select it by default:
Run AskiaDesign via the command line to merge or update surveys (5.5.3.4)
AskiaDesign can now be used via the command line to merge two surveys (QEX or XML) or update a portion of a survey using a second survey. If you want to know more of the possible options, it's here.
Added a new setting in AskiaDesign to freeze entry codes automatically when saving the survey (5.5.3.18)
We added a new setting in AskiaDesign to freeze the entry codes automatically when saving the survey: