AskiaDesign 5.6.0
Table of contents:
-
5.6.0
- Add a visual aid in the status bar for when the file is modified and not saved
- Replace existing ADC or ADP
- Change the format of the library to use XML
- Delete not used languages caption
- Ignore routings in order to test a specific question of a survey
- Use the entry code when the data returned is a string or an array of strings
- New routing action Set ADX properties
- New routing action Mark as completed
- New AskiaScript properties on the Survey object
- New AskiaScript quota methods (.OpenQuota() and .OpenBalancedQuota()) on the Question object
- Accept categories as string for the AskiaScript quota methods of the question object
- Persistence of the quotas definition in AskiaDesign
- Added the Quota property and .ToString() method in the Interview object to return in JSON format the entire quota tree
- Added .Skip() and .SkipAndKeepData() methods on the questions collections type
- Open interview .dat files when testing a survey
5.6.0
Add a visual aid in the status bar for when the file is modified and not saved
We have added in the status bar a visual aid ("Modified") when a survey is modified but not saved. If the survey doesn't contain modifications then nothing is shown.
Replace existing ADC or ADP
When adding an ADC or ADP that is already in the survey, we added a warning to replace the existing one or cancel. We also now indicate the versions numbers of both files so we know if we replace with an older version file or newer version file.
Change the format of the library to use XML
We have changed the format of our library. Before we used Microsoft access file (.bib). Now we use XML. Note: When you open AskiaDesign 560 32 bit, the system will transform automatically your old .bib library to the new XML format and create a folder BiblioLib. You will find the corresponding files inside this new folder.
To know where your library is located, open the Options menu in AskiaDesign and Settings (local and/or global library path):
Right now, when we delete a language from a survey or use a survey library, all the languages are kept in the survey.
In order to reduce the file size, we added a new option in Edit menu -> Remove unused translations.
Ignore routings in order to test a specific question of a survey
We added a new option in the GoTo window to ignore the routings until the question selected (without running in the background the entire Routing until that question).
Use the entry code when the data returned is a string or an array of strings
When the return value of a Set value, Set value and hide, Change response order, Ignore responses routing or .SetValue() AskiaScript method of the run an AskiaScript or Query web service advanced is a number or an array of numbers then design use the index of the responses.
If the return value is a string or an array of strings then design now use the entrycode of the responses.
Note for variant, we apply the same rule so if the return value is a variant or an array of variant then we look the inner type of each values so if it's a number then design use the index of the responses, if it's a string then AskiaDesign uses the entry code of the responses.
New routing action Set ADX properties
We added a new routing action Set ADX properties to manage ADC/ADP properties from Design Routing. (for e.g. send custom properties to an ADC for a specific question type through AskiaScript, and not (as current behaviour) by manually specifying the property for each question in the Screens Mode)
The corresponding AskiaScript methods:
CurrentADC.SetProperty(string_id_property,variant_value)
CurrentADP.SetProperty(string_id_property,variant_value)
Note: we can chain the SetProperty method.
Attention it doesn’t work with parameter of type “question”.
New routing action Mark as completed
We added a new routing action Mark as completed which trigger a "completed" tag in survey, lists, quotas and statistics when a respondent has reached the question where the routing is set, but abandoned the interview before the end.
For instance, a web interview where the respondent doesn't validate the few last questions.
New AskiaScript properties on the Survey object
We added two new properties on the Survey object:
- DurationMedian - Returns the median of the duration of interviews in seconds.
- SpeedMedian - Returns the median of the speed of interviews. The speed is (the number of clicks + the number OK keystrokes / 3) / Duration.
New AskiaScript quota methods (.OpenQuota() and .OpenBalancedQuota()) on the Question object
We added two new quota methods on the Question object:
- OpenQuota - Returns the list of indexes of the responses of the TargetQuestion still open ( to do > 0), and sorted from the max to-do to the min to-do, using the count for the sort.
- OpenBalancedQuota - Returns the list of indexes of the responses of the TargetQuestion still open ( to do > 0), and sorted from the max to the min, using the following formula for the sort: (Target% - Observed%).
Difference between AvailableQuota() and OpenQuota():
Let’s image a simple quota tree like this – we want to know which Product we should test (A, B or C) . . .
|
|
Target |
Observed |
ToDo |
Total |
|
30 |
6 |
24 |
Product A |
|
8 |
6 |
2 |
|
Male |
6 |
6 |
0 |
|
Female |
2 |
0 |
2 |
Product B |
|
10 |
0 |
10 |
|
Male |
5 |
0 |
5 |
|
Female |
5 |
0 |
5 |
Product C |
|
12 |
0 |
12 |
|
Male |
6 |
0 |
6 |
|
Female |
6 |
0 |
6 |
For males, the To do results are (0,5,6) and the result is {3;2}, for females, the results are (2,5,6) and the result is {3;2;1}. And if the gender is known, Product.AvailableQuota() or Product.OpenQuota() will give you the right response.
And if the gender is not yet known, AskiaScript lets you explore a hypothesis:
You can call Product.AvailableQuota(Gender:1) (returning {3;2}) or Product.AvailableQuota(Gender:2) (returning {3;2;1}). You can also call Product.OpenQuota(Gender:1) (returning {3;2}) or Product.OpenQuota(Gender:2) (returning {3;2;1}).
So if the gender is not known, Product.AvailableQuota() will look into Product A, will realise that one more male would make you go over quota and will therefore declare that it cannot take the risk to leave Product A open. And the result will be {3;2}.
And Product.OpenQuota() will look into Product A, will realise that the female quota is still open and the result will be {3;2;1}.
Accept categories as string for the AskiaScript quota methods of the question object
We added the possibility to define the category as string for all the quota methods of the question object:
-
OpenQuota()
-
OpenBalancedQuota()
-
AvailableQuota()
-
AvailableBalancedQuota()
-
QuotaList()
-
BalancedQuotaList()
In that case, use the single quote for string and array of string inside the category string instead of the double quote.
TargetQuestion.Method(shortcut2:3,shortcut1:"5")
and using the category as string:
TargetQuestion.Method("shortcut2:3,shortcut1:'5'")
Persistence of the quotas definition in design
The definition of the quotas in AskiaDesign is now saved in the QEX file even if you close and reopen Design.
We also added the option to use "Single target" or "Min / max target" in the right click on the quota window:
Added the Quota property and .ToString() method in the Interview object to return in JSON format the entire quota tree
We have added the Quota property to the Interview object and .ToString() in order to return in JSON format the entire quota tree definition.
With a definition like this:
The Interview.Quota.ToString() will return a JSON like this:
And if you want to retrieve the value of the QuestionShortcut for instance you can use this syntax:
So it means, now the entire definition of the quotas tree is accessible through AskiaScript.
Added .Skip() and .SkipAndKeepData() methods on the questions collections type
We have added 2 new methods .Skip() and .SkipAndKeepData() on the questions collections.
Example:
Open interview .dat files when testing a survey
In the IE test mode dialog (the classic HTML test screens), we had an open icon to open XML interview files. You can now select an interview file (.dat) and the system will attempt to import it.