Hallöchen!
Ich habe in den vergangenen Tagen versucht meinen Versuchsplan mittels SoSci Survey umzusetzen und bin trotz diverser SoSci-Hilfeseiten + Forum bisher daran gescheitert, einen funktionierenden Code zu implementieren. (Liegt vermutlich daran, dass ich kaum Ahnung von php und html habe ;) )
Ich habe versucht mich an folgenden Seiten entlang zu hangeln:
https://www.soscisurvey.de/help/doku.php/de:survey:opt-in-live
https://www.soscisurvey.de/help/doku.php/de:create:waves
https://www.soscisurvey.de/help/doku.php/de:create:questions:opt-in
https://www.soscisurvey.de/help/doku.php/de:create:random_questionnaire
(zur Erläuterung was ich in SoSci Survey umsetzen möchte)
Versuchsplan
1. Prätest (bestehend aus einem Fragebogen zu dem die Probanden mittels Link auf Flyern und co gelangen) - Stand: ist bereits implementiert, inkl. opt-in Funktion damit die Probanden ihre Email eintragen um damit zu Teil 2 der Studie zu gelangen (hier scheint es aber ein Problem zu geben, da lediglich eine Bestätigungsmail rausgeht, aber keine Email mit dem weiterführenden Link zum Training (siehe 2. Training)
2. Training (über 10 Tage, wobei es eine Kontroll- und eine Experimentalgruppe geben soll (wenn möglich gerne auch mit Zufallsziehung über SoSci Survey) - die Probanden sollen einen Tag nach dem Prätest einen Link zu einem Training erhalten, diesen Link sollen sie jeden Tag aufrufen können um einen neuen Trainingsbaustein bearbeiten zu können - Stand ich habe bereits die opt-in Funktion implementiert und bekomme beim Testen auch eine Bestätigungsemail, leider bekomme ich dann aber keine weitere Email mit dem Link zu dem Training für die nachfolgenden Tage (auch keine der Erinnerungsemails, ebenfalls über Serienmails umgesetzt)
3. Posttest (bestehend aus den gleichen Fragebögen wie beim Prätest) - Stand auch hier fehlt die Emailweiterleitung eines Links, der die Probanden zu diesem Teil der Studie leitet (trotz Umsetzung in den Serienmails)
Mein SoSci Survey-Aufbau
Zum Testen habe ich derzeit einen Fragebogen erstellt, in dem die Probanden durch den opt-in Befehl gebeten werden ihre Email einzutragen (Bestätigungs-Email geht daraufhin auch wie gewollt raus) - allerdings ist der Weiter-Button weiterhin klickbar (+ es folgt auch nach Ablauf der Zeit (derzeit 100 Sekunden)) keine weitere Email.
Seite 1
Opt-In Baustein:
Seite 2
Textfeld (lediglich zum Testen) mit Eintrag: Ende Teil 1
Seite 3
Unterbrechercode:
// Die Zeit des ersten Aufrufs der Unterbrecherseite wird in Variable $timepart1 gespeichert
// isset() und registerVariable() verhindern, dass diese Zeit beim erneuten Aufruf der Seite (z.B. Neuladen der Seite) geändert wird und/oder dass E-Mails doppelt geplant werden
if (!isset($timepart1)) {
// Zeit speichern
$timepart1 = time();
registerVariable($timepart1);
// Einladung mit der Serienmail ID 1 zum zweiten Messzeitpunkt nach 7 Tagen senden
// Der Zeitabstand wird jeweils in Sekunden angegeben: 7 x 24 x 3600 Sekunden = 7 Tage
mailResume(false, 1, 1 * 1 * 100);
// Erste Erinnerungsmail mit Serienmail ID 2 nach 9 Tagen senden
// (d.h. zwei Tage nach der ersten Einladung zum zweiten Messzeitpunkt)
mailResume(false, 2, 1 * 1 * 200);
// Zweite Erinnerungsmail mit Serienmail ID 3 nach 11 Tagen senden
// (d.h. vier Tage nach der ersten Einladung)
mailResume(false, 3, 1 * 1 * 400);
}
// Prüfen, wie viel Zeit seit dem ersten Aufruf der Seite vergangen ist
if ((time() - $timepart1) < 1 * 1 * 1000) {
// Unterbrecherseite anzeigen falls es weniger als 7 Tage sind,
// damit Teilnehmer nicht schon früher die Fragen des zweiten Messzeitpunkts sehen können.
option('resume', true); // Kein Hinweis, dass das Interview fortgesetzt wird
option('nextbutton', false); // Weiter-Knopf ausblenden (Interview unterbrechen)
text('ende1'); // Evtl. eine Verabschiedung zum ersten Fragebogen-Teil anzeigen
} else {
// Ist der Teilnehmer nach 7 Tagen zurückgekehrt und somit die aktuelle Zeit minus die neue Zeit-Variable
// größer als 7 Tage ist, dann wird die Befragung auf der nächsten Seite fortgesetzt
goToPage('next');
}
Seite 4
Textfeld (lediglich zum Testen) mit Eintrag: Ende Teil 2
Seite 5
Unterbrechercode:
// Neue Zeit-Variable für die zweiten Zeitpunkt
if (!isset($timepart2)) {
$timepart2 = time();
registerVariable($timepart2);
// Erinnerungsmails löschen, falls diese noch ausstehen
mailRevoke(false, 2);
mailRevoke(false, 3);
// Einladung zum dritten Messzeitpunkt mit der Serienmail ID 4 nach 7 Tagen senden
mailResume(false, 4, 1 * 1 * 200);
// Erste Erinnerungsmail nach 9 Tagen
mailResume(false, 5, 1 * 1 * 400);
// Zweite Erinnerungsmail nach 11 Tagen
mailResume(false, 6, 1 * 1 * 500);
}
// Unterbrechung für 7 Tage
if ((time() - $timepart2) < 1 * 1 * 2000) {
option('resume', true);
option('nextbutton', false);
} else {
goToPage('next');
}
Seite 6
Email-Erinnerungen-Abschalten mit folgendem Code:
mailRevoke(false, 5);
mailRevoke(false, 6);
Seite 7
Textfeld (lediglich zum Testen) mit Eintrag: Ende Teil 3
End Seite
Textfeld (lediglich zum Testen) mit Eintrag: Bedankung für Teilnahme
Ich habe versucht die Schritt für Schritt Anleitungen nachzuvollziehen, bin aber wohl daran gescheitert die unterschiedlichen Bausteine sinngemäß aneinander zu reihen, ich würde mich sehr freuen wenn mir jemand helfen könnte.
Wenn ich wichtige Details noch nicht genannt habe, reiche ich diese selbstverständlich gerne nach!