AskiaExt 5.3
- Improved Load balancing, by adding the Interview parameter in the URL for 'POST', 'REDIRECT', 'GET'
- Improved Logs for 'CEnqueteInternet::GetResourceUrl'
- Fixed an 'XSS' vulnerability
- Increased 'mutex' timeout to reduce chances of multiple instances during recycling
- Release 'mutex' earlier to reduce the chance of multiple instance detection
- Fixed a possible crash when multiple instances are detected
- Fixed a possible crash when failing to establish a connection with the Interview database
- Added logging in case 'GetResourceUrl' fails
- Removed 'VLC detection' from 'detection.js' because it could trigger unintended consequences
- Fixed an issue where Panel imports weren't working for test interviews when using 'POST', 'REDIRECT', 'GET'
- Fixed an infinite loop which occurred when recycling the 'application pool' with Interviews in memory when using 'POST', 'REDIRECT', 'GET'
- Fixed an issue where the browser back button gave an error when 'POST', 'REDIRECT', 'GET' was disabled because browser caching was disabled
- Fixed an issue with 'LiveRoutings', 'GetChapters', 'GoTo' when using 'POST', 'REDIRECT', 'GET'
- Fixed an issue with Interview simulation when using 'POST', 'REDIRECT', 'GET'
- New: the 'Already completed' page is displayed when restarting a completed Interview using 'Action=EndInterview'
- Added test interview warnings, displayed on each screen using 'POST', 'REDIRECT', 'GET'
- Increased Panel data timeout to '10s'
- Fixed an issue where 'WEBPROD_ERROR' didn't work properly on internal Error page
- Fixed several issues with final pages when using 'POST', 'REDIRECT', 'GET'
- Fixed an issue where the 'Content type' for browser detection page wasn't set, which could cause problems on some servers
- Fixed a Locking issue with next 'DoPanel' &'DoExternalPanel' interviews
- Added additional checks for non-existing questions
- Added identification info for 'Avancer/AvancerEcran' functions
- Added 'POST', 'REDIRECT', 'GET' methods to prevent missing data triggered by browser Reload or Back button
- Improved Locking on Start Panel to prevent duplicates with simultaneous duplicate requests
- Removed check of 'Java' support from 'detection.js'
- Disabled missing data check for test Interviews
- Fixed an issue with missing 'PrepareEcran' on 'ACTION_STAY'
- Fixed a possible crash when an Interview is deleted during Interview locking
- Fixed a 'UTC' issue when an Interview is abandoned
- Fixed an issue where when creating a new Survey, it was loaded twice from database
- Improved Quota updates
- Improved Interview Locking
- Added option to log all requests
- Added option to always save Interviews in memory to disk or 'SQL'
- Implemented 'HMAX-SHA1' in 'AskiaScript'
- Disabled 'Set charset' routing
- Fixed 'UTC' issues with 'Start' and 'End' Interview time
- Added 'Browser.UserAgent'
- Fixed an issue with 'ADC 2'
- Fixed a possible crash when 'dat-file' contained 'Semi-open' responses for a deleted Question
- Added an error in case of infinite loop in 'CMasqueSaisie::TraduireStatic'
- Fixed a format error
- Fixed a possible error when syncing 'dat-files' on disk to 'SQL'
- Fixed an issue where 'AskiaScript' keyword 'Now' wasn't always working correctly
- Fixed the stack overflow guard for 'CMasqueSaisie::TraduireStatic'
- Fixed some 'UTC' issues
- Added version number to the Log file's initialization message
- Fix for possible data loss if SetIdentity is not received after a reload
- Load balancing issue: extra parameters are lost when restarting an interview triggers a change in servers on SetIdentity
- Make sure the interview is marked as 'not modified' after reading it from disk/sql
- Make sure the interview has the correct survey ID set
- Fixed an issue where 'FromStart' wasn't working when using 'POST', 'REDIRECT', 'GET'
- Added procedure import 'link parameters' again upon restarting 'panel interview' when using 'POST', 'REDIRECT', 'GET'
- Added a way to reload an 'ADC' if it hadn't been properly loaded (fix first interview)
- Fixed an issue where a Computer name of '15* characters' wasn't read correctly
- Added a way to reload an 'ADC' if it hadn't been properly loaded
- Improved 'ADC' extraction in cases where 'IIS' has the file in use
- Fixed an issue with 'Goto and mark as incomplete' routings
- Fixed an issue with 'Len' in 'AskiaScript'
- Fixed an issue where Panel data was not imported when using 'POST', 'REDIRECT', 'GET'
- Added validation to ensure the 'X-Forwarded-For' header is only used to override an 'IP address' if the 'LoadBalancer' header is present; and to only use the last address listed in the 'X-Forwarded-For' header
- Added an option to try to generate the same Survey 'key-16' value when restarting an interview using the original URL link, for 'POST', 'REDIRECT', 'GET'
- Fixed an issue when using back button for a 'StartSurvey' interview using 'POST', 'REDIRECT', 'GET'
- Fixed an issue where the 'Interview type' was incorrectly set when restarting a Panel interview using 'DoInterview/SetIdentity'
- Fixed an issue with 'HMAC-SHA1' when changing servers on 'SetIdentity'
- Fixed an issue where an Interview 'POST', 'REDIRECT', 'GET' couldn't be started when 'JavaScript' was disabled
- Added support for 'X-Forwarded-For' header to override the IP address
- Set 'Always save interview' 'ON' upon creation
- Fixed an issue when changing servers on 'SetIdentity' for existing interview
- Fixed an issue when using same 'Broker' &'BrokerPanelId' for multiple surveys
- Increased 'mutex' timeout to reduce chances of multiple instances during recycling
- Improved logging for 'SetInterviewStatus' errors
- Fixed issues when detecting multiple instances
- Fixed an issue with full logging when the 'application pool' was recycled
- Fixed an issue where simultaneous identical 'DoPanel' requests could create two new interviews
- Added a check for seed overflow (maximum '26^5')
- Added further error-handling to log unhandled exceptions
- Added support for changing servers between the first request and 'SetIdentity'
- Added Survey &Resource name(s) in error Log for 'GetResourceUrl'
- Added multiple attempts to extract file when reading 'ADC'
- Fixed a logging issue: the first line after a thread timeout of '1 min' was not always logged
- Fixed an issue with simulating interview(s) when using 'POST', 'REDIRECT', 'GET'
- Fixed a possible crash due to incorrect Interview locking
- Added further logging in case an interview can't be opened in 'CommitScreen'
- Increased the 'lock' timeout to '5s' when opening an Interview
- Improved 'SyncData' with:
- Extra filters:
- 'Broker=XXX'
- 'Seed=123' (for a single Interview)
- 'Seed=123-456' (for a range)
- Added 'SQLToDisk' and 'DiskToSQL' options to 'Direction' as alternative to 'FromSQL' and 'ToSQL' respectively
- 'Sync QEX' now only happens when no filter is active, or when explicitely asked by using 'Qex=Yes/True/1'
- Fixed an issue where Count failed files was incorrect when using 'DiskToSQL' 'Direction'
- Extra filters:
- Removed an 'XSS' vulnerability
- Improved Load balancing, by adding the Interview parameter in the URL for 'POST', 'REDIRECT', 'GET'
- Improved Logs for 'CEnqueteInternet::GetResourceUrl'
- Release 'mutex' earlier to reduce the chance of multiple instance detection
- Fixed a possible crash when multiple instances are detected
- Fixed a possible crash when failing to establish a connection with the Interview database
- Fixed an issue with 'LiveRoutings', 'GetChapters', 'GoTo' after timeout when using 'POST', 'REDIRECT', 'GET'
- Removed 'VLC detection' from 'detection.js' because it could trigger unintended consequences
- Fixed an issue where Panel imports weren't working for test interviews when using 'POST', 'REDIRECT', 'GET'
- Fixed an infinite loop which occurred when recycling the 'application pool' with Interviews in memory when using 'POST', 'REDIRECT', 'GET'
- Fixed an issue where the browser back button gave an error when 'POST', 'REDIRECT', 'GET' was disabled because browser caching was disabled
- Fixed an issue with 'LiveRoutings', 'GetChapters', 'GoTo' when using 'POST', 'REDIRECT', 'GET'
- Fixed an issue with Interview simulation when using 'POST', 'REDIRECT', 'GET'
- Added test interview warnings, displayed on each screen using 'POST', 'REDIRECT', 'GET'
- Increased Panel data timeout to '10s'
- New: the 'Already completed' page is displayed when restarting a completed Interview using 'Action=EndInterview'
- Fixed a Locking issue with next 'DoPanel' &'DoExternalPanel' interviews
- Fixed an issue where 'WEBPROD_ERROR' didn't work properly on internal Error page
- Fixed several issues with final pages when using 'POST', 'REDIRECT', 'GET'
- Fixed an issue where the 'Content type' for browser detection page wasn't set, which could cause problems on some servers
- Added 'POST', 'REDIRECT', 'GET' methods to prevent missing data triggered by browser Reload or Back button
- Added identification info for 'Avancer/AvancerEcran' functions
- Disabled missing data check for test Interviews
- Fixed an issue with Resources warnings for temporary web surveys
- Fixed an issue where when creating a new Survey, it was loaded twice from database
- Fixed issues with Final page
- Fixed an issue where 'Error while reading file: file size is 0' was displayed when adding a Survey
- Fixed an issue with 'Currentlanguage' after timeout for Interviews in memory
- Further Locking improvements for Interview timeout checking during Survey updates
- Improved Interview Locking
- Improved Locking for Interview timeout checking
- Added additional checks for non-existing questions
- Removed check of 'Java' support from 'detection.js'
- Fixed an issue with missing 'PrepareEcran' on 'ACTION_STAY'
- Fixed a possible crash when an Interview is deleted during Interview locking
- Improved Quota updates
- Improved Interview Locking
- Added option to log all requests
- Added option to always save Interviews in memory to disk or 'SQL'
- Added a workaround for 'WebInterviews'
- Implemented 'HMAX-SHA1' in 'AskiaScript'
- Disabled 'Set charset' routing
- Added an error in case of infinite loop in 'CMasqueSaisie::TraduireStatic'
- Fixed a format error
- Added a check to prevent users from exporting to another platform to run verifications
- Improved Resources loading; prevents superfluous 'ADC' errors
- Fixed some 'Unicode' issues
- Fixed 'Unicode' problems with 'ODBC' imports
- Fixed 'Unicode' problems with 'Send email'
- Fixed 'Unicode' problems with 'Semi-opens'
- Added a check to prevent overwriting newer interview via 'modify interview'
- Fixed several issues with 'ADC'
- Fixed an issue where '\\' was not working in 'AskiaScript'
- Fixed several issues for 'ADC 2.0'
- New: Auto-updater for 'AskiaExt' ('Webprod', aka. 'askiaweb')
- Added a check to prevent overwriting newer interview via 'modify interview'
- Fixed an issue with next Screen for non-existing question(s)
- Fixed an issue with 'Routings' for non-existing question(s)
- Fixed an issue where the message indicating that The minimum response is incorrect for multiple question(s) was missing from the English 'Resources'
- Fixed an 'XSS' vulnerability
- Added support to access an unlocked Interview after a Lock timeout
- Fixed an issue where Reset interview wasn't working
- Fixed an issue where Lock timeouts reported incorrect timeout values; 'XXX seconds' instead of 'XXX milliseconds'
- Fixed an issue where a 'CCA' socket could be corrupted when receiving an Interview update (via modify interview) for a non-existing Survey.
- Fixed an issue on 'IsLastIteration' &'CurrentIteration' properties; which could trigger problems for 'ResponseBlocks' on filtered Loops
- Fixed a possible data loss on Loops when going Back and changing answers, when using 'SQL Server' data
- Fixed the 'AskiaScript' keyword 'ForSum' which was broken
- Fixed an issue where Routings were run too much and could lead to 'InterviewId' keyword not working
- Added support for ResponseBlock &'max items'
- Fixed a possible error while reconnecting to an already terminated Survey, caused by ResponseBlock issue
- Fixed an issue with Link(s) remaining for an empty Loop
- Fixed an error when 'AskiaScript' keyword 'For' was used on its own
- Fixed an issue with 'ResponseBlocks' when used over multiple screens
- Fixed a bug with 'AskiaScript' keyword 'orderOf'
> Released with 'AskiaField v5.3.2.0'
- Added support to access an unlocked Interview after a Lock timeout
- Fixed an issue where Lock timeouts reported incorrect timeout values; 'XXX seconds' instead of 'XXX milliseconds'
- Fixed an issue with 'LabelsAsXML' for hidden codes
- Fixed an issue with 'Do not ask' routing referencing a deleted question
- Fixed an issue where multiple simultaneous Panel requests using the same 'Panel ID' could block 'AskiaExt' for '5 seconds'
- Improved connection stability
- Added an extra check to make sure 'websocket' is connected to 'CCA'
- Fixed an issue where the Interview database could be accessed from multiple threads at the same time in '64-bit'
- Fixed an issue with 'ResponseBlocks' in Loop of Loop using max number of items (#4991)
- Fixed a conditional compilation problem for 'AskiaAPI'
- Fixed an issue where Screen out page was still shown after clicking the original Panel link
- Added 'AskiaScript' keyword 'CurrentItemOrder', to fix a an issue with certain Flash controls
- Improved Logging for 'CCA' socket errors
- Fixed an issue with 'JavaScript v1.2.0', where 'onchange' event was not triggered when using a Flash object
- Fixed an issue where 'Reset interview' wasn't working
- Added ability to ignore 'Survey' parameter and use another parameter if 'Survey' is invalid
- Fixed an issue where Flash was not working properly in 'Loops with preliminary selection' due to a bug in 'ImagesAsXML' and 'ResourcesAsXML'
- Fixed an issue where 'Timed-out' Interviews were sent to 'CCA' with an incorrect status
- Added the action 'SaveInterviews', which saves all current Interviews in memory to disk or 'SQL'
- Note: If you provide the optional 'SurveyName' parameter, only the Interviews of the specified survey will be saved
- Fixed an issue where 'Only Ask If' routing action would not work in certain cases
- Fixed a possible crash when using 'Semi-opens' and Interviews in memory
- Improved stability for 'application pool' recycling
- Fixed an issue with 'FromStart' option
- Fixed an issue where Navigation bar &Live routings were not working for 'StartSurvey' Interviews
- Fixed an issue where Navigation bar &Live routings were not working for 'DoPanel' and 'DoExternalPanel' Interviews
- Fixed an crash when using Navigation bar
- Fixed an issue with 'Unicode' characters and Flash when using the 'AskiaScript' keyword '??LabelsAsXML??'
- Fixed an issue where certain 'Unicode' characters were handled incorrectly (IE hack)
- Fixed an issue where 'ADC' control(s) were not always immediately working when setting 'online' from 'CCA' or 'Supervisor'; a full Survey reload was required)
- Fixed an issue where certain 'Unicode' characters were incorrectly handled
- Fixed a possible crash when saving Interview
- Fixed a possible crash when executing a 'Go to' routing and an intermediate question had been deleted.
- Fixed the 'Generate font in html' option for 'ResponseBlocks'
- Fixed a problem with 'ODBC' import routing
- New: '64-bit' version is now available
- Allow multiple updates of a Question definition within a single command.
- Updated 'XZip/XUnzip' to latest version; this may fix a rare crash
- Fixed an issue where 'Date' import was incorrect because of Language settings
- Fixed a problem with parameter imported data loss when using 'ContinueInterview'
- Fixed an issue where 'DoExternalPanel' link was invalid; Reloading &Bookmark wouldn't work properly because of this
- Fixed issues with Date parsing when using certain Language settings
- Fixed issues with Decimals parsing when using certain Language settings
- Fixed an issue where reading an Interview failed when 'Keep Interviews in memory' was disabled
- Fixed a rare crash triggered by multiple requests for the same Interview
- Fixed an issue where a Reload on 'Out-of-quota' page would skip the 'Quota Question'; the fix included in '5.2.4.1' would not work if 'Store quotas in interview' was disabled
- Fixed an issue with accents in JavaScript
- Fixed an issue where a Reload on 'Out-of-quota' page would skip the 'Quota Question'
- New: the 'AskiaExt' URL link remains valid throughout an Interview; which means the URL link can be copied or bookmarked, and reloading the page will have no impact
- Fixed an issue with ResPath in the Error page and Off-line page (#1180)
- Fixed a potential 'XSS' vulnerability; Error messages' HTML are now escaped.
- Fixed a possible crash if Locking an Interview failed
- Fixed an issue where a Reload on 'Out-of-quota' page would skip the 'Quota Question'; the fix included in '5.2.3.14' would not work if 'Store quotas in interview' was disabled
- Fixed an issue with accents in JavaScript
- Fixed an issue where a Reload on 'Out-of-quota' page would skip the 'Quota Question'
- Fixed a bug on Reload page
- Improved recovery in case of database issues
- Fixed possible problems when sending timed-out interviews to 'CCA'
- Fixed an issue where connection to Interviews database could be used by multiple threads simultaneously under high load
- Fixed an issue where saving 'Internet options' on 'webprod.asp' removed all '<' and '>' (bug introduced in 'v5.2.3.8')
- Fixed an issue where Interviews currently in memory could be corrupted when updating a Survey via 'CCA' or 'Supervisor'
- Fixed an infinite loop when processing certain 'HTML' ('td' tag with a space after the 'style' argument)
- Fixed an issue where '<' and '>' were not removed from link parameters
- Fixed an 'XSS' vulnerability with link parameters; '<', '>', '<', '>', '%60' and '%62' are now removed from the link
- Fixed an issue where 'Unicode' characters, like '€' or '£' were not displayed properly in a blocking message(s)
- Fixed a 'SQL injection' vulnerability
- Fixed an issue with 'XML' field option
- Fixed an 'XSS' vulnerability; Error messages are now 'HTML'-escaped
- Fixed a possible crash when the 'Broker ID' or 'Broker Panel ID' contained a '%' character
- Fixed a problem with test Interview warning in 'IE7' and older
- Fixed an issue where 'Combo box' value(s) could be lost after an error on the page
- Fixed an issue where 'Exclusive responses' of a 'Multiple Question' could lose values if there was an error on the page
- Added support 'ADC'
- Fixed problems with test Interviews on 'IE7' and older
- Added a warning message when starting 'test Interview'
- Fixed an issue where 'Combo box' value(s) could be lost after an error on the page
- Fixed an issue where mandatory 'Numeric Questions' could be skipped by using the browser's 'Back' button
- Fixed an issue with the Routing order
- Fixed an issue where test Interviews were not working
- Added extra logging for Locking failures
- Fixed a crash when using a Survey with no 'Revision history'
- Fixed a crash for 'Quota is full' when starting an Interview
- Fixed an issue where Interviews in memory were not always deleted
- Fixed an issue where Interviews completed while the connection to the 'CCA' was down appeared as incomplete on the 'CCA'
- Fixed an issue where the 'Out of quota' page was incorrectly sent, causing some browsers to behave strangely
- Fixed an issue where test Surveys with 'DoPanel' were failing
- Corrected file version info
- Fixed an issue with test Interviews on disk
- Fixed an issue where 'DoPanel''s new keyword '&FromStart=1' allowed to go back to the first screen without erasing answers
- Fixed an issue where the 'Entry duration per Question' was incorrectly saved
- Fixed a possible crash
- Fixed a possible 'AskiaExt' crash when retrieving Panel data
- Fixed an issue where 'Dat' files on disk were not always sent to 'CCA'
- Fixed an issue in 'AskiaScript' where Time fraction was lost when subtracting two Dates
- Fixed a possible crash when saving a Survey
- Fixed an issue where 'EndInterview time' was not saved for completed web Interviews
- New: incomplete Interviews are sent to 'CCA' if the 'Keep uncompleted' option is 'ON' for the Survey
- Fixed an issue where interviews in memory for a Survey were lost when removing the Survey from 'webprod'
- Fixed an issue where an incorrect number of successfully synchronized files was shown when manually launching 'Synchronize from SQL to disk'
- Fixed an issue where Saving an interview continued after a time-out fail
- Fixed a memory leak which occured when checking Interview timeouts
- Fixed an issue where there was no delay before the next re-connection attempt, when the connection to the 'CCA' had failed
- Improved synchronization options:
- Filter by 'Last modified' date
- Filter by completed status
- Optionally synchronize '.QEX'
- Report sync result if no 'ErrorPage'
- 'Disk->SQL' : 'LastActivity' field is set by the 'Last modified' time of the '.dat' file
- 'SQL->Disk' : 'Last modified' time of file is restored from 'LastActivity' field
- Fixed a memory leak which occured when checking Interview timeouts
- Fixed an issue where Saving an interview continued after a time-out fail
- Fixed an error which occurred while writing an Interview to 'SQL server'; the error message was incorrect
- Fixed an issue where Interviews in memory weren't written to the 'disk/SQL' after the configured timeout value, but lingered in memory infinitely; if you did an IIS Reset the Interviews would be written to 'disk/SQL'; if the web server quit unexpectedly, incomplete Interviews would be lost
- Fixed an issue for 'Windows Vista' &'Windows Server 2008', where creating the Interview table could fail
- Fixed a possible crash when processing Panel interview
- New: when connection with 'CCA' is made, or restored, all Resources will be checked (and updated if necessary)
- Added logging if Locking fails while 'opening', 'saving' or 'deleting' an interview in memory
- Improved Locking while checking Interviews in memory for timeout; this prevents 'AskiaExt' from locking up while it is saving an interview which has timed out
- Fixed an issue where a separate connection to the Interview database was used for every thread, otherwise conflicts could occur
- Fixed several issues when updating a Survey from 'webprod ASP':
- it was impossible to select a '.QEX' with a different name than its internal name
- sometimes an error page was shown instead of the update result, caused by an incorrectly generated warning file
- Fixed an issue where 'At most one record can be returned by this subquery' could be displayed when setting a Survey 'on/offline'
- Fixed an issue where test Interviews were sometimes deleted too early; a test Interview should only be deleted after at least '1 hour' of inactivity, previously it could be deleted after '1 min'
- Fixed a memory leak in 'StartSurvey'
- Fixed an issue where a database error 'syntax error near ')'' appeared in the logfile when adding or updating a Survey
- Fixed an issue where Resources were not always updated
- Fixed an issue where adding a Survey from 'CCA' failed in some circumstances
- Fixed an issue where synchronizing a large number of 'dat-files' from 'SQL' to disk caused an 'out-of-memory' error on the 'IIS' server
- Fixed an issue when storing 'dat-files' in 'SQL', the database creation would always fail
- New: if an error occurs while executing a 'SQL query' routing, it will be logged in the 'AskiaExtErrorLog'
- Fixed an issue with the 'AskiaScript' keyword 'mode' which was not working correctly
- Fixed an issue with creating Interview databases when the Survey name contained special characters
- Fixed a memory leak in 'StartSurvey'
- Added a check to always create an 'AskiaWeb' directory (including for 'dat-files' in 'SQL'), to ensure the fall-back procedure works
- Fixed an issue when if saving/opening a masque to/from the database fails, it will fall back to disk. Note: if we have to fall back to disk, large delays occur because it tries to reconnect the database every time (with a timeout of 5 seconds); also, when using a web farm, the 'AskiaWeb' directory has to be reachable by all WebServers
- Fixed an issue to check &reconnect database connections when storing 'dat-files' in 'SQL'
- Fixed an issue with creating Interview databases when the Survey name contained special characters
- Fixed some issues with Resources, mainly: if the 'live path' was left empty, 'ResPath' should expand to '<WebprodResourcesPath>/<SurveyExternalName>/', instead it expanded to '<WebprodResourcesPath>//'
- New special characters are allowed in external/internal names: , ! ; { } [ ] ( ) - @ * $ £ µ ~ |
- Note: the remaining invalid characters are: space # ' " & \\ / : = * * % ? < >
- Added 'ReadMail' action; this action will be added to email(s) sent by 'CCA' to enable read mail detection
- Added survey synchronization when connecting with 'CCA'
- Added support for Resources in surveys:
- Resources will be placed in a subdirectory of the path defined in the 'WebProd' configuration (eg. 'path_defined_in_webprod\survey_external_name'); when updating a Survey in 'CCA', these resources will only be sent when necessary
- If the 'Resource live path' is empty, the standard default 'Resource' path will be used as 'ResPath'
- Currently only images are directly supported, though without support for 'stretch' and 'dynamic path' settings; the most flexible way is to use the 'ResPath' variable
- Improved Body arguments which are now dynamic (ie. they can contain Questions)
- Fixed an issue to prevent duplicate interviews on 'CCA' in cases where the respondent refreshed the browser page when waiting for the Survey's final page
- Fixed an issue where, when adding a new survey using 'CCA' or 'Supervisor', deleted Surveys were still included in the check to see if the Survey already existed
- Fixed an issue to prevent duplicate interviews on 'CCA' in cases where the respondent refreshed the browser page when waiting for the Survey's final page
- Fixed an 'XSS' vulnerability by now encoding Survey names when loading them
- New: 'AskiaExt' will now attempt to check &fix the 'HTML' code of final pages
- Note: when saving the Survey properties in 'WebProd', the final pages will be automatically upgraded to the fixed version.
- New: you can now keep Interviews in memory while they are in progress, which has several benefits:
- We prevent constant 'serialization/de-serialization' to &from 'disk/SQL'
- Some routings are executed on every 'Next' click when the interviews are written to disk, whilst now when keeping the Interview in memory the routing is only executed once
- Further data-loss preventions have been implemented:
- After a (configurable) timeout, the Interview will automatically be written to 'disk/SQL', which prevents hogging the memory with abandoned interviews
- Upon tiggering an 'IIS reset', all Interviews currently in memory are immediately written to disk
- Depending on the Survey and response rate, performance gains range between '*200%' and '*2000%'; server replies are '3x' to '20x' faster; the disk load is also significantly lower
- Note: when an Interview is complete, it will be written to 'disk/SQL' as usual
- Note: this configuration is not possible when allowing several 'AskiaExt' instances on a single server (eg. Windows 2003's 'multiple worker processes' setting), an alarm will be issued by 'CCA' if this situation occurs
- New: '.QEX' Survey files can now be saved in 'WebProd' database (both 'MS Access' &'MS SQL Server')
- Added the ability to test any Survey by adding '&Test=true' to the link; the Survey will work normally, but Interviews won't be sent to 'CCA', and will be deleted upon complete or after a timeout of '1 hour'
- Added support for 'Key16' for external email brokers; use the keyword 'DoExternalPanel', with the parameters 'Broker' &'BrokerPanelId', and the Panel member will be able to resume any Survey from where s/he left it last time (check the ''Possible survey links page' for further details)
- Improved 'CcaSocket', which now uses the new general base class
- Fixed an issue where some final pages generated problems for 'Firefox' users (eg. missing 'content type')
- Fixed an 'HTML' issue, by adding the 'type="text/javascript"' attribute for '<script>' tags (as required by 'HTML' standard)
- Fixed an issue when using a 'SQL' 'WebProd' database, most of the 'WebProd ASP' pages weren't functioning correctly, however, running Interviews and deployment through 'CCA' or 'Supervisor' worked perfectly
- Fixed an issue where IIS could automatically unload 'AskiaExt' after a period of inactivity; this fix will prevent the loss of the connection with 'CCA'
- Fixed an issue where starting a Panel Survey when there was no connection triggered an error
- Fixed an issue with cookies: when 'using cookies' was enabled, and a respondent completed an Interview, if they accessed the Survey again it would start a new Interview instead of serving the 'Already completed' page
- Fixed an issue where the 'state' (and 'number of updates') were incorrect when updating a Survey from 'CCA' or 'Supervisor'
- Fixed an issue to prevent duplicate interviews on 'CCA' in cases where the respondent refreshed the browser page when waiting for the Survey's final page
- Fixed an 'XSS' vulnerability by now encoding Survey names when loading them
- Fixed an issue where 'Ordered questions' only worked with 'check box with Javascript' (it always worked for 'ResponseBlocks')
- Fixed issue when using a 'StartSurvey' link (eg. without 'DoPanel') yielded no completed interviews
- Added a new 'AskiaScript' keyword 'IsUKPostcode'
- Fixed an issue with Ranked Questions
> Released with 'AskiaField v5.1.4.0'
- Fixed an issue with automatic Quotas when Quotas were triggered by a Question which is not visible
> Release with AskiaSuite
- Improved 'style' attribute management
- Improved the generation of 'ResponseBlocks' so that 'col width' can be set in '%'
> Released with 'AskiaField' '5.1.3.0 ? <<< CHECK'
- Fixed an issue where 'semi-opens' in list controls could crash
- Fixed an issue where '??' would not work if more than '32,000' responses existed
- Fixed an issue with 'ResponseBlocks' where exclusive responses were only working on the first row
- Added a new 'AskiaScript' keyword 'Shuffle'
- Added support support for Italian conjoint
- Added support for '?? ??' on 'Already completed' pages
- Fixed an issue with Quotas based on imported data created by routing and manual quotas
- Fixed an issue with 'Go back' routing
- Added support for more than '32,768 positions' in a masque
- Added support for more than '32,768 positions' in a masque
- Fixed an issue where 'JavaScript' was systematically executed if version '< 5.1'
- Fixed an issue where 'IsQuotaFullFor' did not work on Questions being set by a routing
- Fixed a backwards compatibility issue where Internet errors were not shown if version '< 5.1'
- Fixed an issue with 'ResponseBlocks' when number of columns was '> 1'
- Fixed an issue where the buttons were placed at the top of the screen if the version was '< 5.1'
- Fixed an issue where some routings were skipped if version '< 5.1'
- Fixed an issue with 'Screen group', which didn't work with all browsers &all resolutions
- Fixed an issue with the 'JavaScript' path when it ended with a trailing '/'