Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Wiederaufnahme von Umfrage verbuggt komplett ohne Cookies

  • SebastianL
  • SebastianL's Avatar Topic Author
  • Away
  • New Member
  • New Member
More
1 day 1 hour ago #270302 by SebastianL
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version:  LimeSurvey Community Edition
Version 3.28.76Eigener Server oder LimeSurvey-Cloud: Academic Cloud der GWDG (Uni-Göttingen)
Genutzte Designvorlage: Vanilla
==================
Hallo zusammen,

meine Umfrage läuft eigentlich rund und wurde vor der Veröffentlichung auch mehrfach getestet. Eine Sache habe cih jedoch nciht getestet, nämlich wie die Wiederaufnahme nach Unterbrechung funktioniert. Nun melden sich bei mir einige TN, deren Umfrage verbuggt ist.

Konkret kommt folgender Error: One or more mandatory questions have not been answered. You cannot proceed until these have been completed.
Und noch schlimmer: keine Items werden mehr angezeigt.

Kurz zur Umfrage: fast jedes Item ist verpflichtend und davon hat jedes Item eine Relevanzgleichung. Diese ist von einem TN-Attribut abhängig (ich nutze das zur blockweisen Randomisierung von Teilfragen: jedes Item hat zwei Ausführungen und nur eine wird jeweils angezeigt). Jede/r TN hat eine einzigartiges Token und halt das randoisierungsattribut 1 oder 0.

Nun sollte es ja für das Pausieren und Wiederaufnehmen völlig egal sein, ob item verpflichtend sind oder nicht. Und das Attribut, welches die Anzeige der Items bestimmt sollte ja auch unabhängig von der Sitzung sein.

Bisher habe ich folgednes getestet:
neuen TN anlegen -> neuen Einladungs-Link versenden -> bisherige Antworten übertragen -> "Resume later" klicken -> neuen Einladungs-Link versenden -> testen

Das führt dazu, dass ich mit dem neuen Link tatsächlich in den aktuellen (übertragenen) Stand der Umfrage komme, aber wenn ich den Link über einen Inkognito-Tab öffen (Firefox) oder einen anderen Browser nutze (Edge) als ich für das Übertragen gentzt habe, bekomme ich wieder den Error. D.h. der/die TN kann mit dem Link nichts anfangen, auch wenn es bei mir klappt.

Es scheint mir fast, als wären Cookies oder sowas essenziell für das problemlose Wiederaufnehmen der Umfrage, was ja absurt ist, weil man dann ja nie Geräte wechseln/Historie clearen dürfte innerhalb einer Umfrage.

Ich also Cookies in dem Browser,d en ich fürs Übertragen genutzt habe (Firefox nicht Inkognito), gelöscht und siehe da: die Umfrage verbuggt auf einmal auch hier.

Daher meine Frage: ist die Wiederaufnahme Cookie-abhängig?

Und wenn ja: wie lost ist das bitte?

LG Sebastian





 

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 day 22 minutes ago #270303 by holch
Das Problem liegt mit ziemlicher Sicherheit nicht an den Cookies, sondern an der Umsetzung der Randomisierung.

Jede/r TN hat eine einzigartiges Token und halt das randoisierungsattribut 1 oder 0.


Also, wir sprechen von einer geschlossenen Umfrage. Da sollte alles bis zur letzten Seite in der Datenbank abgelegt sein und darauf sollte zugegriffen werden können.

Jetzt wäre wichtig zu wissen, wie du die Zufallszahl generiert hast.

ich vermute ja "einfach", sprich du fängst nicht ab, ob die Zufallszahl schon mal generiert wurde und eine zweite Generierung verhinderst.

Für mich hört sich das so an, als ob die Zufallszahl neu generiert wurde, bei manchem ist es die gleiche (kein Problem, LS wird sich eher nicht beschweren, weil die ja alles was beantwortet werden soll, beantwortet wurde. Wenn die neue Zufallszahl aber anders ist, dann fehlen auf einmal antworten zu den Fragen die angezeigt werden.

Also, zeig die LSS oder zumindest wie die du die Zufallszahl generiert hast.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 day 17 minutes ago #270304 by holch
Ach ja, und LS 3.28.77+231213 wurde am 13.12.2023 veröffentlicht und ist damit natürlich schon eine "alte Krücke", mit 1,5 Jahren auf dem Buckel. Allerdings dürfte es auch so ziemlich eine der letzten Versionen von LS 3.x sein, extreme Bugs sind da eher nicht zu erwarten.

Und LS 3.x ist EOL, wird also nicht mehr wirklich unterstützt. Aber bei einer Uni muss man ja schon froh sein, dass es sich nicht um die LS 3.0.0 handelt ohne jegliche Updates über das letzte Jahrhundert. :-)

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

  • SebastianL
  • SebastianL's Avatar Topic Author
  • Away
  • New Member
  • New Member
More
23 hours 50 minutes ago #270307 by SebastianL
Lieber holch,

danke für die schnelle Rückmeldung.

ein Teilen der Surveystruktur ist leider aus Vertraulichkeitsgründen (laufende Forschung) nicht möglich.

Ich habe für alle TN manuell das attribute_1 basierend auf einem Coinflip mit 1 oder 0 ausgefüllt .

Relevanzgleichung ist dann z.B.:
(((!is_empty(TOKEN:ATTRIBUTE_1) && (TOKEN:ATTRIBUTE_1 == 1))))

Interessanterweise werden aber bei dem Error auch Items nicht angezigt, die eine Relevanzgleicheung von 1 haben.

LG Sebastian

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
23 hours 26 minutes ago #270311 by holch

ein Teilen der Surveystruktur ist leider aus Vertraulichkeitsgründen (laufende Forschung) nicht möglich.


Verständlich, aber deine Umfrage an sich interessiert uns nicht. Eine anonymisierte Studie reicht (sprich, wirf alles raus was nicht drin sein muss bzw. benenne alles um, ist natürlich etwas arbeit).

Ich habe für alle TN manuell das attribute_1 basierend auf einem Coinflip mit 1 oder 0 ausgefüllt .


OK, dann war meine Vermutung nicht richtig. Das Problem das ich vermutete dürfte bei deinem Ansatz (der Zufallswert wird ja nicht in LS berechnet sondern ist schon in der Teilnehmerliste hinterlegt und ändert sich somit nicht) nicht zutreffen.

Ohne eine LSS finde ich jetzt jede weitere Diagnose schwierig.

Code:
(((!is_empty(TOKEN:ATTRIBUTE_1) && (TOKEN:ATTRIBUTE_1 == 1))))

Gibt es einen Grund warum du hier bei der Relevanzgleichung abfragst ob das Attribut leer ist? Da du das Attribut in der Teilnehmerdatenbank hinterlegt hast, sollte das doch gar nicht möglich sein, oder?

Es scheint mir fast, als wären Cookies oder sowas essenziell für das problemlose Wiederaufnehmen der Umfrage, was ja absurt ist, weil man dann ja nie Geräte wechseln/Historie clearen dürfte innerhalb einer Umfrage.


Ganz soo absurd ist das nun auch wieder nicht, die meisten Umfragen werden ja an einem Stück ausgefüllt. Nichts desto trotz glaube ich eher, dass es an deiner Umfragestruktur liegt, als an den Cookies.

Warum es bei den Cookies funktioniert: Limesurvey speichert im Session-Cookie die vorherigen Antworten. Ist das Cookie also vorhanden, gibt es da kein Problem.

Ich vermute, dass es irgendwie am anzeigen und verstecken der Fragen liegt, eventuell mehrere Fragen auf einer Seite, etc.

Daher eben die Frage nach der Umfragestruktur.

Teste doch mal, was passiert wenn du die Umfrage "Frage für Frage" anzeigst. Ich vermute, dass LS sich damit verschluckt, dass mehrere Fragen (einige davon versteckt) auf der gleichen Seite vorhanden sind. Aber wie gesagt, das ist jetzt einfach so ins Blaue geschossen, weil wir ja deine Umfrage-Struktur nicht kennen.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

  • SebastianL
  • SebastianL's Avatar Topic Author
  • Away
  • New Member
  • New Member
More
22 hours 12 minutes ago #270314 by SebastianL
Lieber holch,

die Gleichung habe ich über LS generiert und dann für die anderen Items übernommen. Attribut 1 ist nie leer.

Ich habe mal die survey etwas zensiert und angehängt. Jedes einzelne Item zu zensieren wäre super aufwändig, daher habe ich einfach die meisten Items gelöscht und nur ein paar repräsentative dummies noch drin bzw. Items die inhaltlich nicht relevant sind. Tatsächlich werden mehrere Items mit unterscheidlicher Relevanzgleichung gleichzeitig gezeigt, weil die Umfrage ganze Fragengruppen präsentiert. Das kann ich auch nicht einfach ändern, weil es für das jeweils letzte Item der Gruppe wichitg ist, dass die TN alle anderen Items sehen können.

Limesurvey speichert im Session-Cookie die vorherigen Antworten.


Also würde bei einem Gerätwechsel tatsächlich jeder Fortschritt verloren gehen? Wer hat sich das ausgedacht? Ich bekomme den progress doch auch zugespielt, selbst wenn die Umfrage abgebrochen wurde. Warum holt sich LS die Antworten nicht aus der gleichen Quelle?

LG Sebastian

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
22 hours 9 minutes ago - 22 hours 7 minutes ago #270315 by holch

Also würde bei einem Gerätwechsel tatsächlich jeder Fortschritt verloren gehen? Wer hat sich das ausgedacht?


Nein, wie vorher schon gesagt, bis zur letzten abgeschickten Seite ist alles in der Datenbank gespeichert. Kannst du dir ja leicht in der GUI anschauen. Da wirst du jede Menge Antworten finden, die nicht komplett sind. Limesurvey speichert immer bei einem klick auf einen Button (ob nun "Weiter" oder "Absenden"). Nur die Antworten auf der Seite, die nicht abgeschickt wurde gehen die Antworten verloren, da sie eben noch nicht in der Datenbank abgespeichert wurden.

Zusätzlich sind die Daten aber auch nochmal im Session-File (deshalb können die auch etwas grösser werden). Warum die Entwickler diese Lösung gewählt haben, weiss ich nicht. Gehe mal davon aus, dass das dann weniger Zugriffe auf die Datenbank erzeugt, was vermutlich der Performance hilft. Aber das ist nur eine Vermutung.

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.
Last edit: 22 hours 7 minutes ago by holch.

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
19 hours 15 minutes ago #270318 by Joffm
Hallo,
ich verstehe einige Dinge nicht

neuen TN anlegen -> neuen Einladungs-Link versenden -> bisherige Antworten übertragen -> "Resume later" klicken -> neuen Einladungs-Link versenden -> testen

Was heißt "bisherige Antworten übertragen"? Wohin?
Wieso verschickst Du einen zweiten Einladungslink? Der Teilnehmer hat doch bereits den Link.
Außerdem ist "Resume later" bei Deiner Einstellung der "tokenbasierten Antwortpersistenz" eigentlich nicht nötig.
Nach einfachem Schließen des Browsers kommt man bei erneutem Klick auf den Link sofort an die Stelle des Abbruchs.
"Resume later" benutzt man eher bei offenen Umfragen, da hier der Teilnehmer einen beliebigen Usernamen und ein beliebiges Passwort eingeben muss (das System soll ihn ja wiederfinden)
Das ist aber nebensächlich.

oder einen anderen Browser nutze (Edge) als ich für das Übertragen gentzt habe, bekomme ich wieder den Error.

Hier taucht wieder das "Übertragen" auf. Was meinst Du damit?

Bis jetzt läuft es bei mir noch rund. Aber ich werde weiter schauen.
Joffm

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
18 hours 20 minutes ago #270319 by Joffm
So, jetzt hat es den großen Test gegeben.

Start in Edge: ein paar Fragen beantwortet, Browser geschlossen
weiter in Chrome: ein paar Fragen beantwortet, Browser geschlossen
weiter in DuckDuckGo: ein paar Fragen beantwortet, Browser geschlossen
weiter in Firefox: ein paar Fragen beantwortet, "Resume later", Browser geschlossen
weiter in Chrome: ein paar Fragen beantwortet, "Resume later", Browser geschlossen
weiter in Firefox: ein paar Fragen beantwortet, "Resume later", Browser geschlossen
weiter in Edge: ein paar Fragen beantwortet, "Resume later", Browser geschlossen
Browserdaten, Cookies, etc. gelöscht
weiter in Edge: die restlichen Fragen beantwortet, beendet.

Ein zweiter Test - zusätzlich mit eingestreuten "privaten Fenstern" brachte auch kein anderes Ergebnis.

Allerdings scheint es doch einen kleinen Unterschied zu geben.
Einfaches Schließen des Browsers führt zur letzten Seite, welche abgeschickt wurde, "Resume later" führt zur Seite auf welcher abgebrochen wurde.

Wie sieht es überhaupt aus?
Bekommst Du mit Deiner "abgespeckten Version" diesen Fehler immer noch?

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • SebastianL
  • SebastianL's Avatar Topic Author
  • Away
  • New Member
  • New Member
More
5 hours 22 minutes ago #270321 by SebastianL
Lieber Joffm,

danke für dein ausführliches Testen. hast du auch einen TN erstellt und ein Token generieren lassen und dann die Umfrage auch via TN Liste verschickt?
Ich habe den Error gerade auch mit der abgespeckten Version repliziert.

TN erstellt, Attribut 1 vergeben, Einladung verschickt, Umfrage via Link in der Mail geöffnet, paar Items beantwortet (Firefox), Tab geschlossen, Erinnerung verschickt, Umfragelink in Inkognito Tab kopiert -> Error (s. Anhang)

Mit "übertragen" meine ich, dass ich die Antworten, die ich von dem TN hatte, in einen neuen Fragebogen (i.e. neues Token) eingetragen habe, damit der TN den Teil nicht erneut ausfüllen muss. Ich habe also die Umfrage mit dem Token des TNs begonnen und so weit ausgefüllt, wie ich Antworten von diesem TN hatte. Das bedeutet aber halt auch, dass der TN dann keine "frische" Umfrage bekommen hat, sondern eine angefangene, die er wieder aufnehmen muss. Das endet ja leider wie oben beschrieben in einem Error, ist also auch keine Lösung gewesen.

LG Sebastian
Attachments:

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
17 minutes ago #270330 by holch
So, habe mal deine Umfrage importiert.

Da stellt sich mir die Frage wie und warum du diese Umfrage für den Teilnehmer ausgefüllt hast. Wenn er/sie schon angefangen hat, dann müssen sie ja nur wieder auf den Link klicken (vorausgesetzt "Partipant based answer persistence" ist AN), und schon sind sie im Fragebogen wo sie beim letzten Mal aufgehört haben.

Wenn du die Antworten anderweitig hast, dann füllst du am Anfang den ganzen Sums von wegen "I understand", was ja den Zweck dieser Fragen unterminiert.

Soweit dazu.

Habe jetzt mal ein paar Dummy Teilnehmer erzeugt und die Umfrage in Chrome gestartet.

Edge aufgemacht, den Link in Edge kopiert und er macht auf der Seite auf,, die ich zuletzt abgeschickt habe und die Antworten sind soweit vorhanden, kann sogar rückwärts navigieren.

Dann habe ich den Link in Vivaldi kopiert. Auch dort komme ich auf der letzten Seite raus, die ich mit Edge beantwortet habe. Ein paar Fragen mit Vivaldi beantwortet. Tab geschlossen.

Link in Chrome eingegeben und schwups, geht es mit dem Fragebogen da weiter wo ich bei Vivaldi aufgehört habe.

Das Ganze habe ich in LS 6.10.5+250217 getestet. Muss mal wieder ein Update machen. Schon mehr als 2 MOnate alt.

Aber es scheint alles so zu funktionieren, wie es soll. Keinerlei Probleme aufgetreten.

Allerdings verstehe ich die ganze Vorgehensweise bisher nicht.

Woher hast du die bisherigen Antworten deiner Teilnehmer? Haben sie schon mal angefangen auszufüllen und dann abgebrochen? Warum haben die nicht einfach im gleichen Link weitergemacht?

Oder sind die Antworten anderweitig bekannt und du wolltest ihnen etwas Arbeit ersparen? Wie regelst du das dann mit den Fragen am Anfang?

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.

Please Log in to join the conversation.

Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose