0 votes
in SoSci Survey (dt.) by s101996 (120 points)
edited by s101996

Hallo liebes Sosci-Team,

ich binde in meinem Fragebogen eine Weiterleitung zu der externen Website GazeRecorder ein. Nach dem Besuch der Website sollen die Probanden zurück zu einem Sosci-Fragebogen geleitet werden. Leider klappt die Weiterleitung zu genau dem Fragebogen und an die genau richtige Stelle des Fragebogens nicht. Daher lasse ich einfach zu einem neuen Sosci-Projekt weiterleiten und die Probanden sollen dort die restlichen Fragen beantworten. Hier sollen wieder alle Teilnehmer den gleichen Fragebogen bearbeiten und Bilder auf einem semantischen Differential bewerten. Die Weiterleitung zum Fragebogen funktioniert auch, allerdings ist die Darstellung total verschoben! Das schaut dann so aus:

Ich weiß nicht, woran das liegen könnte. Im Pretest und der normalen Vorschau ist die Darstellung fehlerfrei. Ist es ein Problem von Sosci oder eher von der externen Website?

Ich freu mich sehr auf eure Hilfe,

1 Answer

0 votes
by SoSci Survey (304k points)

Meine erste Überlegung bei diesem Setting: Wie können Sie am Ende die Daten aus den drei Messungen (SoSci1, GazeRecorder, SoSci2) verknüpfen?

Mein zweiter Gedanke dazu: Warum funktioniert die Zurück-Umleitung nicht? Haben Sie das caseToken() an die externe Website übergeben? Wird dieses Token bei der Rück-Verlinkung als Parameter "i" übergeben?

Ist es ein Problem von Sosci oder eher von der externen Website?

Könnten Sie vielleicht einmal einen Pretest-Link posten, der zu dem Fragebogen mit verzerrter Darstellung führt?

Ich habe folgende Vermutung: Die Rück-Weiterleitung erfolgt womöglich aus einem iFrame heraus, welches nur eingeschränkte Rechte hat (sandbox). Das kann innerhalb des iFrames ein durchaus sinnvolles Sicherheits-Feature sein. Allerdings stecken Browser Websites auch dann in diesen Sandkasten, wenn man innerhalb des eingeschränkten iFrames weitergeleitet wird. Das könnte dazu führen, dass die CSS-Dateien nicht geladen werden können, welche für das Layout zuständig sind.

Das Problem wäre in dem Fall also, dass Ihre Weiterleitung bei GazeRecorder in einen Sandkasten gesteckt wird, aus dem das Interview dann nicht mehr heraus kommt.

by s101996 (120 points)
Vielen Dank für die Antwort!
zu 1. Ich frage sowohl bei SoSci1 als auch bei SoSci2 einen Personencode und Datum+Uhrzeit ab. So kann ich die beiden Fragebögen miteinander verknüpfen. Datum&Uhrzeit erfrage ich, da der GazeRecorder mir nur einen Zeitstempel auswirft und ich so die SoSci Daten mit den GazeRecorder Daten verknüpfen kann.

Ich bin davon ausgegangen, dass die Zurückleitung nicht funktioniert, da ich es mit mehreren PHP-Versuchen einfach nicht hinbekommen habe, sondern immer irgendwelche Fehlermeldungen kamen. Ich habe bei dem CaseToken Befehl gesehen, dass es u.U. sein kann, dass die externe Website keine serverseitige Scriptsprache einsetzt. Aufgrund meiner vielen gescheiterten Versuche bin ich dann davon ausgegangen dass dies der Fall sein wird.

Hier der Pretest Link: https://www.soscisurvey.de/BAOptimism/?act=P8G63j2BZ3J9nE71PST109qr

Nach der präsentation von 10 Bilderpaaren werden sie auf den Fragebogen mit verzerrter Darstellung geleitet.
Falls Ihre Vermutung stimmt, kann ich meine Weiterleitung dann irgendwie aus dem Sandkasten herausholen?:D

Danke für Ihre Hilfe in jedem Fall!
by SoSci Survey (304k points)
> und Datum+Uhrzeit ab

Sie können den Zeitpunkt der Weiterleitung recht einfach automatisch in eine interne Variable (s. Anleitung) speichern:

put('IV01_01', date('Y-m-d H:i:s'));

Dann ersparen Sie sich die manuelle Abfrage. Abgesehen davon, dass Sie ohnehin die Variablen STARTED und TIME*** haben.

Ich habe mir mal die Rück-Weiterleitung angesehen (wenn man die Seite einfach neu lädt, kann man auch ohne Bilder testen). Die Rückleitung enthält ein paar Parameter, die Sie vielleicht für die Verknüpfung der Daten aufzeichnen möchten:

https://www.soscisurvey.de/ValenzArousal//?GazeCloudSession=null&RespondentID=null&RunState=close

Mit einer Frage "Gerät und übermittelte Variablen" können Sie insb. die "RespondentID" speichern. Evtl. können Sie beim Aufruf des GazeRecorders sogar eine ID übergeben (also z.B. die Fall-Nummer!). Das scheint mir deutlich zuverlässiger als der Personencode oder zumindest eine gute Ergänzung.

Und wie es aussieht, habe ich auch eine Lösung für das Darstellungsproblem. Letztes kommt offenbar nicht durch einen Sandkasten zustande (Glück gehabt), sondern einfach durch einen gedoppelten Schrägstrich im Link:

https://www.soscisurvey.de/ValenzArousal//?GazeCloudSession=null&RespondentID=null&RunState=close

Hinter ValenzArousal// sind zwei Schrägstriche. Entfernt man einen, funktioniert es.

https://www.soscisurvey.de/ValenzArousal/?GazeCloudSession=null&RespondentID=null&RunState=close
by s101996 (120 points)
Oh super, vielen Dank, dann mache ich das mit der internen Variable!

Damit beim Aufruf des GazeRecorders eine ID übergeben werden kann, müsste die GazeRecorder-Website mit einer serverseitigen Scriptsprache arbeiten oder? Das ist beim Gaze-Recorder glaube ich nicht der Fall. Sonst könnte ich ja auch eine Rückleitung in den gleichen Fragebogen einstellen, aber das klappt mit dem redirect Befehl und caseToken etc. leider nicht.

Sie haben Recht, das Darstellungsproblem löst sich, wenn man den zweiten Schrägstrich entfernt! Klasse - vielen Dank!
Aber wie schaffe ich es, dass automatisch nur ein Schrägstrich im Link ist anstatt der zwei Schrägstriche? Bzw. wie kommt dieser zweite Schrägstrich zu stande?
Vielen Dank für Ihre Hilfe!
by SoSci Survey (304k points)
> Damit beim Aufruf des GazeRecorders eine ID übergeben werden kann, müsste die GazeRecorder-Website mit einer serverseitigen Scriptsprache arbeiten oder?

Nicht unbedingt - evtl. muss man nur eine Variable mit dem richtigen Namen beim Aufruf übergeben. Beim GazeRecorder steht dazu:

> The software works with any survey software that is able to pass a participant out to an external URL and receive them back again.

Es sollte also nicht nur möglich sein, eine ID zu übergeben, sondern evtl. sogar die Sache mit dem caseToken(). Aber zumindest die ID sollte auf alle Fälle möglich sein. Da müssten Sie mal die Dokumentation des Tools durchsuchen.

> Aber wie schaffe ich es, dass automatisch nur ein Schrägstrich im Link ist anstatt der zwei Schrägstriche?

Nun, irgendwo haben Sie den Rück-Link ja eingetragen. Was genau haben Sie da denn eingetragen?
by s101996 (120 points)
Das ist jetzt mein PHP-Code für die randomisierte Weiterleitung zu einem der 10 Links. Am Ende habe ich nun caseToken und caseNumber eingegeben, müsste die ID bei erfolgreicher Zurückleitung nun gespeichert werden?

if (value('ZU01') == 1)
  redirect('https://app.gazerecorder.com/Study/Test?StudyID=study_2d52d7c8-782b-48b6-be77-44474f2e8b05&lang=en&RespondentID=null&redirect=https%3A%2F%2Fwww.soscisurvey.de%2FBAOptimism%2F%3Fact%3DP8G63j2BZ3J9nE71PST109qr%3Fr%3D%5BpanelID%5D/?tk='.caseToken().'&num='.caseNumber(), true);
...hier kommen noch die 9 anderen Links, die aber genauso aufgebaut sind
else {
  redirect('https://app.gazerecorder.com/Study/Test?StudyID=study_163246ed-d546-488d-b885-96db8df514be&lang=en&RespondentID=null&redirect=https%3A%2F%2Fwww.soscisurvey.de%2FBAOptimism%2F%3Fact%3DP8G63j2BZ3J9nE71PST109qr%3Fr%3D%5BpanelID%5D/?tk='.caseToken().'&num='.caseNumber(), true);
}

Als Rück-Link habe ich jetzt (um auszuprobieren ob ich mittels caseToken etc. auch eine Rückleitung in den selben Fragebogen hinbekomme, den Pretest-Link und ?r=[panelID] eingegeben. Also: https://www.soscisurvey.de/BAOptimism/?act=P8G63j2BZ3J9nE71PST109qr?r=[panelID]

Die Hinleitung klappt, die Rückleitung leider nicht. Hier kommt folgende Fehlermeldung:
Ungültiger Link
Der übermittelte Schlüssel ist nicht oder nicht mehr gültig.

Letztendlich finde ich es auch okay, in einen zweiten Fragebogen zurückzuleiten. Durch das Abspeichern der IP-Adressen, kann ich die Fragebögen dann ja eigentlich zuordnen. Aber leider besteht bei der Rückleitung in den zweiten Fragebogen ja das Problem mit den 2 Schrägstichen und der dann verzerrten Darstellung.
Der vorherige Rücklink zu dem zweiten Fragebogen war der ganz normale Fragebogen Link. Also: https://www.soscisurvey.de/ValenzArousal/
Ich habe es auch schon mal ohne den letzten Schrägstrich versucht (https://www.soscisurvey.de/ValenzArousal) aber selbst dann baut der GazeRecorder bei der Rückleitung 2 Schrägstriche ein.. Liegt das Problem beim GazeRecorder?
Ich bin sehr dankbar für Ihre Hilfe!
by SoSci Survey (304k points)
das "act" im Rückleitungs-Link ist falsch. Korrekt wäre:

redirect('https://app.gazerecorder.com/Study/Test?StudyID=study_2d52d7c8-782b-48b6-be77-44474f2e8b05&lang=en&RespondentID=%caseNumber%&redirect=https%3A%2F%2Fwww.soscisurvey.de%2FBAOptimism%2F%3Fi%3D%caseToken%, true);

Unkodiert steht da als Rückleitung:

https://www.soscisurvey.de/BAOptimism/?i=%caseToken%

Die Prozent-Zeichen von %caseToken% dürfen nicht URL-encoded werden, weil dieser Platzhalter ja schon während des redirect() ersetzt wird.

Ach, ja, ich habe noch %caseNumber% als respondentID eingetragen. Testen Sie das doch mal.
by s101996 (120 points)
Wahnsinn - es funktioniert einwandfrei! Vielen, vielen Dank für Ihre Hilfe! Das hat mich wirklich enorm weitergebracht :) DANKE

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...