0 votes
in SoSci Survey (dt.) by s079461 (170 points)

Liebes Sosci-Team

Wir möchten im Rahmen einer mehrwelligen Umfrage (6 Wellen) für jede Welle nach dem Startfragebogen einen begrenzten Zeitraum für die Beantwortung jeder Welle festlegen. So soll jede Welle 30 Tage nach der letzten gestartet werden - dies haben wir mittels dem Befehl mailSchedule() eingefügt. Zusätzlich soll bei jeder Welle der Fragebogen aber nur während 7 Tagen aufrufbar sein. Wir haben noch nicht ganz verstanden, wo man das festlegt. Unter der Serienmail-Funktion kann man die Gültigkeit begrenzen - dies jedoch nur für einen bestimmten Zeitpunkt. Verstehen wir das falsch?
Ausserdem soll jeder Teilnehmer auch wenn er eine Befragungswelle verpasst hat 30 Tage später dennoch eine Einladung zur nächsten Welle erhalten. Wie kann man das am besten einfügen? Theoretisch denkbar wäre im Startfragebogen sechs verschiedene mailSchedule-Befehle einzufügen mit unterschiedlichen zeitlichen Angaben. Ist das die beste Lösung oder übersehen wir etwas?

Herzlichen Dank und liebe Grüsse

Gérard

1 Answer

0 votes
by SoSci Survey (322k points)

Unter der Serienmail-Funktion kann man die Gültigkeit begrenzen - dies jedoch nur für einen bestimmten Zeitpunkt. Verstehen wir das falsch?

Das verstehen Sie richtig - eine relative zeitliche Begrenzung steht auf der Wunschliste, aber andere Funktionen werden aktuell deutlich dringlicher benötigt...

Wenn Sie die Datenschutz-Einstellungen in der Adresslsite nicht zu streng eingestellt haben, dann können Sie aber mit value('MAILSENT') arbeiten. Damit sollten Sie den Zeitpunkt (als UNIX-Zeitstempel für PHP) bekommen, zu welchem die Mail verschickt wurde. Probieren Sie bitte einmal:

html('<p>Versand am: '.date('d.m.Y', value('MAILSENT')).'</p>');

Ausserdem soll jeder Teilnehmer auch wenn er eine Befragungswelle verpasst hat 30 Tage später dennoch eine Einladung zur nächsten Welle erhalten. Wie kann man das am besten einfügen?

30 Tage relativ wozu? Wenn es um einen fixen Zeitpunkt geht, ist das unproblematisch - dann schicken Sie einfach die Serienmail zu diesem Zeitpunkt an alle Teilnehmer. Wer sie schon bekommen hat, bekommt sie nicht nochmal.

Wenn es um einen relativen Zeitpunkt geht, dann verwenden Sie im ersten Fragebogen (der Startfragebogen, welchen der Teilnehmer sicher aufruft) maiSchedule(), um die Serienmailmail(s) nach 30 Tagen zu verschicken. Also, das, was Sie in Ihrer Frage schon beschreiben. Und wer in einen Folgefragebogen kommt, der bekommt dann nochmal ein mailSchedule(), damit sie schon früher zugestellt wird.

Vermutlich (das müssten Sie bitte testen) reicht das frühere mailSchedule() schon aus. Wenn nicht, müssten Sie den ersten Versand noch gesondert mit mailRevoke() canceln.

by s079461 (170 points)
Herzlichen Dank. In der Tat gemeint ist, dass abhängig vom Aufruf des ersten Startfragebogens 30 Tage später der erste Folgebogen kommt, 60 Tage später der zweite, der dritte 90 Tage später et cetera. In dem Fall bauen wir einfach in den Startfragebogen mehrere mailSchedule()-Befehle ein.

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

...