Before updating users hosting their Survey Solutions server in a Docker container need to familiarize themselves with the instructions below regarding important configuration changes.
The new features in this release include the following:
- critical rules and questions, action at submission.
- list of unanswered questions at completion screen.
- higher precision integer numbers.
- roster limits have been revised.
The following bugs were fixed:
- Export of data via API with selection by modification date/time treated it inconsistently with the user interface under some conditions.
- Tester App not allowing to answer geography-type questions (on some devices).
- Interviewer App crashing when
Show All
button is pressed while answering a geography-type question. - Map preview in headquarters was not showing up under some configurations.
- Respondents are now not allowed to access web interviews if the responsible for the interview is not in the role of interviewer (which was possible in earlier versions).
- It was not possible to leave comments in web-interviews to preloaded identifying questions, while it was possible in the same interviews conducted in the Interviewer App on a mobile device (now fixed to be possible in both platforms: online and in App).
- Comments of interviewers left for identifying questions were not visible to the supervisory staff (now visible).
And also the following issues were fixed (both issues were realistic to encounter only during massive operations, like population censuses, which involved millions of interviews):
- Having a large number of events (more than approx 2.1bln) causes the server to stop receiving the interviews (all newly received interviews end up in broken packages, but recoverable from there).
- Export doesn’t work for surveys with more than 2.1bln events in the event stream.
Other important changes:
- Online maps in the Tester App are no longer available.
- Use of online maps with the Android Apps (Interviewer App and Supervisor App) requires the administrator to enter a usage key in workspace settings. See details at the following page: Online maps key
Please note that after the data server is updated, there will be a migration of the data, which may take considerable time (depending on the amount of data you have, performance of the server, and other factors). After the update is installed:
- access the login page,
- wait for the migration to complete,
- then log in as administrator, and
- verify the status in the health check page.
The list of unanswered questions at completion screen
The completion screen has been revised to include optional foldable lists of interview issues. The four groups of issues on this screen are:
- unanswered questions,
- questions with errors,
- critical unanswered questions, and
- failed critical rules.
Each group may list up to 30
questions or issues and each group is foldable
(the group will show 30+
if there are more than 30).
The list of the unanswered questions was frequently asked by several users in the Survey Solutions users’ forum.
If there are no issues with the interview, the INTERVIEW ISSUES
block will not
appear on this page.
The total number of answered questions is no longer shown as a separate counter, but is apparent from the progress bar.
Higher precision integer numbers
For users collecting large values the precision offered by the integer question (approx. 10 digits) may not have been sufficient in the past. This has been improved with this version the users can take advantage of the double-precision storage type (64-bit floating point numbers restricted to have no decimals by the imposed formatting constraint) to accommodate a few extra digits. To achieve this, do the following:
- uncheck the
Integer
attribute of the numeric question, and subsequently - set
Number of decimal places
attribute to 0 (zero).
This change must be done for every question in the questionnaire where more digits are desired.
Roster limits revised
Survey Solutions earlier had two sets of limits controlling how much the rosters
could grow: 60
and 200
, depending on whether the roster included another
(nested) roster and the number of elements (questions, variables, etc) in the
roster.
In the new version the value 200
replaces the older limit of 60
where it was
limiting the growth of the roster. This should make the rosters functionality
more predictable during design time and simplify planning.
A single roster may now contain more than 10,000
elements, but other limits,
such as the total number of elements (currently 80,000
) continue to apply
and limit the rosters’ growth.
Users are advised to take caution when planning ’explosive’ data structures, which multiply the questions and consider the total time for the interview and acceptable respondent’s burden as important limiting factors.
Users are advised to consult the Survey Solutions Limits page often for verifying applicable limits during questionnaire design and planning of the data collection operation.
Hosting Survey Solutions in a Docker container
Important note about updating for users running their Survey Solutions server in a Docker container: before updating to the new version, configuration of the container needs to be changed!
Read the following documentation first, to understand what has changed: https://learn.microsoft.com/en-us/dotnet/core/compatibility/containers/8.0/aspnet-port
Your environment and settings may be different from the example below, so it is important that you understand what has changed and how to address this in your environment before starting the update, or you’ll risk disabling your Survey Solutions server.
Example:
Docker container was run with Survey Solutions listening to port 80
in the
container and that was mapped to port 80
in the host system, (in the Docker
desktop you could see "80:80"
next to the Headquarters container). If you
just update the Survey Solutions container, it will no longer respond to the
queries. Correspondingly, we need to:
- Stop the Docker environment
- Update the
docker-compose.yml
file adding a new parameter:
ASPNETCORE_URLS: http://+:80
- Rebuild the Docker container by running run.bat or directly issuing a command:
docker-compose up -d
- The Docker container will be started automatically.
Your ports configuration may be different from this example. The change affects
the default port in the configuration (which changed from 80
to 8080
).
Correspondingly the port on which the service is run inside the container is to
be mentioned in the ASPNETCORE_URLS
setting.