What’s New in Design 5.4.5

Summary This article lists the new features of Design version 5.4
Applies to askiadesign
Written for  All
Keywords 5.4 ; design;

Design 5.4.5 releases brand new customisation templating capabilities thanks to the introduction of the Askia Design Pages system (ADP), and a modern screen testing system called Jupiter. We've also added a bunch of automation features, check them out!


Question Mode  

Interactive Library: When copying and pasting questions - or dropping questions in via the library, a wizard can be offered to customise the question texts and responses you are adding.


Read more about this feature here


Screens Mode

“Jupiter” – Server Emulation: You now have an option to preview your survey as if it was on the server, straight from Design. Not only does it launch into a browser, you can paste that URL into any browser on your device, or even send it to a colleague who is on the same network so they can preview the survey. Read more about this brilliant feature here:

Read more about this here:


Askia Design Pages (ADP): You can add an ADP as a resource (as you would do with an ADC), and control the properties from within Design. Via the Internet Options which have been redesigned to support ADP properties.


Persistence of Tree state between modes: When changing mode (from question mode to screen mode for instance), the tree is kept in the same state (collapsed and selected items) which facilitates finding where one is when changing mode often. Further to this, the current screen will be selected when you move into screen mode, or stop debugging a script. Simple things that help speed up your work.

Script Keywords

New Question Object properties:

  • HasParentChapter- Check whether the question has a parent chapter. Returns a boolean.
  • ParentChapter- Will return a string containing name of the Parent chapter.
  • Errors- Errors property to store all errors. Returns an Array.

New Interview Object properties:

  • AgentID- Identifier of the interviewing Agent
  • AgentName- Name of the interviewing Agent
  • EndTime- Indicates the finished date/time of the current interview (eg. EndInterview).
  • StartTime- Indicates the started date/time of the current interview (eg. StartInterview).
  • CallID- Returns a Call ID of the current interview.
  • IsFace- Indicates if the current Interviewing mode is face (returns Boolean)
  • IsWeb- Indicates if the current Interviewing mode is web (returns Boolean)
  • IsVoice- Indicates if the current Interviewing mode is voice (returns Boolean)
  • IsTest- Indicates if the current Interviewing mode is in Test or brief (returns Boolean)
  • ListID- Returns the identifier of the respondent list (returns Number)
  • Language- Returns the current respondent language.
  • Scenario- Returns the current respondent scenario.

New Interview Object Methods:

  • Duration()- Return the time spent on a question or duration taken to get from one question to another.
  • GetFaceOS()- Returns the OS that the Face interview was conducted on.

New Language Object properties:

  • ID- returns the LCID of the language.
  • Abbr- returns the 3-letter abbreviation of the language.
  • Name- returns the name of the language.
  • DateFormat- returns the date format used for the language.
  • DecimalSeparator- returns the decimal separator used for the language
  • ThousandSeparator- returns the thousands separator used for the language.

Language Object Methods:

  • ToString()- return a string to represent the language object (JSON format).
  • TypeOf()- Always returns “language”.

In addition to these we also have a few new methods for string variables. These are:

  • Collate()- Compare 2 strings whilst taking accents and character case into account.
  • DLdistance()- Returns the number of spelling differences between two strings (in a clever way - an inversion of 2 characters will be understood as one spelling mitsake) using the Damerau-Levenshtein Distance

Functions: extending Askia Scripts

Rather than us adding functions whenever they are needed (which will still happen), we have decided to let users create their own functions. A function is a piece of code that you can call with different parameters and re-use. To read more, see our blog post - 


External Resources: Option to store resources independently to the qex file, and reference them via a URL.



Have more questions? Submit a request