0 votes
in SoSci Survey (dt.) by s247186 (115 points)

Für eine Studie nutzen wir SoSciSurvey zur separaten Erhebung von Kontaktdaten nach einer Befragung auf LimeSurvey. Die Teilnehmenden werden am Ende der Befragun zu SoSci weitergeleitet.
Zur einfacheren Weiterverarbeitung soll bei der Eingabe einer ID-Kennung sowie der Mailadresse der Teilnehmenden eine automatische Fehlermeldung bei inkorrekter Wiedereingabe erscheinen (feld 1: eingabe, feld 2: bestätigung --> nicht übereinstimmend: FEHLER). Über PHP-Codes gelingt dies nicht, was genau kann ich eingeben, damit eine solche Meldung erscheint?

Zudem würden wir gern eine automatische Bestätigungsmail an die Teilnehmenden senden, sobald sie die Daten vollständig eingetragen haben, mit einer Zusammenfassung der eingegebenen Informationen. Dies scheint nur über den Opt-In-Verteiler zu gehen, ist das korrekt, oder gibt es eine andere Möglichkeit?

Und zuletzt sollen die Teilnehmer 6 Monate nach Ausfüllen der Befragung eine automatische Wiedereinladung zur Folgebefragung erhalten, mit einem Link zur Umfrage auf LimeSurvey. ist dies technisch überhaupt möglich, und wenn ja, wei?

Vielen Dank und freundliche Grüße

1 Answer

+1 vote
by SoSci Survey (353k points)

soll bei der Eingabe einer ID-Kennung sowie der Mailadresse der Teilnehmenden eine automatische Fehlermeldung bei inkorrekter Wiedereingabe erscheinen

Das können Sie über JavaScript lösen, verbunden mit SoSciTools.questionnaire.attachCheck(), vgl. SoSciTools.

Zudem würden wir gern eine automatische Bestätigungsmail an die Teilnehmenden senden, sobald sie die Daten vollständig eingetragen

Ja, korrekt, das ist nur in Verbindung mit einer Opt-In-Frage möglich. Denn die getrennte Erhebung von Kontaktdaten trennt selbige unmittel vom Datensatz ab, sodass SoSci Survey direkt nach dem Klick auf "Weiter" bereits vergessen hat, an wen verschickt werden soll.

Und zuletzt sollen die Teilnehmer 6 Monate nach Ausfüllen der Befragung eine automatische Wiedereinladung zur Folgebefragung erhalten, mit einem Link zur Umfrage auf LimeSurvey.

Scher nachzuvollziehen, warum Sie unbedingt mit LimeSurvey arbeiten wollen ;)

Aber ja, wenn Sie eine Opt-In-Frage verwenden, dann können Sie mittels mailSchedule() auch automatisiert eine Serienmail in 6 Monaten verschicken. Je nachdem, ob Sie ein Single- oder Double-Opt-In verwenden, ist es ein wenig einfacher oder ein wenig anspruchsvoller (zweiteres s. Mehrwellige Befragungen bei Selbstrekrutierung).

In der Serienmail würden Sie dann einfach keinen Platzhalter %link% verwenden, sondern den Link, den Sie versenden möchten, evtl. zusammen mit der ID, die Sie z.B: über %custom1% einfügen könnten, wenn sie sie über ein entsprechendes benutzerdefiniertes Feld abgefragt haben.

by s247186 (115 points)
Hallo, erst mal herzlichen Dank für die Rückmeldung. Die Bearbeitung der Umfrage ist inzwischen weiter vorangekommen und eine neue Frage hat sich ergeben:

ist es möglich, zb. durch Wählen der Option "Datenschutz: Personenbezogen" Zugriff auf die eigegebenen Mailadressen zu erhalten?
Wir benötigen diese im Rahmen der weiteren Koordination der Studie. Dies wird in der vorher eingeholten Einwilligungserklärung ausführlich erläutert und ist damit datenschutzrechlich konform. Meine Frage bezieht sich auf die rein technische Möglichkeit der Einsicht im Rahmen der Opt-In Frage.

und: wäre es alternativ nötig/möglich, die Mailadressen ein weiteres Mail abzufragen und sie auf Korrektheit zu prüfen, indem mit der Eingabe im Opt-In-Feld verglichen wird?
by SoSci Survey (353k points)
> ist es möglich, zb. durch Wählen der Option "Datenschutz: Personenbezogen" Zugriff auf die eigegebenen Mailadressen zu erhalten?

Ja ... aber wenn Sie mit personenbezogenen Daten arbeiten möchten, dann sind Sie im Geltungsbereich der DSGVO - und dann brauchen Sie nicht nur einen passenden AVV, sondern dann fällt auch die kostenlose Nutzung auf www.soscisurvey.de weg, denn für die Verarbeitung personenbezogener Daten ist nur der Pro-Server s2survey.net ausgelegt.

>  wäre es alternativ nötig/möglich, die Mailadressen ein weiteres Mail abzufragen und sie auf Korrektheit zu prüfen

Nein, das ist bisher nicht vorgesehen. Erstens nervt es die meisten Nutzer, wenn man die Mailadresse doppelt eingeben muss, zweitens kopieren viele die Angabe einfach - und dann werden Typos wieder nicht entdeckt und drittens vertippen sich Leute gerne auch doppelt, z.B. wenn sie hotmail.de statt hotmail.com schreiben.
by s247186 (115 points)
alles klar, danke.

zur ersten Rückmeldung: das ist kein Problem, wir haben den passenden AVV und eine Pro-Version von SoSci.
Ich habe jetzt alles über ein Skript im internen Code gemacht, bin aber unsicher, ob er so funktioniert (inkl. autmatisch versendeten Mails):

<?xml version="1.0"?>
<questionnaire>

<!-- Seite 1 -->
<page intID="1">

  <!-- Fragen -->
  <question id="KD01" intID="3" />   <!-- LENa-ID -->
  <question id="KD05" intID="7" />   <!-- Name -->
  <question id="KD03" intID="9" />   <!-- E-Mail + Bestätigen -->
  <question id="KD06" intID="4" />   <!-- Nachsorgestandort -->

  <!-- Postprocessing: Speichern für Serienmail -->
  <postprocessing intID="5"><![CDATA[
put('custom1', value('KD01_01'));  // LENa-ID
put('custom2', value('KD06'));     // Standort
put('mail', value('KD03_01'));     // E-Mail-Adresse
]]></postprocessing>

  <!-- Eingabekontrolle -->
  <html intID="6"><![CDATA[
<script>
SoSciTools.questionnaire.attachCheck(function() {
    var id1 = document.getElementsByName('KD01_01')[0].value.trim();
    var id2 = document.getElementsByName('KD01_02')[0].value.trim();
    if (id1 !== id2) {
        alert("Die beiden ID-Eingaben stimmen nicht überein. Bitte überprüfen Sie Ihre Eingabe.");
        return false;
    }

    var mail1 = document.getElementsByName('KD03_01')[0].value.trim();
    var mail2 = document.getElementsByName('KD03_02')[0].value.trim();
    if (mail1 !== mail2) {
        alert("Die beiden E-Mail-Adressen stimmen nicht überein. Bitte überprüfen Sie Ihre Eingabe.");
        return false;
    }

    return true;
});
</script>
]]></html>

</page>

<!-- Seite 2: Abschluss & Mailversand -->
<page intID="2">



  <!-- Serienmail auslösen -->
  <postprocessing intID="11"><![CDATA[
mailSend('ID 1');
]]></postprocessing>

</page>

</questionnaire>


für die 6-Monate-Nachbefragung würde ich dann eine weitere Serienmail erstellen, korrekt?
by SoSci Survey (353k points)
Sehr gut, wenn es da keine DSGVO-Probleme gut.

Im Prinzip kann man mit JavaScript arbeiten. Allerdings würde ich da empfehlen, das Opt-In-Feld und ein weiteres Texteingabefeld zu verwenden. Im Moment sind es scheinbar zwei normale Texteingabefelder.

Falls man die Mailadresse nicht unbedingt direkt im Datensatz stehen haben wollte, könnte man auch noch mit dropValue() arbeiten.

Der mailSend()-Aufruf ist auch nocht nicht korrekt, aber ich vermute, das war nur symbolisch bisher.

Je nachdem, wie der weitere Plan ist, müsste es wahrscheinlich auch mailSchedule() sein und dort müsste dann entweder die Personenkennung aus der Opt-In-Frage übergeben werden oder es müsste nach dem Opt-In passieren, vgl. https://www.soscisurvey.de/help/doku.php/de:survey:opt-in-live
by s247186 (115 points)
Hallo noch mal,

ich habe die Sendung der automatischen Mails nun mittels Opt-In Verfahren einstellen können.
Es gelingt mir allerdings nicht, die erhobenen Daten in die Mail einzubauen. Ich habe es mit Platzhaltern versucht, die ich im internen Code definiert habe; bei Testläufen erreicht mich jedoch immer nur eine Mail mit Platzhaltern, nicht mit meinen eingegebenen Test-Daten.
Woran kann das liegen und was kann ich versuchen?
Viele Grüße
by SoSci Survey (353k points)
Möchten Sie die Platzhgalter direkt in der Opt-In-Bestätigungsmail verschicken oder geht es um eine separate E-Mail, die später z.B. per mailSchedule() verschickt wird?
by s247186 (115 points)
eine (bzw. zwei) separate Mails mit MailSchedule.
by SoSci Survey (353k points)
Bitte verwenden Sie in den Mails die Platzhalter %custom1% bis %custom5% und geben Sie deren Inhalt direkt im mailSchedule() an, z.B.

mailSchedule(null, 1, 24 * 3600, [
  '%custom1%' => value('AB01', 'label'),
  '%custom2%' => value('AB02_01')
]);

Falls die Informationen noch aus dem OptIn-Fragebogen zum Fragebogen mit dem mailSchedule() übertragen werden müssen, wäre das hier der eleganteste Weg dafür: https://www.soscisurvey.de/help/doku.php/de:create:databank#daten_zwischen_interviews_austauschen

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

...