Diese Übersicht beinhaltet alle Aktualisierungen zwischen Version 3.2.12 und Version 3.2.23.

Für die Programmversion 3.2.23 sollten Sie PHP 7.3, PHP 7.4 oder PHP 8.x verwenden. SoSci Survey funktioniert zwar mit älteren PHP-Versionen, jedoch werden diese nicht mehr mit Sicherheitsupdates versorgt: Supported Versions.

Mit SoSci Survey Version 3.2.21 (18.02.2021) wurde eine kritische Sicherheitslücke behoben, welche registrierten Nutzern die Ausführung beliebigen PHP-Codes erlaubte. Abgesehen davon wurden mit den Programmversionen 3.2.13 bis 3.2.23 zahlreiche Funktionen ergänzt oder erweitert und mehrere kleine Programmfehler behoben.

Behebung kritischer Sicherheitslücken

  • PHP-Code im Fragebogen wird nun korrekt auf Kombinationen aus Strings bzw. Funktions-Rückgabewerten und Klammern geprüft, welche den Aufruf nicht freigegebener PHP-Funktionen erlauben würden.
  • Der Dateizugriff während der Ausführung von PHP-Code wird mittels open_basedir zusätzlich eingeschränkt.

Verändertes Programmverhalten

  • Die Funktion zum Wiederherstellen eines verlorenen Passworts erlaubt keine Suche von Benutzernamen mehr auf Basis der E-Mail-Adresse.
  • Hyperlinks in Texten ohne Formatierung ("einfacher Text") und im automatisch erzeugten HTML-Teil von E-Mails öffnen nun ein neues Browser-Tab oder -Fenster.
  • Pro E-Mail-Adresse kann nur noch ein einziges Benutzerkonto registriert werden.

Kleine Änderungen

  • Die Rechtschreibprüfung des Browsers für offene Texteingabefelder wird nun standardmäßig unterbunden, kann im Fragebogen allerdings optional zugelassen werden.
  • Die automatische Archivierung alter Befragungsprojekte ist nun auch in lokalen Serverinstallationen möglich.
  • Die Funktion zum zeitgesteuerten Löschen alter Datensätze akzeptiert nun keine Löschfristen mehr, die kürzer sind als 1 Monat.
  • Im SPSS-Import werden Werte ohne Beschriftungen (z.B. in Skalen mit beschrifteten Zwischenwerten) nicht mehr in die VALUE LABELS Syntax übernommen.
  • Server-Administratoren können auch Benutzerkonten für E-Mail-Adressen registrieren, welche nicht den vorgegeben E-Mail-Domains entstammen.

Erweiterte und verbesserte Funktionen

  • Im Zufallsgenerator kann nun HTML-Code hinterlegt werden, um den gezogenen Inhalte direkt im Fragebogen anzuzeigen.
  • Für Texteingabefelder kann nun eine automatische Höhenanpassung aktiviert werden.
  • Bei offenen Texteingabefeldern kann nun eine automatische Übermittlung der Eingaben im Hintergrund aktiviert werden, damit längere Texte während der Eingabe zwischengespeichert werden.
  • Mit einem Klick auf die Rücklaufstatistik wird selbige für den kompletten Erhebungszeitraum angezeigt.
  • Eine neue API erlaubt das Löschen einzelner Datensätze.
  • Der API-Datenabruf erlaubt nun auch die Beschränkung auf Datensätze mit definierter Personenkennung SERIAL.
  • Beim Herunterladen von Kontaktdaten können mehrzeilig abgefragte Angaben nun in separaten Spalten ausgegeben werden.
  • Mit dem Präfix upload:// kann nun im Interview auf Dateien zugegriffen werden, die vorher mit dem Fragetyp "Datei hochladen" vom Teilnehmer hochgeladen wurden.
  • Die Funktion put() kann nun auch die Variable SERIAL ändern, z.B. um selbige nach der Zugangskontrolle aus dem Datensatz zu entfernen.
  • Die Funktion putList() erlaubt es, ein Array direkt in mehrere interne Variablen zu speichern.
  • Die Funktion value() kann mit dem Parameter 'csv' eine Komma-separierte Liste - etwa eine Kombination mehrerer Faktorausprägungen im Zufallsgenerator - als Array zurückgeben.
  • Die neuen Funktionen sendJSON() und sendXML() erlauben es nun, JSON- und XML-Daten an eine URL zu senden.
  • Die Funktionen getQRCodeImage() und getQRCodeSVG() erlauben die Einbindung eines QR-Codes im Fragebogen.
  • Die Funktion dropHistory() erlaubt es, die Seiten-Historie des Interviews zu löschen, um Speicherplatz in komplexen Seitenabfolgen zu sparen.
  • Die Darstellung für Screen Reader wurde durch Einsatz zusätzlicher aria-Attribute weiter optimiert.
  • In der Verwaltung der Adresseinträge für Serienmails (Adressen verwalten) wird die Summe nun nach Teilgruppen aufgeschlüsselt.
  • Bei (z.B. nachträglich ergänzten) Adresseinträgen können nun Teilnahme-URLs ohne Versand einer Serienmail erzeugt werden. Dies erlaubt den manuellen Versand oder die Zustellung von Folgemails.
  • Der Versand und erneute Versand von Serienmails an einzelne Adresseinträge wurde deutlich vereinfacht.
  • Bei Serienmails kann die Text-Version nun auch auf Basis des HTML-Inhalts erstellt werden.
  • Beim Erstellen einer HTML-Serienmail auf Basis eines unformatierten Textes sind nun die Formatierungen *fett* und _unterstrichen_ möglich.
  • Beim Konvertieren einer Serienmail in der HTML-Format wird der Link nun auch im Klartext ausgewiesen.
  • Beim Serienmailversand per SMTP kann nun im Befragungsprojekt eine feste, vom Benutzerkonto abweichende Absenderadresse vorgegeben werden.
  • Die Ergänzung von VERP-Informationen beim Versand von E-Mails kann nun einfacher gesteuert werden.
  • Der SMS-Versand via LOX24 nutzt die API v2 und unterstützt auch Unicode-SMS mit nicht-westeuropäischen Zeichen.
  • Die Items von Auswahlfragen werden nun vollständig im JavaScript-Objekt innerhalb von SoSciTools.questionnaire abgebildet.
  • Die Kärtchendarstellung und die optimierte Klick-Erkennung gehen nun korrekt mit deaktivierten (disabled) Auswahlfeldern um.
  • Filterfragen werden nun auch dann aktiv, wenn der Antwortcode mittels put() festgelegt wird.
  • Für selten genutzte Standardtexte in mehrsprachigen Befragungen liegen nun zumindest automatisierte Übersetzungen vor.
  • Erhebungen mit einem Erhebungszeitraum ab 3 Monaten werden auch 14 Tage vor Ende des Befragungszeitraums informiert.

Behebung kleinerer Programmfehler

  • Beim Zeit-randomisierten Versand von Serienmails wird der Versand auch dann korrekt (am nächsten Tag) fortgesetzt, wenn das tägliche Limit für den Mailversand überschritten und die E-Mails zurückgestellt wurden.
  • Beim Import von Befragungsprojekten wird die Fragebogen-Einstellung von Serienmails wieder korrekt importiert.
  • Wenn ein Screenout-Filter ohne Text angelegt wird, erscheint nun eine Warnung, dass dieser Filter inaktiv ist.
  • Wenn die Kopfleiste einer Skala mit dem Fenster scrollt, wird eine Überlagerung von Items und Titelzeilen auch dann verhindert, wenn die Kopfzeilen transparent sind.
  • Der Fragetyp "Schieberegler" zeigt die grafische Verankerung und den eigentlichen Schieberegler nun auch dann mittig zur verbalen Verankerung, falls diese über den Schieberegler hinaus ragt.
  • Schieberegler funktionieren nun auch als eigenständig über %input:...% platzierte Eingabefelder.
  • Die Darstellung von Polaritätenprofilen auf kleinen Displays wurde optimiert.
  • In Skalen ohne beschriftete Zwischenwerte wird die asymmatrische und symmatrische nummerische Verankerung wieder korrekt angezeigt.
  • Falls im Zufallsgenerator keine Beschriftungen für Codes eingetragen werden, so werden die Codes als Labels verwendet (bisher blieben diese Codes ohne Labels).
  • Eine erweiterte Auswahl kann nun prinzipiell als kombinierte Frage verwendet werden.
  • Wenn eine Auswahloption aus einer Auswahl mit Kärtchen-Darstellung mittels Platzhalter platziert wird, bleibt die Kärtchendarstellung erhalten.
  • Wenn ein Fragebogen als Modul in einem anderen Fragebogen verwendet wird, so bleibt der Zugriff auf die PHP-Funktionen im untergeordneten Fragebogen erhalten.
  • Wenn in Multi-Level-Fragebögen der untergeordnete Fragebogen zur Seite mit dem multiLevelReturn() springt, wird das übergeordnete Interview dennoch regulär forgeführt.
  • Die Druckansicht der Mehrfachauswahlmatrix funktioniert nun auch bei Verwendung von Zwischenüberschriften.
  • Die Druckansicht eines ausgefüllten Fragebogens zeigt nun Schieberegler korrekt an anstatt in der alternativen Darstellung ohne JavaScript.
  • Das Anzeigen aller Seiten in der Druckansicht eines Datensatzes aus einem laufenden Interview stört nicht mehr die Funktionalität von goToParent() in diesem Datensatz.
  • Die Navigation zeigt nun für die direkte Sprachauswahl auch alle Flaggen an, wenn mehr als 7 Sprachenversionen verwendet werden.
  • In der Projektverwaltung zeigen Eingabefelder für Texte mit Textrichtung rechts-nach-links den Text nun korrekt.
  • Die Überprüfung der Passwort-Stärke für Benutzerkonten funktioniert nach Einschränkungen in Programmversion 3.2.12 wieder korrekt.
  • Korrekte Anzeige der Fehleraufzeichnung in der täglichen E-Mail vom Server (Cronjob).
  • Nach Abschluss des Cronjob wird die zugehörige Sperrdatei entfernt, sodass zeitgesteuerte Aufgaben ohne weitere Verzögerung (10 Min.) ausgeführt werden.