Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
en:survey:opt-in-live [24.05.2021 10:36] sophia.schaueren:survey:opt-in-live [24.05.2021 14:49] sophia.schauer
Line 64: Line 64:
  
  
-===== Schritt 3: Mailversand automatisieren =====+===== Step 3: Automate Mail Delivery =====
  
-Prinzipiell könnten Sie mit der bisherigen Lösung schon arbeitenDie E-Mail-Adressen werden in der **Adressliste** gespeichert und Sie könnten die Serienmail Nr. manuell versenden, um die Einladung zum zweiten Erhebungszeitpunkt zu versenden.+In principle, you could already work with the previous solutionThe email addresses are stored in the **Address List** and you could send the serial email #manually to send the invitation for the second survey date.
  
-Oftmals soll der Versand der Einladung aber automatisiert erfolgenEntweder zu einem vorab definierten Zeitpunkt oder eine bestimmte Zeitspanne nach dem Aufrunf von A2. Dafür wird im Fragebogen A2 [[:de:create:php|PHP-Code]] verwendetspezifisch der Befehl ''[[:de:create:functions:mailschedule]]''.+Often, however, the sending of the invitation should be automatedEither at a predefined time or a certain period of time after the call of A2. Therefore A2 [[:en:create:php|PHP code]] is used in the questionnairespecifically the command ''[[:en:create:functions:mailschedule]]''.
  
-Fügen Sie auf der ersten Seite des Fragebogens A2 ein Element "PHP-Codeein und darin den folgenden Befehl:+On the first page of the A2 questionnaire, insert a "PHP codeelement and in it the following command:
  
 <code php> <code php>
Line 76: Line 76:
 </code> </code>
  
-Der Befehl ''mailSchedule()'' hat drei Parameter.+The comand ''mailSchedule()'' has three parameters.
  
-  - Der erste spezifiziert den Adresseintrag, an welchen die Einladungsmail geschickt werden sollNachdem unser Teilnehmer durch den (individuellenBestätigungslink zum Fragebogen A2 gelangt istkennt SoSci Survey den richtigen Adresseintrag bereitsdeshalb ist hier ''false'' vermerkt+  - The first one specifies the address entry to which the invitation mail should be sentAfter our participant has reached the questionnaire A2 through the (individualconfirmation link, SoSci Survey already knows the correct address entrytherefore ''false'' is noted here
-  - Der zweite Parameter gibt an, welche Serienmail verschickt werden sollIm Beispiel oben ist das die Serienmail mit der Nummer 2. +  - The second parameter indicates which serial mail should be sentIn the example above, this is the serial mail with the number 2. 
-  - Der dritte Parameter gibt den Zeitpunkt an, wann die Serienmail verschickt werden sollDies kann entweder eine Zeitspanne in Sekunden sein oder ein Unix-ZeitstempelIm obigen Beispiel sind es Tage (7 mal 24 Stunden á 3600 Sekunden). Alterantiv könnten Sie z.B. auch als dritten Parameter eintragen ''strtotime('+7 days')'' oder für einen vordefinierten Zeitpunkt ''strtotime('2020-10-31 08:00:00')''.+  - The third parameter specifies the time when the serial mail should be sentThis can be either a time span in seconds or a Unix timestampIn the example above the timestamp is days (7 times 24 hours á 3600 seconds). Alternatively, you could, for example, enter ''strtotime('+7 days')'' as the third parameter, or ''strtotime('2020-10-31 08:00:00')'' for a predefined time.
  
-**Tipp:** Tragen Sie zum Testen für den dritten Parameter einen kleinen Wert einz.B. 300 Sekunden (5 Minuten).+**Tip:** For testingenter a small value for the third parameter, e.g. 300 seconds (5 minutes).
  
-**Tipp:** Nutzen Sie zum Testen Wegwerf-Mailadressen ([[https://praxistipps.chip.de/wegwerf-email-adressen-diese-anbieter-gibts_1674|Chip: Wegwerf-Email-Adressen]]. Denn wenn eine E-Mail-Adresse schonmal per Opt-In eingetragen wurde, dann werden u.U. keine weiteren Bestätigungsmails mehr an diese Adresse versendet.+**Tip:** Use disposable email addresses for testing ([[https://praxistipps.chip.de/wegwerf-email-adressen-diese-anbieter-gibts_1674|Chip: Disposable email addresses]]. If an e-mail address has already been entered via opt-in, no further confirmation e-mails may be sent to this address.
  
-Man kann die Registrierung mit einer E-Mail-Adresse beliebig oft testensofern man die Adresse anschließend wieder aus der Adressliste löscht (**Einladungen verschicken** -> **Adressliste**). Eine E-Mail-Adresse ist nach Versand der Opt-In-Mail für 10 Minuten blockiert, bevor eine weitere Opt-In-Mail versandt werden kann.+You can test the registration with an e-mail address as often as you likeas long as you delete the address from the address list afterwards (**Send invitations** -> **Address list**). An email address is blocked for 10 minutes after the opt-in email is sent before another opt-in email can be sent.
  
-**Tipp:** Starten Sie den ersten Fragebogen unter **Fragebogen zusammenstellen** im Debug-Modus ({{:button.debug.gif|Fragebogen im Debug-Modus starten}}). Dann können Sie auch außerhalb des in den **Projekt-Einstellugen** festgelegten Befragungszeitraums testen.+**Tip:** Start the first questionnaire under **Create Questionnaire** in debug mode ({{:button.debug.gif|Start questionnaire in debug mode}}). Then you can also test outside the survey period defined in the **Project Settings**.
  
-Wenn Sie nun den ersten Fragebogen aufrufendort eine E-Mail-Adresse eintragen und den Link in der Bestätigungsmail anklickendann können Sie unter **Einladungen verschicken** -> **Adressliste** den neuen Adresseintrag sehenUnd unter **Serienmail** sehen Sie auch, dass der Versand der Serienmail an eine Adresse vorbereitet ist.+If you now call up the first questionnaireenter an e-mail address there and click on the link in the confirmation e-mailthen you can see the new address entry under **Send invitations** -> **Address list**. And under **Serial Mail** you can also see that the sending of the serial mail to an address is prepared.
  
  
-==== Mehrere Serienmails ====+==== Multiple Serial Mails ====
  
-Wenn Sie mehrere Einladungen zu unterschiedlichen Zeitpunkten versenden möchtendann wiederholen Sie den ''mailSchedule()''-Befehl einfach für jede SerienmailIm folgenden Beispiel werden z.B. Einladungen nach 7, 14 und 21 Tagen versendet (Nummern 2, 3, 4) und jeweils eine Erinnerung (Nummern 5, 6, 7) am folgenden Tag.+If you want to send multiple invitations at different timesthen simply repeat the ''mailSchedule()'' command for each serial mailFor example, in the following example, invitations are sent after 7, 14, and 21 days (numbers 2, 3, 4) and one reminder (numbers 5, 6, 7) each on the following day.
  
 <code php> <code php>
-// Einladungsmails+// Invitation mails
 mailSchedule(false, 2, 7 * 24 * 3600); mailSchedule(false, 2, 7 * 24 * 3600);
 mailSchedule(false, 3, 14 * 24 * 3600); mailSchedule(false, 3, 14 * 24 * 3600);
 mailSchedule(false, 4, 21 * 24 * 3600); mailSchedule(false, 4, 21 * 24 * 3600);
-// Erinnerungen+// Reminder
 mailSchedule(false, 5, 8 * 24 * 3600, ['status' => 'no-response']); mailSchedule(false, 5, 8 * 24 * 3600, ['status' => 'no-response']);
 mailSchedule(false, 6, 15 * 24 * 3600, ['status' => 'no-response']); mailSchedule(false, 6, 15 * 24 * 3600, ['status' => 'no-response']);
Line 108: Line 108:
 </code> </code>
  
-Eine Erinnerungsmails erstellen Sie genauso wie eine SerienmailAnschließend wählen Sie im Karteireiter //Erinnerung/Folgemail// bei //Erinnerung/Folgemail für// bitte die Serienmailan welche Sie den Teilnehmer erinnern möchten.+You create a reminder email in the same way as you create a serial emailThen, in the //Reminder/Follow-up mail// tab, under //Reminder/Follow-up mail for//, please select the serial mail to which you would like to remind the participant.
  
  
-===== Hinweise für Teilnehmer =====+===== Note for Respondants =====
  
-Im Fragebogen A1 sollten Sie den Teilnehmer auf Folgendes hinweisen:+In questionnaire A1, you should point out the following to the participant:
  
-  * Je nachdemwelchen Provider oder Mailserver der Teilnehmer verwendet, kann sich die Zustellung der Bestätigungsmail verzögern -- üblich sind bis 30 Minuten+  * Depending on which provider or mail server the subscriber is usingthe delivery of the confirmation mail may be delayed -- usually to 30 minutes
-  * Manchmal verfangen sich Bestätigungsmails im Spam-Filter+  * Sometimes confirmation emails get caught in the spam filter
-  * Zur Fortsetzung der Befragung ist es notwendig, in der Bestätigungsmail auf den Bestätigungslink zu klickenFalls man den Link nicht direkt anklicken kann (sehr selten), muss man ihn evtl. in die Adresszeile des Internet-Browsers kopieren.+  * To continue the surveyit is necessary to click on the confirmation link in the confirmation emailIf you are not able to click on the link directly (very rare), you may have to copy it into the address line of your internet browser.
  
  
-===== Manueller Versand der Einladungen =====+===== Manual Sending of the Invitations =====
  
-Als Alternative zur automatisierten Vorbereitung des Versands von Serienmail Nr. 2 können Sie diese Serienmail auch manuell versenden -- ''mailSchedule()'' fällt dann weg und eventuell auch Fragebogen A2.+As an alternative to the automated preparation of sending serial mail No. 2, you can also send this serial mail manually -- ''mailSchedule()'' is then omitted and possibly also questionnaire A2.
  
-Dieses Vorgehen ist sinnvoll, wenn alle Teilnehmer den Fragebogen ungefähr zur selben Zeit ausfüllen sollenZwar erstreckt sich der Erhebungszeitraum weiterhin über mehrere Tageweil nicht jeder sofort auf die E-Mail reagiert -- gerade bei einer längeren Rekrutierung sind die Daten aber in zeitlicher Hinsicht besser vergleichbar als beim automatischen Versand (wo dafür der Zeitabstand zwischen den beiden Erhebungswellen gleich ist).+This procedure is useful if all participants are to complete the questionnaire at approximately the same timeAlthough the survey period still extends over several daysbecause not everyone responds to the e-mail immediately -- especially in the case of longer recruitment, the data are more comparable in terms of time than with automatic dispatch (where, on the other hand, the time interval between the two survey waves is the same).
  
-  * Es werden eine Weile Adressen gesammelt -- und wenn genug Adressen in der **Adressliste** liegenwird die Serienmail Nr. 2 (Einladung zum Fragebogen "B"an alle verschickt+  * Addresses are collected for a while -- and when there are enough addresses in the **address list**, the serial mail No. 2 (invitation to questionnaire "B"is sent to everyone
-  * Sollte die Rekrutierung danach noch forgesetzt werdenkann die Serienmail nach Bedarf erneut verschickt werdenTeilnehmer, welche die Serienmail schon erhalten haben, erhalten sie __nicht__ erneutSofern weitere Befragungswellen erfolgen sollenkönnen weitere Serienmails verschickt werden.+  * If the recruitment continues after thatthe serial mail can be sent again as neededParticipants who have already received the serial mail will __not__ receive it againIf further survey waves are to be carried outadditional serial e-mails can be sent.
  
  
-===== Datensatz =====+===== Dataset=====
  
-Im Datensatz haben Sie am Ende pro Teilnehmer drei Datenzeilen -- zumindest wenn der Teilnehmer eine gültige E-Mail-Adresse angegeben und die Links in beiden E-Mails angeklickt hat:+In the dataset, you end up with three rows of data per participant -- at least if the participant provided a valid email address and clicked on the links in both emails:
  
-  - Antworten auf "A1" -- die Kennung des Teilnehmers ist hier in der Variable der Opt-In-Frage vermerkt+  - Responses to "A1" -- the identifier of the participant is noted here in the variable of the opt-in question
-  - Antworten auf "A2" -- die Kennung steht hier in der Variable //SERIAL//+  - Responses to "A2" -- the identifier is here in the variable //SERIAL//
-  - Antworten auf "B" -- die Kennung steht hier erneut in //SERIAL//.+  - Responses to "B" -- the identifier is here again in //SERIAL//.
  
-Wenn alle Antworten später in der Statistik-Software zu einer Datenzeile verschmolzen werden sollen (MERGE), dann ist es zweckmäßig, in allen drei Fragebögen unterschiedliche Fragen zu verwendensodass die Variablen unterschiedliche Kennungen bekommenFalls Fragen sowohl in "A" wie auch in "B" abgefragt werden sollenkopieren Sie einfach die entsprechende Rubrik.+If all answers are later to be merged into one data row in the statistical software (MERGE), then it is expedient to use different questions in all three questionnairesso that the variables get different identifiersIf questions are to be asked in both "A" and "B", simply copy the appropriate heading.
  
  
-===== Daten in einer Datenzeile =====+===== Data in a Data Row =====
  
-Statt unterschiedliche Fragebögen für "A2" und "B" zu verwendenkann man die Fragen auch in einem Fragebogen platzieren und mit Unterbrecherseiten arbeitenDas hat den Vorteil, dass die Daten in einer Datenzeile im Datensatz gespeichert werdenAußerdem können Filter in Teil "B" auf Antworten aus "A2" zurückgreifen. In diesem Fall kommt ''[[:de:create:functions:mailresume|mailResume()]]'' statt ''mailSchedule()'' zum Einsatz.+Instead of using different questionnaires for "A2" and "B", you can also place the questions in one questionnaire and work with interrupter pagesThis has the advantage that the data is stored in one data row in the data setIn addition, filters in part "B" can refer to answers from "A2". In this case ''[[:en:create:functions:mailresume|mailResume()]]'' is used instead of ''mailSchedule()''.
  
-Das folgende Beispiel demonstriert die Verwendung von ''[[:de:create:functions:mailresume|mailResume()]]'' und ''[[:de:create:functions:mailrevoke|mailRevoke()]]'' für eine Erhebung mit drei Messzeitpunktenwobei alle Daten eines Teilnehmers in derselben Datenzeile gespeichert werdenMögliche Einsatzbereiche sind z.B. eine VerlaufsmessungInterventionsstudie oder Prä-/Post-Untersuchungen.+The following example demonstrates the use of ''[[:en:create:functions:mailresume|mailResume()]]'' and ''[[:create:functions:mailrevoke|mailRevoke()]]'' for a survey with three measurement time pointswhere all data of a participant is stored in the same data rowPossible areas of application are, for example, a course measurementintervention study or pre/post examinations.
  
  
-==== Funktionen ====+==== Fuctions ====
  
-  * Teilnehmer erhalten automatisch nach einer bestimmter Zeit die Einladung zum nächsten Messzeitpunkt (nächsten Fragebogenteilund sollen vor Ablauf dieser Zeit auch keinen Zugriff auf die Fragen des nächsten Fragebogenteils haben+  * Participants automatically receive an invitation to the next measurement point (next questionnaire partafter a certain time and should not have access to the questions of the next questionnaire part before this time has expired
-  * Teilnehmer erhalten automatische Erinnerungsmails, falls sie nicht innerhalb einer bestimmten Zeit auf die erste Einladung zum nächsten Messzeitpunkt reagieren.+  * Participants receive automatic reminder emails if they do not respond to the first invitation to the next measurement point within a certain time.
  
  
-==== Vorbereitungen ====+==== Preparations ====
  
-Alle Fragebogen-Teile werden in einem Fragebogen hintereinander angeordnetAls Zugriffsmodus für den Fragebogen wird "Serienmaileingestellt.+All questionnaire parts are arranged one after the other in one questionnaire. "Serial mailis set as the access mode for the questionnaire.
  
-Falls die E-Mail-Adressen der Teilnehmer __nicht__ vorab bekannt sindwird ein zweiter Fragebogen mit einer Frage [[:de:create:questions:opt-in|Opt-In für E-Mail-Verteiler]] erstelltFür diesen Fragebogen wird der Zugriffsmodus "öffentlicheingestellt.+If the email addresses of the participants are __not__ known in advancea second questionnaire with a question [[:en:create:questions:opt-in|Opt-In for email distribution list]] is createdFor this questionnaire, the access mode is set to "public".
  
-Legen Sie eine Serienmail (im Beispiel ID 1) anwelche nach Tagen als Einladung für den Messzeitpunkt verschickt werden sollIm Karteireiter "Erinnerungen/Folgemailwird unter "Art der Folgemail“ eingestelltdass es eine Erinnerung oder Fortsetzung istIm Text der E-Mail muss (wie üblich) der Platzhalter %link% verwendet werden.+Create a serial mail (in the example ID 1), which should be sent after days as an invitation for the measurement time point 2. In the "Reminders/follow-up mailtab, under "Type of follow-up mail", it is set that it is a reminder or a continuationThe wildcard %link% must be used in the text of the e-mail (as usual).
  
-Legen Sie zwei weitere Serienmails (im Beispiel ID 2 und 3) anDiese dienen als Erinnerung, wenn der Teilnehmer den zweiten Fragebogen-Teil nach bzw. 11 Tagen noch noch ausgefüllt hat (Einstellungen wie bei der Serienmail 1).+Create two more serial mails (in the example ID 2 and 3). These serve as a reminder if the participant has still completed the second questionnaire part after or 11 days (settings as for serial mail 1).
  
-Legen Sie drei weitere Serienmails (im Beispiel ID 4-6) anEine Einladung zum dritten Teil und zwei Erinnerungen (Einstellungen wie bei der Serienmail 1).+Create three more serial mails (in the example ID 4-6): An invitation to the third part and two reminders (settings as for serial mail 1).
  
  
-==== PHP-Code für Zeitpunkt 1 ====+==== PHP Code for Time 1 ====
  
-Die Werte (Zahlenim PHP-Code sind entsprechend der jeweiligen Studie anzupasseninsbesondere Zeitabstände und die Serienmail-IDs.+The values (numbersin the PHP code are to be adjusted according to the respective studyespecially time intervals and the serial mail IDs.
  
-Zwischen dem ersten und zweiten Fragebogen-Teil wird beim Fragebogen zusammenstellen eine zusätzlich Seite eingefügt (Unterbrecherseite). Die Unterbrecherseite hat folgende Funktion:+Between the first and the second part of the questionnaire an additional page is inserted (interrupter page). The interrupter page has the following function:
  
-  * Sie versendet mittels ''mailResume()'' die Einladung zum nächsten Fragebogen Teil+  * It sends the invitation to the next questionnaire part by means of ''mailResume()''
-  * Wenn der Teilnehmer die Seite erstmals aufruft (am Ende des ersten Fragebogen-Teils), zeigt sie eine Verabschiedung+  * When the participant first accesses the page (at the end of the first part of the questionnaire), it shows a farewell
-  * Wenn der Teilnehmer die Seite erneut aufruft (nachdem er die Einladung zum zweiten Fragebogen-Teil bekommen hatleitet sie direkt weiter zur nächsten Seite.+  * When the participant accesses the page again (after receiving the invitation to the second questionnaire partit directly redirects to the next page.
  
-**Wichtig:** Der Teilnehmer muss sich tatsächlich bis zu der Seite auf welcher der PHP-Code eingefügt wurde durchklickenAnsonsten wird keine Einladungsmail verschicktIst die letzte Seite des ersten Fragebogens bereits eine Verabschiedungkann auch diese Seite als Unterbrecherseite dienen. In diesem Fall benötigen Sie keine weitere Seite zwischen den beiden Fragebogen-Teilen. Beachten Sie dann aber bittedass die Verabschiedung __nicht__ "in die Seite gezogen", sondern mit dem Befehl ''text()'' im PHP-Code angezeigt wirdFalls der Text bereits auf die Seite gezogen wurdeentfernen Sie ihn von der Seite bevor (oder nachdemSie den PHP-Code einfügen.+**Importanta:** The participant must actually click through to the page on which the PHP code was insertedOtherwise, no invitation email will be sentIf the last page of the first questionnaire is already a farewellthis page can also serve as a breaker page. In this caseyou do not need another page between the two questionnaire parts. But then please note that the goodbye is __not__ "dragged into the page", but displayed with the ''text()'' command in the PHP codeIf the text has already been dragged onto the pageremove it from the page before (or afteryou insert the PHP code.
  
-Beim **Fragebogen zusammenstellen** wird auf der Unterbrecherseite folgender PHP-Code platziert:+When **Compose Questionnaire**, the following PHP code is placed on the breaker page:
  
 <code php> <code php>
-// Die Zeit des ersten Aufrufs der Unterbrecherseite wird in Variable $timepart1 gespeichert +// The time of the first call of the breaker page is stored in variable $timepart1 
-// isset() und registerVariable() verhindern, dass diese Zeit beim erneuten Aufruf der Seite (z.BNeuladen der Seitegeändert wird und/oder dass E-Mails doppelt geplant werden+// isset() and registerVariable() prevent that this time is changed when the page is called again (e.greloading the pageand/or that emails are scheduled twice
 if (!isset($timepart1)) { if (!isset($timepart1)) {
-  // Zeit speichern+  // sve time
   $timepart1 = time();   $timepart1 = time();
   registerVariable($timepart1);   registerVariable($timepart1);
  
-  // Einladung mit der Serienmail ID 1 zum zweiten Messzeitpunkt nach Tagen senden +  // Send invitation with serial mail ID 1 at the second measurement point after days 
-  // Der Zeitabstand wird jeweils in Sekunden angegeben: 7 x 24 x 3600 Sekunden = 7 Tage+  // The time interval is given in seconds: 7 x 24 x 3600 seconds = 7 days
   mailResume(false, 1, 7 * 24 * 3600);   mailResume(false, 1, 7 * 24 * 3600);
  
-  // Erste Erinnerungsmail mit Serienmail ID 2 nach Tagen senden +  // Send first reminder mail with serial mail ID 2 after days 
-  // (d.hzwei Tage nach der ersten Einladung zum zweiten Messzeitpunkt)+  // (i.etwo days after the first invitation to the second measurement point).
   mailResume(false, 2, 9 * 24 * 3600);   mailResume(false, 2, 9 * 24 * 3600);
  
-  // Zweite Erinnerungsmail mit Serienmail ID 3 nach 11 Tagen senden +  // Send second reminder mail with serial mail ID 3 after 11 days 
-  // (d.hvier Tage nach der ersten Einladung)+  // (i.efour days after the first invitation)
   mailResume(false, 3, 11 * 24 * 3600);   mailResume(false, 3, 11 * 24 * 3600);
  
  
-// Prüfen, wie viel Zeit seit dem ersten Aufruf der Seite vergangen ist+// Check how much time has passed since the page was first accessed
 if ((time() - $timepart1) < 7 * 24 * 3600) { if ((time() - $timepart1) < 7 * 24 * 3600) {
-  // Unterbrecherseite anzeigen falls es weniger als Tage sind+  // Show breaker page if it is less than days
-  // damit Teilnehmer nicht schon früher die Fragen des zweiten Messzeitpunkts sehen können+  // so that participants cannot see the questions of the second measurement time point earlier
-  option('resume', true); // Kein Hinweis, dass das Interview fortgesetzt wird +  option('resume', true); // No indication that the interview will be continued 
-  option('nextbutton', false); // Weiter-Knopf ausblenden (Interview unterbrechen+  option('nextbutton', false); // Hide next button (pause interview
-  text('ende1');  // Evtl. eine Verabschiedung zum ersten Fragebogen-Teil anzeigen+  text('ende1');  // Possibly show a farewell to the first questionnaire part
 } else { } else {
-  // Ist der Teilnehmer nach Tagen zurückgekehrt und somit die aktuelle Zeit minus die neue Zeit-Variable +  // If the participant has returned after days and thus the current time minus the new time variable 
-  // größer als Tage istdann wird die Befragung auf der nächsten Seite fortgesetzt+  // is greater than daysthen the survey continues on the next page
   goToPage('next');   goToPage('next');
 } }
Line 217: Line 217:
  
  
-==== PHP-Code für Zeitpunkt 2 ====+==== PHP Code for Time 2 ====
  
-Zwischen dem zweiten und dritten Fragebogen-Teil wird erneut eine Unterbrecherseite platziert oder alternativ auf der letzten Seite des zweiten Fragebogen-TeilsDer PHP-Code entspricht weitgehend dem obigen CodeAllerdings sorgt mailRevoke() dafür, dass eventuell noch ausstehende Erinnerungen (Serienmails ID 2 und 3) nicht mehr versendet werden.+Between the second and third questionnaire part a breaker page is placed again or alternatively on the last page of the second questionnaire partThe PHP code is largely the same as the code aboveHowever, mailRevoke() ensures that any outstanding reminders (serial mails ID 2 and 3) are no longer sent.
  
 <code php> <code php>
-// Neue Zeit-Variable für die zweiten Zeitpunkt+// New time variable for the second time point
 if (!isset($timepart2)) { if (!isset($timepart2)) {
   $timepart2 = time();   $timepart2 = time();
   registerVariable($timepart2);   registerVariable($timepart2);
-  // Erinnerungsmails löschen, falls diese noch ausstehen+  // Delete reminders if they are still pending
   mailRevoke(false, 2);   mailRevoke(false, 2);
   mailRevoke(false, 3);   mailRevoke(false, 3);
  
-  // Einladung zum dritten Messzeitpunkt mit der Serienmail ID 4 nach Tagen senden+  // Send invitation to third measurement point with serial mail ID 4 after days
   mailResume(false, 4, 7 * 24 * 3600);   mailResume(false, 4, 7 * 24 * 3600);
  
-  // Erste Erinnerungsmail nach Tagen+  // First reminder after days
   mailResume(false, 5, 9 * 24 * 3600);   mailResume(false, 5, 9 * 24 * 3600);
  
-  // Zweite Erinnerungsmail nach 11 Tagen+  // Second reminder after 11 days
   mailResume(false, 6, 11 * 24 * 3600);   mailResume(false, 6, 11 * 24 * 3600);
  
  
-// Unterbrechung für Tage+// Interruption for days
 if ((time() - $timepart2) < 7 * 24 * 3600) { if ((time() - $timepart2) < 7 * 24 * 3600) {
   option('resume', true);   option('resume', true);
Line 250: Line 250:
  
  
-==== PHP-Code für Zeitpunkt 3 ====+==== PHP Code for Time 3 ====
  
-Auf der vorletzten Seite des Fragebogens müssen noch die eventuell ausstehenden Erinnerungsmails gelöscht werden.+On the third to last page of the questionnaire, any outstanding reminder emails still need to be deleted.
  
 <code php> <code php>
Line 260: Line 260:
  
  
-==== Hinweise ====+==== Notes ====
  
-**Wichtig:** Platzieren Sie auf den Unterbrecherseiten keine Fragen -- der PHP-Code oben sieht lediglich einen Text vor (DankeVerabschiedung und Hinweis auf den nächsten Messzeitpunkt).+**Important:** Do not place any questions on the breaker pages -- the PHP code above only provides for text (thank you, goodbyeand hint for the next measurement point).
  
-**Hinweis:** Die Einladung zum dritten Fragebogen-Teil erfolgt relativ zu dem Zeitpunkt, wenn der Teilnehmer der Einladung zu Teil gefolgt istWenn er also Teil erst 10 Tage nach Teil ausfülltdann wird die Einladung zu Teil erst 17 Tage nach dem Ausfüllen von Teil verschicktAlternativ könnte man alle (!) Einladungen und Erinnerungen gleich am Ende von Teil einplanenDer Filter am Ende von Teil müsste sich dann auf ''$timepart1'' statt ''$timepart2'' beziehen.+**Note:** The invitation to the third questionnaire part takes place relatively at the time when the participant has accepted the invitation to part 2. So if he completes Part only 10 days after Part 1, then the invitation to Part will not be sent until 17 days after Part is completedAlternatively, you could schedule all (!) invitations and reminders right at the end of Part 1. The filter at the end of part should then refer to ''$timepart1'' instead of ''$timepart2''.
  
-**Hinweis:** In der Adressliste ist der Teilnahmestatus für die Fortsetzungs- und Erinnerungs-Serienmails __nicht__ ersichtlich (graue Markierung für die Serienmails). Der Teilnahmestatus wird nur für eine eventuelle Opt-in Serienmail angezeigtUm den Teilnahmestatus jedoch nachzuvollziehen kann man sich die bereits erhobenen Daten ansehenEine individuelle Zuordnung anhand der Variable SERIAL ist allerdings nur möglichwenn die E-Mail-Adresse mit der Einstellung "Personalisierter Eintragfür "Anonymitätimportiert wurden.+**Note:** In the address list, the participation status for the continuation and reminder serial mails __not__ is visible (gray marking for the serial mails). The participation status is only displayed for a possible opt-in serial mailHowever, in order to track the participation status, one can look at the data already collectedAn individual assignment based on the SERIAL variable ishowever, only possible if the e-mail address was imported with the "Personalized entrysetting for "Anonymity".
  
-**Tipp:** Man kann dieselben Erinnerungsmails mehrfach verwenden (mit einem allgemein gefassten Erinnerungstext). Im obigen Beispiel könnte man z.B. Serienmail ID 2 für alle Erinnerungen (also statt den Serienmails ID 3, 5 und 5) senden.+**Tip:** You can use the same reminders multiple times (with a general reminder text). In the above example, you could send serial mail ID 2 for all reminders (so instead of serial mails ID 3, 4 and 5).
en/survey/opt-in-live.txt · Last modified: 07.09.2022 20:57 by admin
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki