Check out the LimeSurvey source code on GitHub!

"Inteligenter" Fortschrittsbalken

More
5 years 11 months ago - 5 years 11 months ago #57237 by HIV7
Hallo,

ich hätte eine Frage, die meiner Meinung nach ais "feature request" enden wird.

Konkret erscheint es mir, als würde sich der Fortschrittsbalken immer auf die Gesamtanzahl der Fragen in der Umfrage ausrichten.

Ein Beispiel:

Ich habe eine Umfrage mit 16 Fragen. Die Erste ist nachfolgend abgebildet und richtet sich nach der Schulnote im Fach Mathematik. Je nachdem welche Note der User hatte, werden um nachfolgend 3 unterschiedliche Frage gestellt.



Somit hat jeder User eigentlich nur 4 Fragen zu beantworten. Der Fortschrittsbalken orientiert sich aber nach den 16 und somit ist der User nach ersten Frage noch keineswegs bei den eigentlich für ihn erreichten 25% (da er nur 4 Fragen zu beantworten hat).

Täuscht mich der Eindruck, oder ist dem so? Bei mir haben nämlich einige "Ausfüller" nachgefragt, weil im Fortschrittbalken "bis zum Schluß" hin der Fortschritt so gering ist, dass Sie schon ans Aufgeben dachten, jedoch am Schluß ist die Verzweigung, und dann geht es je eh schnell.

Daher diese Anfrage. Gibt es dafür eine sinnvolle Lösing, ausser den Balken nicht anzuzeigen? Das will jedoch mein Betreuer unbedingt haben :(

Danke,
HIV7
Attachments:
Last Edit: 5 years 11 months ago by HIV7. Reason: added additional Information

Please Log in to join the conversation.

More
5 years 11 months ago #57240 by holch
Ich denke, es funktioniert genau so, wie du es vermutest.

Vermutlich wäre es möglich, conditions in den Fortschritt mit einzukalkulieren. Ich glaube aber, dass der Aufwand extrem gross wäre. So ein Algorythmus ist sicher nicht trivial.

Ich kenne andere Tools, da kann man dann per Hand eingreifen und einen %-Satz manuell angeben. Ich weiss aber nicht, ob irgendein Tool schon so einen intelligenten Fortschrittsbalken hat, den du dir da wünscht.

I'm not a LimeSurvey GmbH member. I answer at the LimeSurvey forum in my spare time. No support via private message.
Some helpful links: Manual (EN) | Question Types | Workarounds
The following user(s) said Thank You: HIV7

Please Log in to join the conversation.

More
5 years 11 months ago #57246 by HIV7
Danke für die rasche Info. Ich hab's mal als feature request eingestellt und werde versuchen damit zu leben. ;-)

Please Log in to join the conversation.

More
5 years 11 months ago #57268 by Mazi
Es ist genau so, wie holch es beschrieben hat. Eine angepasste Kalkulation des Fortschritts wäre extrem komplex und nicht einfach zu bewerkstelligen.

Hardkodierte Fortschrittbalken wie ein "Frage X von Y" bei einer klaren Struktur mit nur einmaliger Verzweigung und wenigen Bedingungen wäre hier die Lösung.


Best regards/Beste Grüße,
Dr. Marcel Minke
(Limesurvey Head of Support)
Need Help? We offer professional Limesurvey support
Contact: marcel.minke(at)survey-consulting.com'"

Please Log in to join the conversation.

More
5 years 11 months ago #57348 by HIV7
Hallo,

genau so habe ich es nun gelöst. Ich gehe nach Fragengruppen, da ich Gruppenweise anzeige und schreibe Seite x/y, was bei 1/10 zwar stimmt, jedoch nur dann exakt ist, wenn die Fragengruppen die gleiche Anzahl an Fragen hätten.

Lg,
HIV7

Please Log in to join the conversation.

More
5 years 11 months ago #57354 by Mazi
Tja, manchmal geht es halt nicht anders...


Best regards/Beste Grüße,
Dr. Marcel Minke
(Limesurvey Head of Support)
Need Help? We offer professional Limesurvey support
Contact: marcel.minke(at)survey-consulting.com'"

Please Log in to join the conversation.

More
5 years 11 months ago #58434 by Goldacker
Ich hatte ein ähnliches Problem. Der Fortschrittsbalken / progressbar sollte an hand der Fragenanzahl und nicht nach den Fragengruppen berechnet werden. Auf die Weise kann man die Befragten sicher besser motivieren, wenn zu beginn mehr Fragen sind als am Ende. Meine Lösung kannst du sicher auch auf deine Abhängigkeiten anpassen, wenn etwas in der SESSION dazu zu finden sein sollte.

Hierzu in der limesurvey/index.php in Zeile 940 in function makegraph()

aus
$size = intval(($currentstep-1)/$total*100);

wird
//Jan-Goldacker.de - START
    $groupid = $_SESSION[grouplist][$currentstep - 1][0];
    $questionno = 0;
    $total = count($_SESSION['fieldarray']);
 
    foreach ($_SESSION['fieldarray'] as $ia) //Run through all the questions
    {
        if ($ia[5] == $groupid) //If the question is in the group we are checking:
        {
             break;
        }
        $questionno++;
    }
 
    $size = intval($questionno/$total*100);
 
    //$size = intval(($currentstep-1)/$total*100);  //original algorithmus
//Jan-Goldacker.de - ENDE

Rechtschreibung wird überschätzt, mehr Zeit für LimeSurvey!

Please Log in to join the conversation.

More
5 years 11 months ago #58452 by Mazi
Vielen Dank für dein Feedback...


Best regards/Beste Grüße,
Dr. Marcel Minke
(Limesurvey Head of Support)
Need Help? We offer professional Limesurvey support
Contact: marcel.minke(at)survey-consulting.com'"

Please Log in to join the conversation.

More
5 years 4 months ago #66963 by TRANSformator
Moin moin,

ich habe die Lösung von Goldacker mal versucht zu implementieren, da ich den Fortschritt auch gern gemessen an den Fragen und nicht der Fragegruppen anzeigen lassen würde. Leider funktioniert das bei mir nicht. Die Fortschrittsanzeige geht nach wie vor nur nach den Fragegruppen, dafür bekomm ich oben auf der Seite ne Meldung angezeigt:

Notice: Use of undefined constant grouplist - assumed 'grouplist' in C:\xampp\htdocs\limesurvey\index.php on line 1032

Das ist diese:

$groupid = $_SESSION[grouplist][$currentstep - 1][0];

Zeile aus dem Code von Jan Goldacker.

Was sagt mir das?

Vielen Dank und viele Grüße

Please Log in to join the conversation.

More
5 years 4 months ago #66964 by Goldacker
Mein Code war an der Stelle nicht ganz sauber, es fehlen die '. Also muss es heißen

$groupid = $_SESSION[$currentstep - 1][0];

Rechtschreibung wird überschätzt, mehr Zeit für LimeSurvey!

Please Log in to join the conversation.

More
5 years 4 months ago #66965 by TRANSformator
Hehe, vielen Dnak. Nun läuft es.

Viele Grüße

Please Log in to join the conversation.

More
3 years 5 months ago #99277 by pgnkassel
Hallo,
meine index.php hat gar keine 940 Zeilen und den String $size = intval(($currentstep-1)/$total*100);
finde ich auch nicht :-)

Gilt das nur für LS 1.92?
Ich nutze 2.00

Please Log in to join the conversation.

Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form