The software update for version 2.5.00 offers the newest improvements to SoSci Survey. These improvements include the addition of new features, such as the question type "image scale", with which questionnaires can be made more aesthetically appealing. All of the survey’s new functions work without JavaScript, as well as in old browsers or with a screen reader.

Additional innovations include the optimization of processes and details so that existing functions can be used more efficiently. Numerous www.soscisurvey.de users previously identified situations in which the existing functions did not work as expected; these bugs have been remediated by the update.

New Features

  • E-mails can now be sent server-wide via SMTP instead of exclusively via the PHP internal mail()-function.
  • The content of text modules can now be formatted in a variety of ways. For example, texts can optionally be entered as plain text (without HTML formatting).
  • The new question type "image scale" allows the user the freedom to graphically design the survey’s scales.
  • The new question type “Upload File” allows interview participants to submit files (such as an image or a PDF) from a local computer as a part of their response to the evaluation.
  • In visible selection questions and drop-down selection questions, residual options (for example, "do not know") can be specified that are visually separated from the rest of the question.
  • A new layout, "Stimulus Presenter", combined with an option ('layout') allows stimuli to be presented without the questionnaire’s regular layout.
  • The “Slide Bar” question type now allows for the use of the entire width of the questionnaire for wide slide control.
  • The new PHP function loopPage () allows the user to display a page with a consecutive value several times.
  • To simplify complex rotations, setPageOrder () can now be used to change the order in which pages or areas of pages are presented in the questionnaire.

Changed Program Functions

  • Changes to the HTML IDs of any residual options can be made by choosing the horizontal selection.
  • The JavaScript package oFbGeneral has been replaced by SoSciTools, as a result, the new library is automatically available on the questionnaire’s pages.
  • The value range ofis now set to 1..101 instead of 1..100.
  • When uploading documents (PDF and HTML), 5 MB are now allowed by default (an increase from the previous1 MB).
  • When creating a new questionnaire, the pages are now displayed first. The settings previously appeared first.
  • If no "text before the first stimulus" is specified in an assignment task, the question now begins directly with the first stimulus.
  • If in the meantime a minimum of 1 hour has elapsed, the question "E-mail to personal contact" now allows for a new message to be sent to the same e-mail address.
  • The following new functions have been released for use in PHP code: base64_encode (), json_encode (), json_decode () - the latter, however, is filtered so that only arrays are returned, not objects.
  • The function statistic () only allows the array for count and percent to count multiple values, no more comma-separated lists (1,2,3).
  • The use of the set () and get () functions is now discouraged in favor of replace () and registerVariable ().
  • If the questionnaire allows the selection fields to be deselected, the drop-down selection questions will always allow the user to select [Please select desired option] regardless of the selected value.

Small utilities

  • Question types
  • Dropdown selection questions now support the display of open input fields ("Miscellaneous: ...").
  • Subheads are also now displayed in drop-down boxes.
  • For drop-down selection questions, the text to be selected (default option) can now be customized for individual questions.
  • In the horizontal selection, open input fields (miscellaneous: ___) can now be used.
  • The width of a horizontal selection can now be specified more easily and intuitively than before.
  • A new Kunin scale template with colored highlighting for several items is now available.
  • The additional input field for a selection/multiple selection can also now be deactivated in the item/options quick entry field.
  • The zoom selection can now also display a frame around image options.
  • For new questions that are "open text input" in type, an input field (item) will be automatically created.
  • The text input with recommended selections now supports multiple input/selection fields with the same options in one question.
  • The fully labeled scale now supports multiple residual options ("do not know", "I do not want to answer")
  • For questions of the type "scale (labeled extreme values)", several residual options can now be activated.
  • The question type "scale (labeled extreme values)" now supports two additional display modes facilitating the use of the total width of the questionnaire for the input fields.
  • Scales with only the extreme values labeled now use a (as well as fully labeled scales) in the accessible view.
  • For wide graphical anchors (bars), a lower, more visually appealing height is used when presenting new questions.
  • The graphical anchoring in scales now offers anti-aliasing, even without a compiled GD2 library, through the browser’s scaling function.
  • The polarity profile now allows for symmetric numerical anchoring (2-1-0-1-2).
  • With the scroll bar, the labels can now be placed next to the extreme values (instead of above them).
  • Adding the characteristic of having labels that are placed on both sides of the scroll bar now functions properly even when a "do not know" position is selected.
  • The scroll bar can now simply display the current value in the question by selecting this option (this was previously only possible via additional JavaScript).
  • The Question-ranking setting now allows the user to use a mode where are with one click.
  • The question type "E-mail to personal contact" now requires a mandatory answer.
  • Several questions of the type "Collect contact data separately" can now be used in a survey project while the option for the assignment to a subgroup has been removed.
  • The question type "E-mail to personal contact" now documents the number of e-mails that have been sent.
  • With the opt-in question an optional reply can now be activated.
  • The opt-in question setting can forward the participant directly to a questionnaire after their e-mail address has been confirmed. This setting can additionally record the participation as with a regular e-mail.
  • In addition to including e-mail address, the opt-in question can also specify mobile phone numbers.
  • The assignment task now prevents "flickering" when a page is loading, even though the loading of a page can still be slowed down, for example, by pictures.
  • In the zoom selection, the picture file names are now also displayed in the . Should an image be entered into the text box, this will now also be displayed as a picture.
  • Questionnaire
  • The creator of the survey has the option to include cookies in the interview. Incorporating cookies allows for the continuation of the link to the questionnaire without selecting the interview ID.
  • If a questionnaire has not yet been created in a survey project, this can be done automatically by selecting the option "Compile questionnaire".
  • When composing the questionnaire, more space is now available for HTML and PHP code.
  • In the pretest, the questionnaire’s ID is displayed at the top.
  • In the questionnaire’s preview/print preview, it is now possible to conceal the PHP code used to create the survey.
  • The names of the GET variables that are used when selecting the questionnaire (q) or a language version (l), transmission of a reference (r) or a serial number (s) can now be adjusted in the project settings.
  • In order to prevent a general continuation, the value 101% is now accepted as a limit for the continuation of an interview (this can be modified in the questionnaire settings).
  • When composing the questionnaire, moving between pages has become more intuitive.
  • If PHP code displays a case-sensitive warning, the correct way of mitigating the issue is now presented.
  • It is now possible for placeholders to be used when a survey participants stops the questionnaire before its completion.
  • The progress bar now changes even if the pages are repeated using loopPage ().
  • The progress bar no longer "jumps" when using goToPage ().
  • With the SoSciTools.disableInputs () JavaScript function, all of the input fields on a questionnaire’s page can be deactivated.
  • The JavaScript function SoSciTools.disableInputs2 () replaces input elements with images to easily create a print view.
  • PHP Code Functions
  • A new replace () function replaces set () and can directly retrieve and replace responses from the survey participant.
  • Different layouts can be used for individual pages. These can be selected under the option ('layout', '...').
  • The direction of a scale can now be adjusted dynamically by selecting the option "direction = up/down" under the question() command.
  • The order in which a question appears can now be adjusted using PHP code and including the parameter "composition".
  • The function random_items () now also supports item ranges, e.g. "1-5,7,8".
  • The text for each question can now be retrieved with the function getItemtext ().
  • The function getItems () can now also determine which of a question’s items were answered ("answered") or not ("missing").
  • The combination of the new PHP function markFail () with the function repeatPage () allows the survey’s creator to mark individual items or questions as "answer missing".
  • The PHP function urnStatus () provides information about an urn.
  • The PHP function convertDateTime () can convert times and timestamps.
  • A new PHP function sendPOST () allows the transmission of data to external URLs via POST request.
  • With the new delay () function, artificial waiting times of up to 10 seconds can be inserted between the questionnaire’s pages.
  • The content of a text module can be queried with the new PHP function getTextElement ().
  • The new mailSchedule () function makes it possible to prepare the mailing for a regular mailing to a single recipient directly in the questionnaire.
  • The mailRevoke () function can be used to delete scheduled e-mails that have been prepared using mailResume () or mailSchedule ().
  • Diagrams generated using diagram () or diagram2 () now also provide anti-aliasing without a compiled GD2 library and use a more aesthetically pleasing font.
  • The function statistic () can now also count strings for 'count' and 'percent'. Previously, only numbers were allowed.
  • The statistic () function now also determines the minimum and maximum of the stored values.
  • The function statistic () counts test data only if the current interview is in test mode (pretest, or questionnaire development).
  • The functions valueSum (), valueMean (), valueVar () and valueSD () now support a second argument for a question’s item IDs.
  • Variables and data
  • When "view data" is selected, the value labels are displayed and the variable’s response status is highlighted in color in Tooltip.
  • When downloading data, the internal order of the variables can now be selected; This will not change if new variables are added.
  • When preparing open mentions, it is now possible to determine how the individual lines should be separated into individual mentions.
  • Layout
  • A new standard layout called "Squares" is now available.
  • The distance between items or options can be defined more easily when designing your questionnaire’s layout.
  • When selecting a layout option for the selection fields of single/multiple selections, are now also available.
  • Serial e-mails and serial numbers
  • When preparing to send a serial e-mail, it is now possible to view all of the selected recipients before sending an e-mail.
  • When entering addresses for serial e-mails, you can simply enter one name can be into the "To" address field if the full name is known; optionally, an incomplete name can also be entered.
  • When sending serial e-mails, the desired language for an interview can now be set if the questionnaire allows a language selection.
  • When sending serial e-mails, a SMTP server can now be specified in the project settings.
  • User accounts with the new "Change Server Notes" permission can disable the privacy notice in a mailing list.
  • In the address list for serial e-mails 5 user-defined fields can now be used (only 3 fields were previously possible).
  • The serial number management has been completely redesigned.
  • Participation status can now be reset for individual serial numbers.
  • A note can now be deposited for serial numbers.
  • Server Management
  • The available space for individual projects can now be adjusted.
  • Administrators can set their desired survey period.
  • The survey period can now be adjusted by the server administrator.
  • The search for users/projects can now be restricted to the time of the last activity.
  • When checking return e-mails, old messages can now (optionally) be automatically deleted.
  • Miscellaneous
  • Questions with extended representation (item text across the entire width) can now also use the extended representation in combined questions.
  • The numbering of a question can now be switched on or off directly in the questionnaire.
  • Text modules can now use wiki formatting (as in questions and items).
  • If the user uses the HTML tags
  • If you have questions, you can now enter notes that are displayed in the debug preview.
  • The order of the languages in the language selection can now be adjusted.
  • The internal project database can now be downloaded as a CSV file.
  • Once the survey period has begun, the deletion of active questions and items is no longer possible, i.e. the deletion of elements for which variables have already been created. This prevents the tags from being identified by subsequent tags and labels.
  • The inversion for the coding of scale items can now be changed using the fast entry option.
  • To avoid the generation of inconsistent data, the inversion of an item cannot be changed after the survey period has begun.
  • The width of the navigation can now be adjusted.
  • The language version for editing can now be changed directly in the navigation.
  • The user’s control when opening submenus in the navigation has been enhanced.
  • Cross-references to hard-to-find functions have been added to the special functions in the navigation function.
  • The imprint is now automatically generated using the information provided in the user account. Adjustments can still be made manually.
  • There is now a preview option in the current questionnaire layout for viewing the imprint and logo. The administrative interface for the imprint and logo has been additionally revised.
  • The translator setting has the capacity to automatically translate numerical values into the format corresponding to the selected language.
  • A corresponding mark is displayed in the questionnaire for pilot projects.
  • Georgian and Russian languages now have standard texts.
  • If more than 5 projects have been registered under the same user account, the project overview will split into active and archived projects.

Fixed bugs

  • When using the translation help option, a question’s cache will be updated if texts are changed - obsolete texts will no longer be displayed.
  • In multilingual questionnaires, value () and getItemtext () now return the information in the selected language(s).
  • The zoom selection for images now functions properly in Internet Explorer.

Resolution of Minor Bugs

  • Questions
  • The template for a Kunin-scale (horizontal selection) now works on a dark background and with high-resolution displays.
  • Some bugs in handling the extended selection with non-unique response codes have been fixed.
  • The text input with selection recommendation now uses the correct width and works correctly when inserted into a selection question using prepare_input ().
  • The text input with selection recommendation now supports options with several consecutive blanks even when the internal database is used.
  • The entry fields for the question type ‘open mentions’ now provide the consecutive number of the input field in the screen readers as a title mode to provide more orientation when used with a screen reader.
  • Regular expressions for checking open text input now correctly correspond with Unicode characters (such as umlauts).
  • In the polarity profile, the desired width of the "do not know" option can now be set.
  • The scroll bar now operates correctly on touch screens (e.g. iPhone / iPod) with a sliding motion (this was previously only possible by tapping).
  • The scroll bar also functions correctly on touch devices if the questionnaire’s display is zoomed in and/or if a second controller is used.
  • The scroll bar’s caption will now be correctly placed when the "do not know" option matches to the left of the captions.
  • In the scroll bar question, a predetermined constant sum is now correctly maintained even after the controller values have been rounded up.
  • With a scroll bar, the option to not accept "no response" as a response can be disabled.
  • When importing a scroll bar question, the dimensions are no longer overwritten by the default values for the scale used.
  • The selection sequence shows additional input fields for a subquery, even if the answer options are entered in a language that is different from the base language.
  • For a ranking question, the dropdown entry will only be shown if JavaScript is disabled - so far, only inactive tiles were displayed.
  • When ranking questions, a specified inner-distance is considered if no graphics are used for the survey’s design.
  • The opt-in question now also stores the correct (reserved) serial number if an e-mail address is entered multiple times or if there is still a valid opt-in link for the e-mail address.
  • The question "E-mail to personal contact" no longer sends an e-mail when the undo button is pressed.
  • The question type "E-mail to personal contact" now issues a warning if the e-mail address is invalid. In the warning, a setting for blocking the invalid e-mail address is provided.
  • When sorting items / options alphabetically, uppercase and lowercase letters are now treated equally.
  • The rotation of items works correctly when used in combined questions (deactivated in 2.4.00).
  • If, in a combined question, individual items of the first sub-question are hidden using a tilde (~), the captions are still displayed.
  • If a question’s position is changed, the cache will be deleted for other questions whose position changes as a result. This will ensure that the correct (new) position is displayed when it should be.
  • Layouts
  • When previewing the questionnaire’s layout, the warning "no answer" is now correctly displayed.
  • Questionnaire
  • Some bugs in the HTML structure of the questionnaire’s print view setting have been fixed.
  • If the current browser tab is disregarded during the compilation of the questionnaire, any drag-and-drop operation that may still be active will be aborted.
  • When previewing a question, the layout (in particular for the input fields) for the barrier-free mode is now adjusted as well as in the questionnaire.
  • A bug was fixed in the preview function for serial e-mails that allowed for the de-anonymization of individual entries in the address list.
  • The subsequent addition of a repeatPage () function no longer causes the print preview of an interview to crash.
  • The JavaScript library, SoSciTools and the Scroll bar Library will now be correctly included even if the questionnaire does not have access to the parent directory.
  • When an interview is interrupted by pressing a button, the subject line will no longer be repeated in the text of the subsequent e-mail.
  • Functions for the PHP code
  • Now, when using goToPage ('end'), a tag is no longer incorrectly placed on the last page.
  • When combined with the formatting options 'free' and 'text', the function value () now works in a multiple selection as per the instructions.
  • If the dbGet () function is unable to find an entry for either the active or the base language, the program will also search for entries in other languages.
  • The manual filing of an urnDraw () sheet with urnPutAway () now works correctly when drawing from two urns.
  • The diagram () function now also handles layouts that have defined central colors.
  • If urnDraw () is activated multiple times with the same internal variables, the updated number of previous selections will now be displayed in subsequent activations.
  • If the function mailResume () is activated on the first page of a questionnaire and the interview is not continued by means of "Next", the interview will not be automatically deleted despite the missing data.
  • Variables and data
  • When downloading the import script for GNU R, UTF-8 is now presented as a character encoding option that allows for variable labels in non-European characters.
  • Items that only show a picture (IMG tag) can now be displayed using the navigation, variable overview and the value labels options by means of the picture description or file designations.
  • The serial number is now stored in the data set in either uppercase or lowercase characters according to how it was originally entered into the system, not as it is entered by the questionnaires’ participants.
  • Serial e-mails and serial numbers
  • E-mail addresses with international domain names are now converted to ASCII prior to e-mails being sent using the PEAR IDNA2 package.
  • When importing e-mail addresses, any space character xC2A0 that may be included in the address will now be correctly removed.
  • The HTML preview of a serial e-mail will only be displayed if HTML content has also been entered.
  • When applying the serial e-mail setting to the address list and follow-up e-mails, the description of the serial e-mails, not the subject line, will primarily be displayed.
  • If a serial e-mail is sent without a name (for example, with only the sender address included), the contact link in the data protection notice will still work.
  • The encoding for gender (1 = man / 2 = woman), as it is used when downloading the address list, now works even when importing the address data (previously 0 = m, 1 = w).
  • Serial e-mail links associated with an interview will not be reassigned in a repeat interview unless the original interview is deleted – this may occur because the interview did not contain any data.
  • The storage of a serial e-mail’s delivery ID for an interview makes it possible to correctly deposit an interview’s conclusion for participants, even if several interviews were started simultaneously.
  • When sending an SMS, duplicate transmissions will no longer be sent when two delivery times coincide with one Crontask-run.
  • If a serial number is reset, a new interview will be started (until now this was only the case if the participant reached the questionnaire’s last page during the first interview).
  • If a detected delivery error (bounce) is reset for an addressee in the e-mail address list, the new status is now displayed immediately afterwards.
  • Server Administration
  • In the server management setting, unchecked user accounts will be correctly listed.
  • Miscellaneous
  • Placeholders will now be replaced by text blocks if they are opened in a new window using textlink ().
  • The importation of the internal database now requires less memory space, making the importation of even larger CSV files (> 10,000 entries) easier.
  • When the CSV imports setting is applied to address data, data columns are now less frequently identified as mobile numbers.
  • A gray frame around the flag no longer appears when viewing the selection panel for switching the language version in Firefox.
  • When uploading a new logo, a random value is now added to the file name to avoid complications with the browser’s cache.
  • It is still possible to change other project settings even if a project’s survey period exceeds the user’s authorization period.
  • If survey projects are blocked (for example, status: not activated), an error message will be displayed when the URL is activated.
  • During registration, the language selection will be retained.
  • The registration of a project will no longer display an invalid ‘Offer Language’ option.
  • The automatic resizing of entry fields for the question title and explanation is now possible when working with all current browsers.
  • If an invalid directory is specified when changing the project directory, a correct error message will appear.
  • A notification will no longer be sent at the start / end of the survey period for archived projects.
  • Many uncritical STRICT errors on (non-) static functions have been fixed.
  • If the user submits an invalid session ID, SoSci Survey automatically generates a new ID instead of displaying an error message.
  • If a participant uses the English user interface, the manual now provides a direct link to the English version.

Changes in Additional Program Modules

  • The functions of program modules are only available if the corresponding modules have been installed on a server.
  • [Server] When searching for project directories, the search function now detects the slash as a directory separator and database IDs.
  • [Server] The info-mail for daily maintenance will now be sent in a clearer HTML format.
  • [Service] For test projects and method exercises, the project’s visibility on the homepage has been improved.
  • [Service] Statistics on the mail domains of registered users
  • [Service] Advertisements can now be included on the last page of method exercises and private surveys.

Small General Changes

  • The sending of all e-mails has been completely converted to the PHP mailer.
  • The item entry setting has been moved from item.quick.php to the respective question module.
  • The Classes Project, Questionnaire and Textelement have been changed from GeneralObject to the more flexible BasicObject.
  • The transition from LanguageObject to BasicObjectML has been completed.