0 votes
in SoSci Survey (dt.) by s172014 (110 points)

Hallo,

wir haben ein Projekt gestartet, in dem an vierzehn aufeinanderfolgenden Tagen jeweils um 19 Uhr ein Link per Serienmail versendet wird. Dazu haben wir 14 Duplikate des Fragebogens und 14 seperate Serienmails, die auf die jeweiligen Fragebögen verlinken.
Alle Fragenbögen sind ab Versand der Mail für 3 Stunden verfügbar und danach kommt eine Meldung, dass die Zeit um sei.
Das hat nun für 7 Tage einwandfei funktioniert, an Tag 8 jedoch erhält man innerhalb der 3h Frist die Benachrichtigung, dass das Zeitfenster abgelaufen sein.
Der php Code zum Zeitlimit ist identisch zu den übrigen 7 Tagen und auch die Serienmail verweist eindeutig zu dem 8. Fragebogen und keinem der vorherigen.
Gibt es andere Fehlerquellen, die wir überprüfen können?

Vielen Dank im Voraus

by s172014 (110 points)
Zeitgleich haben wir erfahren, dass das Problem nun auch mit dem Link zum 1. Fragebogen besteht. Dieser hat jedoch vor 7 Tagen noch funktioniert.
by SoSci Survey (330k points)
Wie haben Sie das Zeitfenster von 3 Stunden denn festgelegt? Bitte posten Sie einmal den PHP-Code. Außerdem sollten Sie sich einen zusätzliche Adresseintrag für Ihre eigene Adresse anlegen, in welcher Sie das Häkchen "Fragebogen im Debugging-Modus starten" setzen. Dann können Sie sich vom PHP-Code mittels debug() genauere Informationen anzeigen lassen.

Haben Sie bei den Serienmails womöglich eingestellt, es handle sich um Erinnerungs- bzw. Fortsetzungsmails?
by s172014 (110 points)
Wir haben uns als "Versuchsperson" angemeldet und sind mit einigen Tagen Vorsprung zu den echten Versuchspersonen gestartet. Alles hat funktioniert bis zu Tag 8. An diesem Tag funktionierte der Link für uns nicht mehr, jedoch auch nicht für die echten Versuchspersonen, welche zu diesem Zeitpunkt bei Tag 1 waren, was bei uns ja noch funktioniert hat. Wir haben also für zwei unterschiedliche Fragebögen (t1 und t8) jeweils die Meldung bekommen, das Zeitfenster sei um. Die Serienmails kamen pünktlich, sind keine Erinnerungsmail und verweist auf den jeweils richtigen Fragebogen.

Der php Code ist in allen Fragebögen gleich und hat bisher auch immer korrekt funktioniert:

$info = panelData();
if ($info) {
  $sent = $info['mailsent'];
  if ($sent < strtotime('-3 hour')) {
    text('abgelaufen');  // Info-Text, wo das Problem ist
    buttonHide();
    pageStop();
  }
}

Da die Serienmail bzw. der Fragebogen für Tag 1 ja bereits funktioniert hat und es jetzt nicht mehr tut, verwundert uns.
by SoSci Survey (330k points)
Der Code sieht korrekt aus. Bitte prüfen Sie noch, welcher Datenschutz-Modus für Ihre Test-Mailadressen festgelegt ist und für die Probanden.

Bitte notieren Sie ein mal debug($info) in die zweite Zeile, Starten Sie dann nochmal mit einem Test-Adresseintrag (wie gesagt: mit dem o.g. Kreuzchen). Sie können, wenn Sie einen neuen Adresseintrag angelegen, auch testweise (unten im Eintrag) direkt eine der Serienmails an diese Adresse versenden.

Anschließend notieren Sie bitte den Zeitstempel der E-Mail und was das debug() anzeigt.
by s172014 (110 points)
Der Datenschutzmodus ist für alle Mailadressen identisch, es wird nicht unterschieden zwischen echten VPN und uns als Testleitern.
Heute hat wieder alles ganz normal funktioniert, wie die Tage zuvor auch. Für alle Mailadressen und für unterschiedliche Fragebögen. Es scheint, als liege das Problem nicht in unseren Einstellungen.

Wir hoffen nun, dass es weiterhin so funktioniert.
Dennoch vielen lieben Dank für diese schnelle Hilfe, trotz Wochenende!

1 Answer

0 votes
by SoSci Survey (330k points)

Heute hat wieder alles ganz normal funktioniert

Es gab am 7.4. (Nachmittag) bis 8.4. (Vormittag) auf www.soscisurvey.de ein Problem mit Aufrufen der mailSchedule()-Funktion, diese verursachte nur eine Fehlermeldung und terminierte keine Serienmail. Allerdings vermute ich, dass das mit Ihrem Problem nicht zusammenhängt, weil die Serienmails ja angekommen sind.

Meine nächste Vermutung wäre, dass es beim Versand der E-Mails womöglich eine Verzögerung gab. Das ließe sich anhand der Header-Informationen in den E-Mails überprüfen. Allerdings müsste es schon sehr große Verzögerungen geben, damit zwischen Versand und Empfang 3 Stunden vergehen.

Wie gesagt: Sollte das Problem erneut auftreten, notieren Sie bitte ein debug() im PHP-Code - damit lässt sich eingrenzen, ob panelData() überhaupt Daten liefert und welcher Zeitpunkt dort ggf. gespeichert ist.

$info = panelData();
debug($info);

Nachdem ich keine schlüssige Erklärung für das Problem finde, würde ich nicht ausschließen, dass es erneut auftreten kann. Mir ist bewusst, dass das nicht sehr ermutigend ist, aber ich möchte Sie auch nicht in falscher Sicherheit wiegen. Sollte es nochmal auftauchen, prüfen Sie bitte mittels debug() die Daten und posten Sie selbige ggf. möglichst zeitnah, zusammen mit dem Link (der ja ohnehin nicht funktioniert), damit wir das in der Datenbank überprüfen können.

by s170557 (115 points)
Hallo,
ich bin eine Kollegin aus dem gleichen Projekt und heute ist der Fehler wieder aufgetreten: die Mail wird pünktlich verschickt, aber wenn man auf den Link geht, bekommt man (unsere selbst programmierte) Nachricht, dass der Befragungzeitraum leider schon abgelaufen ist. Der Zeitraum sollte von 19-22 Uhr offen sein.
Leider verstehe ich Ihren Hinweis mit dem debug($info); nicht so ganz, denn das hilft doch rückwirkend nicht, oder? Das heißt, das müsste ich in den php-Code für den Fragebogen morgen einfügen und wenn es morgen wieder nicht funktioniert, dann bekommen wir nähere Infos dazu?
Ich habe debug($info); jetzt trotzdem auch mal in den heutigen Fragebogen eingefügt und ihn durch den gelben Pfeil im debug-Modus gestartet. Dann bekomme ich folgenden Hinweis:

Notice (page 1)
Debug information for $info:
No data (null)


Mein individualisierter Link zum Fragebogen ist:
https://www.soscisurvey.de/zEbraProjekt/?l=deu&d=5KH3D8QXGHL5SKD7

Liebe Grüße
by s170557 (115 points)
Hallo nochmal,
ich habe mich jetzt nochmal als neue Testperson angemeldet und wie Sie gesagt haben, meine Email-Adresse für den Debugging-Modus festgelegt und bei den Fragebogen die entsprechende Zeile in den php-Code eingefügt. Ich habe 8 verschiedene Fragebögen durch teils manuelles Versenden der Mails und teils zeitpunkt-gesteuertes Versenden der Mails (jetziger Zeitpunkt eingestellt) im Debugging-Modus gestartet, aber konnte den Fehler nicht replizieren. Es wird immer korrekt die erste Seite des Fragebogens angezeigt und kein einziges Mal der Fehler, dass ich zu spät dran sei.
Hier trotzdem die debug-info:

Notice (page 1)
Debug information for $info:
0Kinderkontakt, 1[false], 2[false], 3[false], 4[false], 5[false], subgroupKinderkontakt, mailsent1618164128, firstname, lastname, gender, email, email.cc, mobile, serial, note, custom1[false], custom2[false], custom3[false], custom4[false], custom5[false]

Ich hoffe, Sie können uns weiterhelfen. Vielen Dank & liebe Grüße
by SoSci Survey (330k points)
> konnte den Fehler nicht repliziere

Dann gibt es vermutlich einen Unterschied zwischen diesem Adresseintrag und dem, wo der Fehler auftrat. Ich prüfe den Link oben (danke) umgehend.

> mailsent1618164128

Der Uni-Zeitstempel 1618164128 steht für 11.04.2021 - 20:02:08 (UTC), das sieht gut aus - und es funktionierte ja auch. In den Problem-Mails sieht es wahrscheinlich anders aus.

Ich stelle das Interview zum Link oben nun in der Datenbank nachträglich in den Debug-Modus um.
by SoSci Survey (330k points)
Update: Wenn ich den Link von oben jetzt aufrufe (ist das der Link, wo das Problem auftrat?), dann wird mir angezeigt:

> mailsent1618138803

Der Zeitstempel 1618138803 steht für 11.04.2021 - 13:00:03

Wann hatte die Kollegin denn versucht, den Fragebogen zu öffnen? Bis 16:00 Uhr hätte es funktionieren sollen.
by s170557 (115 points)
Guten Morgen,

das ist komisch! Den Link habe ich um 19 Uhr per E-Mail von Soscisurvey bekommen (automatisch versendet) und direkt versucht zu öffnen. Der Fragebogen hätte von 19-22 Uhr offen sein müssen. Ich weiß nicht, wieso da 13 Uhr steht.
by SoSci Survey (330k points)
> Den Link habe ich um 19 Uhr per E-Mail von Soscisurvey bekommen

So, dann kommen wir der Sache ja langsam näher :)

Laut Datenbank wurde die Serienmail Nr. 16, welche zu dem Code gehört, zweimal verschickt. Einmal um 13:00:03 und einmal um 13:00:05 Uhr - an zwei unterschiedliche Empfänger.

Das deckt sich auch mit den Logfiles zum Mailversand, ABER da steht eine sehr interessante Information:

2021-04-11 13:00:03 -0400
2021-04-11 13:00:05 -0400

Und zwar die -0400, das bezieht sich auf die aktive Zeitzone. Offenbar wurde die Mail um 13:00 GMT-4 verschickt, also um 19:00 GMT+2 (Sommerzeit in Deutschland).

Das deutet in der Tat auf einen Fehler in der (vergleichsweise neuen) Funktion hin, dass Befragungsprojekte in unterschiedlichen Zeitzonen laufen können. Das sollten wir schnell lösen können - also bis heute um 19 Uhr.

Das wäre dann wohl auch die Erklärung, warum das Problem manchmal auftritt und manchmal nicht. Womöglich wird die Zeitzone noch nicht korrekt zurückgesetzt, wenn zeitgleich E-Mails für Projekte aus unterschiedlichen Zeitzonen verschickt werden... Aber wie gesagt, das sehen wir uns heute genauer an.
by s170557 (115 points)
Ahhhhha, wir kommen der Sache tatsächlich näher! :) Vielen Dank für Ihre Unterstützung!

Nochmal zur Erklärung unseres (zugegebenermaßen außergewöhnlichen) Studiendesigns: Die Probanden können die Studie an unterschiedlichen Tagen beginnen, es gibt also kein fixes Startdatum. Der folgende Studienablauf ist dann für alle gleich: Sie bekommen nach Anmeldung in den 14 darauffolgenden Tagen (die aber nicht an bestimmte Daten gebunden sind) jeweils um 19 Uhr einen Link zu einem Fragebogen zugeschickt. Das heißt, es ist schon richtig, dass die jeweilige Serienmail an mehrere Adressen geschickt wird (da z.B. 4 Pbn an demgleichen Tag die Studie angefangen haben und daher z.B. alle 3 Tage später den Link zum 3. Fragebogen erhalten). Allerdings haben wir nur Pbn, die in Deutschland wohnen, sodass die Zeitzone immer Sommerzeit Deutschland sein sollte :) Für alle Pbn/Fragebögen gilt der php-Code vom Anfang, sodass der Fragebogen immer ab Versenden der Serienmail für 3 Stunden zugänglich sein sollte (von 19-22 Uhr). Aus diesem Grund zerstört der Zeitstempel die Gültigkeit des Links.

Könnten Sie uns später (vor 19 Uhr) bitte nochmal rückmelden, ob Sie das Problem fixen konnten? Ansonsten würden wir noch folgende 2 Möglichkeiten für heute Abend sehen: 1. Würde es helfen, wenn wir die Emails manuell verschicken oder 2. das Zeitfenster für die Bearbeitung länger geöffnet halten?

Vielen lieben Dank!!!
Herzliche Grüße
by SoSci Survey (330k points)
Update: Wir haben das Problem mit einem Notfall-Update auf www.soscisurvey.de hiermit behoben. Der Wert für "mailsent" sollte nun unabhängig von jeglichen Zeitzonen korrekt ausgelesen werden.

Entschuldigung für die Unannehmlichkeiten und danke, dass Sie so konstruktiv zur Behebung des Problems beigetragen haben!
by s170557 (115 points)
Super, das freut und erleichtert uns sehr!
Vielen Dank für Ihre freundliche und schnelle Unterstützung!

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

...