Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:functions:mailresume [01.03.2015 14:00] – [mailResume()] adminde:create:functions:mailresume [20.11.2023 15:48] (aktuell) – [Unterbrechung eines Interviews] admin
Zeile 10: Zeile 10:
   * //Serienmail//\\ (Numerische) Kennung der Serienmail, die an den Teilnehmer verschickt werden soll. Im Karteireiter //Erinnerungen/Folgemail// der Serienmail muss für //Art der Folgemail// der Wert "Erinnerung oder Fortsetzung" eingestellt sein. Bitte beachten Sie die Hinweise unten.   * //Serienmail//\\ (Numerische) Kennung der Serienmail, die an den Teilnehmer verschickt werden soll. Im Karteireiter //Erinnerungen/Folgemail// der Serienmail muss für //Art der Folgemail// der Wert "Erinnerung oder Fortsetzung" eingestellt sein. Bitte beachten Sie die Hinweise unten.
   * //Zeitpunkt//\\ Entweder die Verzögerung bis zum Versand (in Sekunden, maximal 153900000) __oder__ ein Unix-Zeitstempel, der den Zeitpunkt für den nächsten Versand definiert.   * //Zeitpunkt//\\ Entweder die Verzögerung bis zum Versand (in Sekunden, maximal 153900000) __oder__ ein Unix-Zeitstempel, der den Zeitpunkt für den nächsten Versand definiert.
-  * //C1// bis //C5// (optional)\\ Wenn Sie hier einen Text angeben (optional), können Sie diesen Text mithilfe der Platzhalter ''%custom1%'' bis ''%custom5%'' in der Serienmail verwenden. In Verbindung mit ''value()'' können Sie Beispielsweise Antworten aus dem laufenden Interview in der E-Mail anzeigen.+  * //C1// bis //C5// (optional)\\ Wenn Sie hier einen Text angeben (optional), können Sie diesen Text mithilfe der Platzhalter ''%custom1%'' bis ''%custom5%'' in der Serienmail verwenden. In Verbindung mit ''value()'' können Sie beispielsweise Antworten aus dem laufenden Interview in der E-Mail anzeigen.
  
 ===== Hinweise ===== ===== Hinweise =====
Zeile 27: Zeile 27:
  
 Im folgenden Beispiel wurde der Teilnehmer mittels Serienmail zum Fragebogen eingeladen. In der Mitte des Fragebogens wird eine Unterbrecher-Seite (''[[:de:create:functions:buttonhide|buttonHide()]]'') platziert und der Text "ende1" angezeigt. Nach der 24 Stunden erhält der Teilnehmer eine E-Mail, dass er nun den zweiten Teil des Frgebogens ausfüllen möge. Der Link in der E-Mail führt ihn zur nächsten Seite im vorher unterbrochenen Fragebogen. Im folgenden Beispiel wurde der Teilnehmer mittels Serienmail zum Fragebogen eingeladen. In der Mitte des Fragebogens wird eine Unterbrecher-Seite (''[[:de:create:functions:buttonhide|buttonHide()]]'') platziert und der Text "ende1" angezeigt. Nach der 24 Stunden erhält der Teilnehmer eine E-Mail, dass er nun den zweiten Teil des Frgebogens ausfüllen möge. Der Link in der E-Mail führt ihn zur nächsten Seite im vorher unterbrochenen Fragebogen.
 +
 +**Wichtig:** Die Funktion ''caseTime()'' funktioniert nur dann korrekt, wenn Sie in den **Projekt-Einstellungen** im Karteireiter //Datenschutz// das Häkchen bei "Zeit und Verweildauer während der Befragung aufzeichnen" nicht entfernt haben. Die Verweildauer ist für die hier vorgeschlagenen Unterbrecherseiten eine erforderliche Information.
  
 <code php> <code php>
Zeile 58: Zeile 60:
   // Zeit speichern   // Zeit speichern
   $timeBreak1 = time();   $timeBreak1 = time();
-  registerVariable('timeBreak1');+  registerVariable($timeBreak1);
   // E-Mail vorbereiten   // E-Mail vorbereiten
   // Serienmail mit der Kennung 2 genau in 14 Tagen versenden   // Serienmail mit der Kennung 2 genau in 14 Tagen versenden
Zeile 89: Zeile 91:
 mailResume('ABCDE123', 3, 0); mailResume('ABCDE123', 3, 0);
 </code> </code>
 +
 +
 +===== Serienmail nach Opt-In-Frage =====
 +
 +Mit einer Frage vom Typ [[:de:create:questions:opt-in]] kann man im Fragebogen E-Mail-Adressen abfragen und direkt in die Adressliste (**Einladungen verschicken** -> **Adressliste**) eintragen, sodass man später Serienmails an die E-Mail-Adressen versenden kann.
 +
 +Dieser Abschnitt erklärt, wie man mittels ''[[:de:create:functions:mailschedule]]'' automatisch den zeitgesteuerten oder unmittelbaren Versand einer Serienmail an die eingetragene E-Mail-Adresse auslöst.
 +
 +Bei der Opt-In-Frage gibt es zwei Mechanismen: Das Double-Opt-In (der Teilnehmer muss den Adresseintrag erst via Bestätigungsmail bestätigen, empfohlen) und das Single-Opt-In, bei welchem die (möglicherweise falsche) E-Mail-Adresse direkt gespeichert wird.
 +
 +  - Beim Double-Opt-In ist es sinnvoll, den Versand erst nach Bestätigung der Mailadresse auszulösen. Wie das funktioniert wird in folgendem Kapitel erläutert: [[:/de:survey:opt-in-live]]
 +  - Wenn die Serienmail direkt verschickt werden soll, kann man die Bestätigungsmail der (Double-)Opt-In-Frage zugleich als Einladungsmail zu einem Fragebogen genutzt werden (//Weitere Einstellungen// -> //Weiterleitung nach Bestätigung// -> //Fragebogen-Link aus//). Allerdings ist der Link in der Bestätigungsmail nur 24 Stunden gültig. Eine "richtige" Serienmail-Einladung ist i.d.R. für den gesamten Erhebungszeitraum gültig, sofern die Gültigkeit in den Serienmail-Einstellungen nicht begrenzt wird.
 +  - Wenn eine "richtige" Serienmail im Anschluss an ein Single-Opt-In verschickt werden soll, kommt der Befehl ''mailSchedule()'' zum Einsatz. Dies wird nachfolgend genauer erläutert.
 +
 +Der PHP-Code mit dem ''mailSchedule()'' wird (frühestens) auf der Seite platziert, welche auf die Opt-In-Frage folgt. Denn erst dort kennt der Befragungsserver die neue E-Mail-Adresse und hat ihr eine Personenkennung (SERIAL) zugewiesen. Diese Personenkennung ist als erster Parameter für die Funktion ''mailSchedule()'' erforderlich (so sonst häufig ''false'') verwendet wird. Woher bekommt man die Kennung? Wenn der Teilnehmer in der Opt-In-Frage eine E-Mail-Adresse eingetragen hat, dann ist sie im Datensatz in einer Variable vermerkt, welche dieselbe Kennung wie die Opt-In-Frage hat.
 +
 +Im folgenden Beispiel hätte die Opt-In-Frage auf Seite 9 die Kennung "OI01". Auf Seite 10 (oder später) würde der folgende PHP-Code dann sofort die Serienmail mit der ID 2 versenden. Das ''value('OI01')'' liefert die Teilnehmerkennung (SERIAL) des neuen Adresseintrags.
 +
 +<code php>
 +mailSchedule(value('OI01'), 2, 0);
 +</code>
 +
 +Der folgende PHP-Code würde die Serienmail mit der ID 3 nach 14 Tagen versenden:
 +
 +<code php>
 +mailSchedule(value('OI01'), 3, strtotime('+7 days'));
 +</code>
 +
 +Es können natürlich auch mehrere Serienmails vorbereitet werden:
 +
 +<code php>
 +mailSchedule(value('OI01'), 2, 0);
 +mailSchedule(value('OI01'), 3, strtotime('+7 days'));
 +mailSchedule(value('OI01'), 4, strtotime('+14 days'));
 +</code>
 +
 +Wenn die Möglichkeit besteht, dass der Teilnehmer keine E-Mail-Adresse einträgt, sollte noch ein ''if'' ergänzt werden, um Fehlermeldungen zu vermeiden:
 +
 +<code php>
 +$serial = value('OI01');
 +if ($serial) {
 +  mailSchedule($serial, 2, 0);
 +  mailSchedule($serial, 3, strtotime('+7 days'));
 +  mailSchedule($serial, 4, strtotime('+14 days'));
 +}
 +</code>
 +
 +Beachten Sie, dass die Personenkennung (SERIAL) hier in einer PHP-Variable (''$serial'') zwischengespeichert wird, um sie direkt in den ''mailSchedule()''-Aufrufen zu verwenden. Selbstverständlich könnte hier ebenso ''value('OI01')'' stehen.
de/create/functions/mailresume.1425214806.txt.gz · Zuletzt geändert: 01.03.2015 14:00 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki