0 votes
in SoSci Survey (dt.) by s223503 (145 points)

Moin, ich finde einige Hilfeseiten zum Thema "arbeiten mit externen panels", bei denen es darum geht, Teilnehmer aus anderen Panelen in den Sosci-Bogen zu holen und nachher wieder zurückzuschicken.

Ich habe gerade genau die andere Anforderung. Ich möchte einen anonymen Screener-Kurzbogen als Einstieg programmieren, diesen an einen externen Partner zum Hauptfragebogen schicken und nach Ende wieder zurückholen.

Gibt es dafür irgendwo eine Hilfeseite?

Dankes schonmal

1 Answer

+1 vote
by SoSci Survey (356k points)

Das Wegschicken ist kein Problem - dafür verwenden Sie einfach redirect(). Die Herausforderung ist, dass die Person wieder zum Interview zurück findet. Dafür benötigen sie das Case-Token, das Sie über %caseToken% oder caseToken() bekommen. Dieses müssen Sie der externen Seite übergeben - und diese muss es am Ende als Parameter i wieder zurückgeben. Der SoSci-seitig Code ist also relativ einfach:

redirect('https://example.com/?token=%caseToken%');

Den Namen (hier: token) können Sie frei wählen. Wichtig ist nur, dass der Aufruf der externen Seite zurück zu SoSci dann das i verwendet:

https://www.soscisurvey.de/PROJEKT/?i=[caseToken]
by s223503 (145 points)
edited by s223503
by SoSci Survey (356k points)
Ja, aber Sie müssen dann noch eine Frage "Gerät und übermittelte Variablen" auf der Rückkehr-Seite einbauen, welche diese Information auch entgegennimmt und im Datensatz speichert.
by s223503 (145 points)
Sorry, aber wie mache ich das? Danke auf jeden Fall schonmal für die bisherige Hilfe!

Edit: habe jetzt das gefunden: https://www.soscisurvey.de/help/doku.php/de:create:questions:client?s[]=%2Ager%C3%A4t%2A
by SoSci Survey (356k points)
Konnten Sie es damit lösen? Im Prinzip müssen Sie in dem Element nur eintragen, wie der Parameter im Link heißt, z.B. status für https://www.soscisurvey.de/PROJEKT/?i=[caseToken]&status=fail und das Element dann auf die Seite ziehen, wo die Leute zurückkommen.

Den Status müssen Sie dann ggf. noch abhängig von der Variable mittels setStatus() setzen.
by s223503 (145 points)
Leider nicht,


Ich hatte diesen Re-direct eingebaut:
redirect ('LinkzurKundenbefragung=mm_panel&urlvar02=%caseToken%'); <---Redirect funktionierte

ich hatte als Variable bei "Gerät und übermittelte Variable" definiert: %caseToken%

Und dem Partner folgende Links gegeben als Rücksprung:
https://www.soscisurvey.de/ HIER_STAND_MEIN_PROJEKTNAME/?i=[caseToken]&setStatus=(screenout)
https://www.soscisurvey.de/ HIER_STAND_MEIN_PROJEKTNAME/?i=[caseToken]&setStatus=(quota_full)
https://www.soscisurvey.de/ HIER_STAND_MEIN_PROJEKTNAME/?i=[caseToken]&setStatus=(quality_fail)
https://www.soscisurvey.de/ HIER_STAND_MEIN_PROJEKTNAME/?i=[caseToken]&setStatus=(complete)


...und lande bei diesem Link: https://www.soscisurvey.de/Wohnraumanbieter2025/?i=TRO5I8OFCFY1&setStatus=(screenout)

Mit dieser Fehlermeldung:
404 Not Found
nginx

Wiessen Sie, wo der Fehler sein könnte?
by SoSci Survey (356k points)
> ich hatte als Variable bei "Gerät und übermittelte Variable" definiert: %caseToken%

Nachdem Sie die Variable "setStatus" einlesen möchten, müssten sie bitte "setStatus" als übermittelte Variable eintragen.

> Mit dieser Fehlermeldung:
> 404 Not Found

Das liegt daran, dass es kein Projekt https://www.soscisurvey.de/Wohnraumanbieter2025/ gibt. Bitte kontrollieren Sie in den Projekt-Einstellungen nochmal die URL Ihres Befragungsprojekts inklusive Groß- und Kleinschreibung.
by s223503 (145 points)
Ich komme leider echt nicht weiter und ich habe schon alle möglichen Kombinationen versucht.

Die generierten Links haben dieses Format:

https://s2survey.net/Wohnraumanbieter2025/?d=[Hier steht der Token, ohne Klammern]

Die Variablen sind definiert als...

Variablenname1: %caseToken%
Variablenname 2: setStatus

und wurden auf der ersten Seite des Fragebogens gesetzt (so stand es in der Anleitung)

Der Link des Partners ist auf der zweiten Seite des Bogens eingebaut als:

redirect ('https://survey.si-quest.de/9[HierStehtDerStudiennameOhneKlammern]?urlvar01=mm_panel&urlvar02=%caseToken%');

und bereits die Übergabe des %caseToken% scheint nicht zu funktionieren, weil dort steht eine andere als die in unserem s2survey-link. Und der Rücksprung klappt auch nicht


Kann man vielleicht mal dazu telefonieren?

Danke und viele Grüße
by SoSci Survey (356k points)
Der Link zurück zum Fragebogen muss die folgende Form haben:

https://www.soscisurvey.de/PROJEKT/?i=[caseToken]&variable=wert

Der Name von "variable" ist frei wählbar muss aber mit der Einstellung in "Gerät und übermittelte Variable" übereinstimmen.
by s223503 (145 points)
Danke! Rücksprung funktioniert.

Jetzt das nächste Problem, wir landen die denn bei der Screenout-Seite? Ich hatte es versucht mit PHP:

if (
(SC01_RV2)=='screenout')     ||SC01_RV2 <-- Das war Name im Datensatz für SetStatus
{ goToPage (‘SC02’);             ||SC02 ist der Screenout-Text
}

Aber klappt nicht.
by SoSci Survey (356k points)
Ich würde empfehlen, dass Sie mit dem neuen Element "Panel-Redirects" arbeiten, in dem Sie praktischerweise auch einen Screenout-Text statt einem Screenout-Redirect hinterlegen können.

Wenn Sie dieses Element dann auf die Seite ziehen, dann reicht folgendes:

if ('SC01_RV2') == 'screenout') {
    setStatus('screenout');
}

Falls Sie bei der Lösung ohne den o.g. Baustein bleiben wollten wäre es:

if ('SC01_RV2') == 'screenout') {
    show('SC02');
    buttonHide();
    pageStop();
}

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

...