Diese Übersicht listet alle Aktualisierungen bis Version 3.6.09 im Vergleich zur Version 3.5.07 (Änderungen in früheren Versionen).

Wichtige Änderungen

  • Beim Update auf Version 3.6.05 muss eine eventuell verwendete SSO-Anbindung unter plugins/SSO/ angepasst werden. Am Anfang der Datei muss folgende Zeile entfernt werden: use Account;
  • Beim Update auf Version 3.6.09 muss - sofern installiert - auch das Modul "Automatisierter Datenexport" aktualisiert werden.

Version 3.6.00 vom 26.08.2024

Im Rahmen einer Bug Bounty im Juli 2024 wurden mehrere Programmfehler aufgedeckt, welche für Angriffe auf Nutzer:innen missbraucht werden könnten oder durch welche Nutzer:innen in Befragungsprojekte Änderungen vornehmen können, für die sie keine Berechtigung erhalten haben. Wir bedanken uns u.a. bei dem IT-Security Spezialisten Asura-N für die Aufdeckung der Schwachstellen.

Wichtige Änderungen

  • Die Möglichkeit, die Registrierung eines Benutzerkontos an ein (Server-)Passwort zu binden, wurde entfernt. Diese Funktion suggeriert mehr Sicherheit als sie bieten kann.
  • Der Ablauf bei der Registrierung eines Benutzerkontos hat sich geändert, bei der Registrierung muss nun in jedem Fall der Erhalt einer E-Mail bestätigt werden.
  • Eventuell installierte Zusatzmodule müssen aktualisiert werden.
  • Die Standard-Einstellung für die zulässige Dateigröße von HTML- und JavaScript-Dateien wurde von 500 KB auf 1 MB erhöht.
  • Im Hauptverzeichnis wurde die Datei index.html durch index.php ersetzt, falls Sie keine eigene Startseite verwenden, nehmen Sie diese Ersetzung bitte vor.
  • Die Datei index.html im Hauptverzeichnis wird durch eine index.php ersetzt, um eine Weiterleitung auch bei strenger Content-Security-Policy zu erlauben.
  • Die Robinson-Liste gesperrter E-Mail-Adressen wird nun in der Datenbank gespeichert anstatt wie bisher als Datei unter /system/data/.
  • Die Berechtigungen zum Verwalten von Bildern und Mediendateien wurden zusammengelegt, ebenso die Berechtigungen zum Bearbeiten von Fragen und Texten/Beschriftungen, und jene zum Ändern der Projekt-Einstellungen und zum Löschen/Archivieren von Projekten.

Sicherheit

  • Die Benutzerverwaltung erzwingt nun starke oder zumindest moderate Passwörter (erfordert Zugriff auf https://api.pwnedpasswords.com).
  • Bei einer Änderung von E-Mail-Adresse oder Passwort werden frühere Sitzungen beendet und Links zum Zurücksetzen des Passworts entwertet (session hijacking).
  • Bei der Wahl des Benutzernamens sind nun Namen verboten, die eine offizielle Funktion nahelegen (admin, administrator und ähnlich).
  • Benutzerkonten, welche für ein Befragungsprojekt nur Lese- aber keine Bearbeitungsrechte haben, können Urnen und die Datenbank für Inhalte nicht mehr bearbeiten.
  • Benutzer können Bilder und Mediendateien nur noch löschen, wenn sie die Berechtigung zum Verwalten von Mediendateien haben.
  • Benutzer können Layouts nur noch löschen, wenn sie die Berechtigung zum Bearbeiten von Inhalten (Fragen/Texten/Layouts) haben.
  • Die Verwendung von Vorlagen und der Import von XML-Dateien ist nur noch mit den entsprechenden Berechtigungen möglich.
  • Nur Benutzerkonten mit Download-Berechtigung können die Auswahlkriterien für gültige Fälle einsehen oder ändern.
  • Die Script-Ausführung bei der Vorschau von Textbausteinen wurde eingeschränkt.
  • An einigen Stellen wurde die fehlerhafte Ausgabefilterung ergänzt (Cross-Site-Scripting).
  • In der Übersicht von Teilnahme-URL-Listen wurde eine fehlende Maskierung für die Namen der Listen ergänzt (Cross-Site-Scripting).
  • Es wurde eine Schwachstelle behoben, welche den Versand von Links zu Domains beim Wiederherstellen des Passworts ermöglicht (URL injection).
  • Die Bezeichnung fremder Arbeitsgruppen kann nicht mehr ausgelesen werden.
  • Die Funktion zum Ändern der E-Mail-Adresse gibt nun nicht mehr preis, ob bereits ein Benutzerkonto mit der angegeben E-Mail-Adresse auf dem Server existiert.
  • Zum Löschen eines Benutzerkontos ist die Angabe des Passworts erforderlich.
  • Es wurde eine Mengenbegrenzung (Rate Limit) für interne Nachrichten ergänzt.
  • Die Anzahl der Fehlversuche beim Ändern des aktuellen Passworts wurden begrenzt (Rate Limit).
  • Die Funktion zum Zurücksetzen des Passworts erlaubt nun weniger Anfragen (Rate Limit).
  • Aktualisierung von jQuery v3.7.1 und jQuery UI v1.13.3.

Verbesserte Funktionalität

  • Der Fragetyp "Kontaktdaten getrennt erheben" wurde übersichtlicher gestaltet, die Einstellungen funktionieren in mehrsprachigen Erhebungen intuitiver.
  • Getrennt erhobene Kontaktdaten können nun als als XLSX-Daite für Excel heruntergeladen werden.
  • Es kann nun optional ein sichtbarer Knopf angezeigt werden, um in den barrierefreien Darstellungsmodus zu wechseln.
  • Wenn das Vorlesen von Fragebogen-Inhalten aktiviert ist, erlaubt ein Knopf nun das Verändern der Ausgabegeschwindigkeit.
  • Die Funktion zum Vorlesen von Fragebogen-Inhalten kann nun auch den Inhalt von Texteingabefeldern vorlesen.
  • Die Funktion zum Vorlesen von Texten umfasst nun auch die Option, einen Fragebogen nur durchzusehen, und die Knöpfe Weiter/Zurück.
  • Die neue Funktion infoElement() liefert Metainformationen zu Fragen bzw. Texten im Fragenkatalog.
  • Die Funktion prepare_input() warnt nun, wenn die Kennung einer regulären Frage und keine interne Variable angegeben wurde.
  • Falls der verfügbare Speicher nicht ausreicht, um alle hochgeladenen Dateien in einer ZIP-Datei herunterzuladen, werden nun mehrere Pakete zum Download angeboten.
  • Optional können nun mehrere Mediendateien zum Löschen ausgewählt und gemeinsam gelöscht werden.
  • Die Serververwaltung zeigt nun den Speicherplatzverbrauch durch Mediendateien in Befragungsprojekten an.
  • In der Server-Verwaltung wird nun ein Hinweis angezeigt, wenn die aktuelle Lizenz innerhalb von 2 Monaten endet.
  • Ein neues Verfahren zum Änderung der E-Mail-Adresse vermeidet, dass Benutzerkonten durch Fehler bei der E-Mail-Zustellung zeitweise nicht genutzt werden können.

Behebung nicht-kritischer Programmfehler

  • Ein Darstellungsfehler bei der Verwendung von HTML-Code in Platzhaltern von Skalenitems wurde behoben.
  • Die Abstände von Skalenitems in der mobilen Darstellung wurden erhöht.
  • Die Zahlen der numerischen Verankerung bei vollständig beschrifteten Skalen werden wieder sauber über den Eingabefeldern zentriert.
  • Die Darstellung von Rangordnungsfragen mit Auswahlfeldern (Radio Buttons) funktioniert nun auch korrekt in Verbindung mit Platzhaltern für offene Eingabefelder.
  • Bei einem Screenout wird nun auch ein Titel bzw. eine Erklärung angezeigt, die im Screenout-Text eingetragen wurde.
  • In kombinierten Fragen, die mittels show() angezeigt werden, wird der "Text über den Items" nun angezeigt.
  • Fragen werden von answerPrint() auch dann angezeigt, wenn innerhalb des Abschnitts von einer Seite zu einer anderen gesprungen wird.
  • Beim Wechsel der Sprachversion in mehrsprachigen Fragebögen werden auch die Beschriftungen der Knöpfe unmittelbar nach dem Umschalten geändert.
  • Der Link in Serienmails zum Sperren einer E-Mail-Adresse funktioniert auch in Befragungsprojekten wieder, die das Standard-Layout verwenden.
  • Bei Serienmails in mehrsprachigen Befragungsprojekten wird die HTML-Version nun auch für die Übersetzungen nach Bedarf automatisch erzeugt.
  • Das Löschen von Mediendateien funktioniert auch dann, wenn in einem Befragungsprojekt eine sehr große Anzahl von Bildern und Mediendateien vorliegen.
  • Bei der Online-Ansicht des Datensatzes wird eine eventuell festgelegete Filterung nach Fragebogen (QUESTNNR) nun deutlicher angezeigt.
  • Die R-Syntax zum Einlesen von Daten bricht lange Zeilen in factor-Variablen nun um, damit der Import nicht aufgrund eventueller Längenbeschränkungen des Editors abbricht.

Version 3.6.01 vom 27.08.2024

  • Der Dark Mode für Fragebögen und die Benutzeroberfläche wurde umfassend optimiert.
  • Es wurde ein Fehler behoben, welcher bei Verwendung des Fragetyps "Geräte und übermittelte Variablen" abhängig vom Endgerät zum Abbruch des Interviews führen kann.

Version 3.6.02 vom 04.09.2024

  • Der automatische Dark Mode ließ sich in Chrome teilweise nicht deaktivieren und führte bei explizit als "schwarz" formatierten Texten zu Problemen, deshalb wurde er im Standard-Layout für Fragebögen wieder deaktiviert.
  • Im Layout werden nun standardmäßig die Knöpfe für den Dunkelmodus und größere Schrift angezeigt.
  • In japanischen Fragebögen erfragt die Opt-In-Frage den Nachnamen vor dem Vornamen.

Version 3.6.03 vom 05.09.2024

  • Es wurde ein Programmfehler behoben, durch welchen der Fragetyp "Kontaktdaten getrennt erheben" die Kontaktdaten nicht speicherte, wenn in der Frage keine Auswahloption zum Ankreuzen angeboten wurde.

Version 3.6.04 vom 21.09.2024

  • Der Dark Mode für die Projektverwaltung kann nun im Benutzerkonto ein- und ausgeschaltet werden.
  • Wenn eine Frage vom Typ "Rangordnung" (zum Beispiel durch einen Filter) mehrfach mit unterschiedlichen Optionen angezeigt wird, so werden beim Einlesen der Antworten Rang-Zuordnungen von Optionen entfernt, die nicht (mehr) angeboten wurden.
  • Der Fragetyp "Rangordnung" zeigt die Rank-Labels in der Matrix-Darstellung nun wieder an der korrekten Position oberhalb der Auswahlfelder.
  • Fragen vom Typ "offene Texteingabe" binden nun keinen HTML-Code für den Fragetext mehr ein, was je nach Layout zur Anzeige einer schmalen Box/Linie führen kann, falls kein Fragetext eingetragen wurde.
  • Der Fragetyp "Offene Texteingabe mit Auswahlempfehlung" verwendet nun ein responsives Layout.
  • Das Löschen von Listen mit Teilnahme-Links ist wieder möglich.

Version 3.6.05 vom 28.09.2024

Änderung am Single-Sign-On Modul (SSO)

Beim Update muss die Datei zur SSO-Anbindung unter plugins/SSO/ angepasst werden. Am Anfang der Datei muss die folgende Zeile entfernt werden: use Account;

Sicherheit

Die Titel von Rubriken werden in der Variablenübersicht nun korrekt maskiert, sodass hier keine unbeabsichtigte Ausführung von JavaScript-Code mehr möglich ist.

Änderungen

  • Der neue Fragetyp "Mehrfache Dropdowns" bietet zu mehreren Items jeweils die gleichen Auswahloptionen als Dropdown an (bisher möglich über den Umweg einer Skala).
  • Wenn ein Server keine E-Mail versenden kann, so erlaubt die Installationsroutine dennoch den Abschluss der Installation.
  • Behebung von Darstellungsfehlern in der Situation, wenn der Browser den Dark Mode zur Darstellung wünscht, im Benutzerkonto aber der helle Modus festgelegt ist.

Version 3.6.06 vom 15.10.2024

  • Der Fragetyp "Texteingabe mit Auswahlempfehlung" zeigt die Eingabefelder wieder schrittweise nach Bedarf an.
  • Die alphabetische Sortierung von Items/Optionen funktioniert nun in mehrsprachigen Befragungen wieder korrekt und hat wieder Priorität über eine mittels question() definierte Item-Abfolge.
  • Es wurde ein Anzeigefehler behoben, durch welchen direkt in die Multi-Level-Übersicht Frage eingebundene Fragebögen nicht korrekt dargestellt wurden.
  • Fehlermeldungen zu fehlerhaften Eingaben werden bei Fragen, welche ein Nachhaken bei fehlender/ungültiger Antwort erlauben, nicht mehr auf der folgenden Fragebogenseite wiederholt.
  • Wenn das Fragebogen einen "Weiter"-Knopf anbietet, das letzte Eingabeelement auf der Seite eine offene Texteingabe ist und in diesem Eingabeknopf die Eingabe-Taste (Enter) gedrückt wird, so fährt das Fragebogen mit der nächsten Seite fort und springt nicht zur vorigen zurück.
  • Die neue Funktion panelLookup() erlaubt die Suche nach Adresseinträgen.

Änderungen für lokale Instanzen

  • Die Installationsroutine schließt ein Update auch dann ab, wenn keine E-Mail versandt werden kann.

Version 3.6.07 vom 03.11.2024

Funktionen und Fehlerkorrekturen

  • Bei der Matrix-Darstellung einer Rangordnung werden die Auswahlfelder einheitlich rechtsbündig ausgerichtet, falls Text und Auswahlfelder nicht in eine Zeile passen.
  • Die Darstellung von Oberkategorien in von hierarchischen Auswahlfragen (einfache Auswahl) wurde optimiert.
  • Fragebögen erlauben nun eine Kombination aus personalisierten Links (Serienmails, Teilnahme-URLs und Teilnahmecodes) und mehrfachem Ausfüllen des Fragebogens.
  • Die Funktion markFail() kann nun auch Items in einer offenen Texteingabe hervorheben, deren Eingabefeld ausgeblendet wurde.
  • Die Funktion info() liefert nun zusätzlich die Kennung der aktuellen Seite und die Beschreibungen der anderen Seiten.
  • Die neue Funktion accessCount() erlaubt eine Beschränkung der Eingabeversuche auf Basis des aktuellen Interviews und der IP-Adresse.

Sicherheit und Änderungen unter der Haube

  • Die Passwort-Länge für den Login bei Adresseinträgen wurde auf 64 Zeichen beschränkt, um DOS-Angriffe durch überlange Passwörter zu verhindern.
  • Die Übermittlung von Daten und Antworten im Hintergrund (u.a. bei internen Variablen) wurde überarbeitet und das Übermittlungsformat optimiert.
  • Kompatibilität zur PHP 8.4 (vermeiden von "deprecated" Warnungen in Logfiles).

Modul für implizite Methoden

Der SC-IAT wird nun auch im neuen Layout standardmäßig korrekt dargestellt.

Modul zur Datenauswertung

Die Häufigkeitstabellen von Mehrfachauswahl-Fragen können nun per Knopfdruck in die Zwischenablage kopiert werden.

Version 3.6.08

Änderungen

  • Ein Interview, welches mittels redirect() beendet wurde, führt beim erneuten Aufruf erneut die Weiterleitung durch.
  • Der Knopf für den SSO-Login wird nun standardmäßig über (statt unter) den Eingabefeldern für Login-Name und Passwort angezeigt.

Verbesserte Funktionalität

  • Die Darstellung des Polaritätenprofils ist nun durchgehend responsiv.
  • Schiebereglern, deren verbale Verankerung links und rechts vom Regler angezeigt wird, können nun auch eine visuelle Verankerung nutzen.
  • In Fragen kann nun ein Filter mit Weiterleitung (Redirect) zu einer externen URL eingetragen werden.
  • Im Debug-Modus wird eine Weiterleitung (Redirect) zunächst nur angezeigt und nicht sofort ausgeführt.
  • Die Funktion setStatus() erlaubt es, den Fortschritt des Interviews im Datensatz zu hinterlegen.
  • Die Geschwindigkeit der Sprachausgabe kann nun mittels option('speech.speed', ...) eingestellt werden.
  • Optimierte Darstellung des Login-Fensters bei Verwendung von SSO-Login und lokalen Benutzerkonten.

Fehlerbehebungen

  • Der Fragetyp "Multi-Level-Übersicht" zeigt eventuell per multiLevelPrepare() angelegte Einträge direkt beim ersten Aufruf an.
  • Die Funktion multiLevelPrepare() funktioniert nun auch dann korrekt, wenn sie nicht auf derselben Seite aufgerufen wird wie die "Multi-Level-Übersicht".
  • Die Navigation im Modus zur Datenauswertung funktioniert nach einem Fehler in Version 3.6.07 wieder korrekt.
  • Wenn man beim Import von CSV-Dateien die Kodierung manuell vorgibt, wird dieses beim Importprozess wieder korrekt verarbeitet.
  • Beim Import von JSON-Daten aus CSV-Dateien in die Datenbank für Inhalte werden Anführungszeichen in Sting-Elementen nun korrekt importiert, sofern die CSV-Datei dem Standard folgt, Anführungszeichen durch Verdopplung zu maskieren.
  • Beim Erstellen eines neuen Befragungsprojekts in Verbindung mit dem Import einer Vorlage werden die Übersetzungen der Vorlage wieder importiert.
  • Bei Löschen der erhobenen Daten wird nun auch der Cache für die Funktion statistic() korrekt gelöscht.
  • Die Auswahl von Adresseinträgen beim Versand einer Serienmail anhand des letzten Teilnahmezeitpunkts funktioniert auch dann, wenn der Datensatz im spezifizierten Zeitfenster Fälle ohne Personenkennung (SERIAL) beinhaltet und wenn der Versand sofort, also nicht zeitgesteuert, erfolgt.
  • Die Verwaltungsansicht erlaubt nun das Versenden einer Nachricht an SSO-Benutzerkonten.
  • Es wurde ein Fehler behoben, durch welchen das Aktivieren zusätzlicher Komponenten in den Server-Einstellungen nicht mehr möglich war.

Änderungen unter der Haube

  • Das temporäre Verzeichnis wird nun auch durch den häufiger laufenden crontask.php bereinigt, nicht mehr nur einmal täglich durch cronjob.php.
  • CSRF-Tokens werden zumindest einmal täglich von cronjob.php bereinigt, sollte unter Tags zu viel Serverlast bestehen.

Version 3.6.09

Änderungen

  • Durch das Update kann sich die Darstellung von Schiebereglern verändern, falls die Maße der Schieberegler-Grafik in der jeweiligen Frage fehlerhaft hinterlegt wurden.
  • Beim Update auf Version 3.6.09 muss - sofern installiert - auch das Modul "Automatisierter Datenexport" aktualisiert werden.

Verbesserungen und Fehlerbehebungen

  • Der Kalender zur Auswahl eines Datums verwendet wieder die korrekten Spracheinstellungen.
  • Schieberegler können nun ein zusätzliches Auswahlfeld als "weiß nicht" Option anzeigen und die Bedienung bei leicht geneigten Schiebereglern ist intuitiver.
  • Bei Schiebereglern kann das Maximum nun auch auf der linken Seite angeordnet werden.
  • Schieberegler skalieren nun bei Bedarf kleiner, damit sie auch auf kleinen Displays vollständig angezeigt werden.
  • Bei vollständig beschrifteten Skalen in der Darstellung "Einzeln" werden die Beschriftungen auch bei invertierten Items den korrekten Auswahlfeldern zugeordnet.
  • Die alternative Darstellung von Schiebereglern ohne JavaScript zeigt die Auswahlfelder invertierter Items nun an der korrekten Position.
  • Der Import von Übersetzungstabellen funktioniert auch dann wieder, wenn die erste Zeile einen Sprachcode enthält, und die Sprachen daher beim Import ausgewählt werden müssen.
  • Die Funktion sendJSON(), sendXML() und sendPOST( erlauben nur noch URLs, mit den Schemata http, https und nntp.

Implizite Methoden

Der BIAT unterstützt mit der neune Darstellungsvariante "Dynamisch" nun das neue SoSci Survey Layout mit größerer Schrift und Mobilgeräte.