0 votes
in SoSci Survey (dt.) by s081310 (205 points)

Liebes SoSci-Team,
ich habe leider mal wieder eine Frage. Es geht um eine Studie, die wir auf dem LMU SoSci Server programmiert haben (Projekt: MA_Brandl-Prebeck).

Hier handelt es sich um eine mehrwellige Befragung, bei der die Versuchsteilnehmenden sich registrieren und dann eine Einladung zu Teil 1 der Studie bekommen. Wir arbeiten dann mit Unterbrecher-Seite und php code, um die Einladung zu Teil 2 automatisiert raus zu schicken (sowie automatische Erinnerungen).

Wir haben den Code und die Serienmails auch (mit deutlich kürzeren Zeiträumen) getestet und damals schien alles zu funktionieren. Nun haben wir den ersten Messzeitpunkt abgeschlossen, der zweite Messzeitpunkt steht Ende Mai an.

Heute habe ich gesehen, dass im Reiter "Einladungen verschicken" und "Serienmails" bei den Serienmails einzelne Daten angegeben sind. Diese Daten stimmen jedoch leider gar nicht mit unserem PHP Code und der unixtime im php Code überein. Leider kann ich auch gar nicht nachvollziehen, woher diese Daten kommen und wie man diese ändern könnte.

Deshalb meine kurze Nachfrage: Sind die hier aufgeführten Daten irgendwie bedeutsam und, wenn ja, wie könnte ich diese an die unixtimes im PHP code anpassen?

Ich will nun auch nicht zu viel im Projekt "herumspielen" bzw. ausprobieren, um den zweiten Messzeitpunkt nicht zu gefährden. Ich kann aber einfach nicht finden, wo man diesen Zeitraum bei den Serienmails bearbeitet.

Vielen Dank und beste Grüße,
Mathias Twardawski

1 Answer

0 votes
by SoSci Survey (327k points)
edited by SoSci Survey

Heute habe ich gesehen, dass im Reiter "Einladungen verschicken" und "Serienmails" bei den Serienmails einzelne Daten angegeben sind.

Wenn Sie mit einer Unterbrecherseite arbeiten, dann haben Sie vermutlich mailResume() verwendet. Dies wird komplett (!) getrennt von den Versandzeitpunkten verwaltet, die Sie mittels mailSchedule() oder durch das manuelle Eingeben eines Versandzeitpunkts festlegen.

Korrektur

In der Liste sehen Sie die mittels mailResume() geplanten Aussendungen mit dem Titel "Fortsetzungsmails".

by s081310 (205 points)
vielen Dank für die schnelle Rückmeldung.

Genau, wir nutzen "mailResume()" im Code. mailSchedule() nutzen wir, meines Wissens, nicht und ich bin mir auch nicht sicher, inwiefern wir irgendwo manuell einen Versandzeitpunkt eingegeben haben.

Heißt das, dass mailSchedule() damit den code zu mailResume() "übertrumpft" und die Mails früher raus geschickt werden (so, wie es in der Übersicht steht)?

Sagen Sie gern Bescheid, wenn ich etwas tun/ausprobieren/beschreiben soll.

Vielen Dank!
by SoSci Survey (327k points)
> Heißt das, dass mailSchedule() damit den code zu mailResume() "übertrumpft" und die Mails früher raus geschickt werden (so, wie es in der Übersicht steht)?

mailResume() und mailSchedule() sind komplett unabhängig. Eine Serienmail kann nur einmal per mailSchedule() verschickt werden, aber beliebig oder per mailResume() - denn die Funktion ist ja eine ganz andere. Das eine schickt einen Einladungslink mit Zugangsberechtigung, das andere "nur" einen Link zum aktuell laufenden Interview.
by s081310 (205 points)
mh okay, ich verstehe. Und woher wissen die angelegten Serienmails, ob wir "mailSchedule()" oder "mailResume()" nutzen? Das wird doch "einfach" von unserem php code festgelegt, oder?

Nur um es richtig zu verstehen: Ich halte jetzt einfach mal die Füße still und Sie sagen mir, ob das dann trotzdem so funktioniert wie geplant bzw. ob ich noch etwas anpassen muss, richtig? Mir wäre nur wichtig, dass die Mails dann wirklich raus gehen und wir die Daten am Ende auch zuordnen können. Ob ich das am Ende gut überwachen kann oder nicht, wäre für mich absolut zweitrangig.

Vielen Dank!
by SoSci Survey (327k points)
Meine Auskunft von heute Nachmittag war falsch. Fortsetzungsmails werden bei der Serienmail auch aufgelistet. Und zwar mit Datum. Wenn da also bei Ihnen vollkommen unerwartete Daten stehen, dann ist vermutlich etwas schief gelaufen.

Möchten SIe mal den Code posten, den Sie für die Vorbereitung der Mails verwendet haben?

> Und woher wissen die angelegten Serienmails, ob wir "mailSchedule()" oder "mailResume()" nutzen? Das wird doch "einfach" von unserem php code festgelegt, oder?

Ja, das ist korrekt. Die Serienmail selbst interessiert das auch nicht. Aber im Hintegrund werden unterschiedliche Objeke für das Auslösen des Versands angelegt - und die kennen den Unterschied.

> Mir wäre nur wichtig, dass die Mails dann wirklich raus gehen und wir die Daten am Ende auch zuordnen können.

Nun, wenn Sie mit mailResume() gearbeitet haben, dann müssen Sie ja nichts zuordnen, dann wird ja einfach nur ein langer Fragebogen ausgefüllt - mit Unterbrechung.

Aber wenn die angezeigten Daten für die "Fortsetzungsmails" nicht stimmen, dann sehen wir uns das besser zeitnah an, vielleicht ist noch etwas zu retten...
by s081310 (205 points)
Hier der Code:
// Einladung mit der Serienmail ID 2 für 2. Messzeitpunkt am 23.05.2022 um 8 Uhr versenden - 1653285600
  // Versendedatum als festen Zeitpunkt angeben
mailResume(false, 2, 1653285600);


  // Erste Erinnerungsmail mit Serienmail ID 3 am 27.05.2022 um 9 Uhr senden - 1653634800
mailResume(false, 3, 1653634800);
 // Zweite Erinnerungsmail mit Serienmail ID 4 am 01.06.2022 um 9 Uhr senden - 1654066800
mailResume(false, 4, 1654066800);

 
// Prüfen, ob 2. Messzeitpunkt erreicht - 1653285600
if ((time() < 1653285600)) {
  // Unterbrecherseite anzeigen falls 2. Messzeitpunkt noch nicht erreicht
  option('resume', true); // Kein Hinweis, dass das Interview fortgesetzt wird
  option('nextbutton', false); // Weiter-Knopf ausblenden (Interview unterbrechen)
} else {
  // Ist der Teilnehmer zum 2. Messzeitpunkt zurückgekehrt wird die Befragung auf der nächsten Seite fortgesetzt
  goToPage('next');
}

vielen Dank!
by SoSci Survey (327k points)
> mailResume(false, 2, 1653285600);

Okay, straigt forward. Dafür sollten Sie bei Serienmail 2 entsprechende Fortsetzungsmails angezeigt bekommen. Womöglich aber nicht im Detail, wenn auch viele frühere und spätere Mails eingetragen sind.

Auch die anderen fixen Zeitstempel lassen wenig Platz für Fehler.

Haben Sie kontrolliert, wie viele Datensätze Sie haben, bei denen die LASTPAGE der Seite mit dem PHP-Code entspricht bzw. der Seite davor?
by s081310 (205 points)
> mailResume(false, 2, 1653285600);

Ja genau, für Serienmail 2 stimmt auch das Datum bei der Übersicht der Serienmails mit dem Zeitstempel überein (23.05.2022 um 08 Uhr).

Allerdings passen die Daten in der Übersicht der Serienmails ID3 und ID4 (also die Erinnerungsmails) nicht mit dem Zeitstempel. Für ID3 steht etwa der 20.05.2022 drin (also noch vor ID2).

Laut Übersicht haben wir für ID2 388 Fortsetzungsmails (388 Adresseinträge) und für ID3 und ID4 jeweils 390 Fortsetzungsmails (390 Adresseinträge). Dieser Unterschied könnte aber durch vorherige Tests der Studie zustandekommen (so meine Interpretation).

Auf der Unterbrecherseite (LASTPAGE) haben wir n = 30; auf der Seite vorher haben wir n = 358.
by SoSci Survey (327k points)
Der Zeitstempel 1653634800 aus dem mailResume(3) ist der 27.05.2022 - daran dürfte es also nicht liegen. Steht nur dieses Datum in der Liste oder wird da angezeigt, dass es noch andere Versandtermine gäbe?

Wenn Sie mir die URL der Studie mitteilen, kann ich mal in der Datenbank nachsehen (und den Zeitstempel für Mail 3 ggf. verschieben).

> Auf der Unterbrecherseite (LASTPAGE) haben wir n = 30; auf der Seite vorher haben wir n = 358.

Das scheint mit "ID2 388 Fortsetzungsmails" korrekt übereinzustimmen... Also im Prinzip sieht es gut aus. Vom falschen Datum mal abgesehen.
by s081310 (205 points)
Alles klar.

Folgende Versanddaten stehen bei den Mails:

ID3:
20.05.2022, 09:00
...
27.05.2022, 09:00

ID4:
25.05.2022, 09:00
...
01.06.2022, 09:00


D.h. die unteren Zahlen sind immer die korrekten. Sind die Punkte als "mehrfacher" Versand zu interpretieren?

Die URL der Studie lautet:
https://survey.ifkw.lmu.de/MA_PB/

vielen Dank!
by SoSci Survey (327k points)
Ja, wenn es mehrere Einträge sind, dann zeigt SoSci Survey nur den Bereich statt Dutzende einzelne Einträge.

Mit schönem Gruß aus dem IfKW folgende Infos zur Serienmails 3:

1653030000 -> 2x
1653634800 -> 388x

Das sieht doch gut aus :)
by s081310 (205 points)
Puh okay, das bedeutet, wir haben zwei Cases bei denen der geplante Versand von Serienmail 3 und 4 irgendwie nicht zu stimmen scheint (das könnten die beiden Testdatensätze sein, die aber schon "abgeschlossen sind und für die eben noch die Serienmails "angelegt" sind) und für alle anderen passt das?

Perfekt! Ganz herzlichen Dank :)

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

...