Forum Replies Created
-
AuthorPosts
-
mictrParticipant
Ich habe den Verdacht, dass du dir das von irgendwo kopiert hast und nicht so richtig weißt, was das Script tut. Denn wenn das so wäre, würdest du das zum einen deutlich einfacher lösen (Stichwort switch/case) und würdest zum anderen sehen, dass insgesamt drei schließende geschweifte Klammern “}” fehlen.
mictrParticipantDas ist zwar relativ einfach gemacht, aber gar nicht so einfach erklärt:
.question { margin-top: 1.9rem; margin-bottom: 2.5rem; padding-bottom: 2.5rem; }
Wie man sieht, gibt es hier einen Abstandswert nach oben und zwei Abstandswerte nach unten. Das sind die Standardwerte, minimaler Wert ist 0. Als Zusatzhinweis würde ich mal “css margin padding” googlen, da kriegt man schnell und einfach den Unterschied mit Bildern erklärt.
10. May 2024 at 11:35 in reply to: Teilnehmer vom Fragebogen ausschließen bei bestimmter Antwort #2038mictrParticipantDas ist relativ einfach: Nach deiner Ja/Nein (sagen wir mal v_3) erstellst du einen Filter, mit folgender Bedingung (v_3 = 2) (davon ausgehend das Ja=1 und Nein=2. Dann erstellst du eine neue Seite, allerdings keine “normale”, sondern eine Endseite. Das geht, in dem du neben dem “Neue Seite” Button auf den Pfeil nach unten klickst, da gibt es dann den Eintrag “Endseite”. Diese neue Seite ordnest du dann dem gerade erstellten Filter unter und solltest natürlich auf der Seite auch noch einen Text einfügen, der dem Teilnehmer sagt, dass die Befragung beendet ist.
mictrParticipantVerglichen mit dem (alten) Handbuch (einfach mal nach “unipark manual” googlen und dann ists der erste link, auch mal auf das Datum im Handbuch achten) ist das Wiki (https://qbdocs.atlassian.net/wiki/spaces/DOK/overview) in meinen Augen absolut unterlegen. Aber inhaltlich leider an einigen Stellen veraltet. Die Mechaniken sind aber gleich, so dass man sich die Theorie im Handbuch aneignen kann, die Menüpunkte aber vielleicht anders heißen oder einem anderen Menü untergeordnet sind…
8. May 2024 at 20:07 in reply to: Vorher-Nachher-Messung – “zweiteilen” und mit zeitlichem Abstand beantworten #2035mictrParticipantDas kommt darauf an, wie du vorher/nachher definierst.
Wenn du für t1 ein Zeitfenster von einer Woche hast und jeder Teilnehmer nach genau 30 Tagen an t2 teilnehmen soll fällt mir dafür keine Lösung ein.
Wenn du mit Zeitfenstern für t1 (sagen wir 13.05.2024 bis 17.05.2024) und für t2 (sagen wir 20.05.2024 bis 24.05.2024) arbeitest, kannst du beispielsweise zwei unterschiedliche Projekte verwenden.
Alternativ kannst du beides in einem Projekt machen und mit einem Filter der das aktuelle Datum verwendet deine t1 und t2 Fragen unterscheiden (wenn NOW() >= 20.05.2024) dann t2 Fragen sonst t1 Fragen. Alternativ zum Datumsfilter ginge auch ein URL Parameter. Das ist aber vermutlich auswertetechnisch nicht so schön, denn üblicherweise möchte man ja die t1 und t2 Variablen nebeneinander haben, in diesem Fall sind es aber zwei Teilnahmen am gleichen Projekt und damit zwei Datenzeilen untereinander.
In beiden Fällen (einzelnes Projekt mit Filter oder zwei Projekte) hast du aber das Problem, dass du die beiden Datensätze verbinden möchtest/musst. Da würde mir ein Pseudonym einfallen, dass aus Angaben vom Probanden generiert wird (Geburtsname, Tag der Geburt, Geburtsort usw, davon dann jeweils der erste und oder letzte Buchstabe so dass die Kollisionswahrscheinlichkeit minimiert wird) – diese Daten fragst du bei beiden Teilnahmen ab und kannst darüber verbinden – das muss aber gut durchdacht sein, wenn es Kollisionen (sprich gleiche Pseudonyme bei unterschiedlichen Personen) gibt, hast du verloren und kannst keine Verbindung herstellen.
Einfacher wäre es, die Identifikation über die URL und einen URL-Parameter zu machen, mit dem Nachteil, dass du dann Personen gezielt anschreiben und den Link übermitteln musst – für beide Zeitpunkte.mictrParticipantNein, die Dokumentation die jetzt noch von Unipark/Questback verfügbar ist, die ist ein schlechter Scherz. Und auch im alten Handbuch (und mit gut meine ich wirklich gut, ohne Ironie) hättest du da nichts gefunden.
Das ist HTML bzw. CSS, ein Teil der “Sprache” in der die Unipark Software geschrieben ist. Vor 10 Jahren oder so hätte dir der damals noch gute Support vielleicht helfen können, aber wie man sieht, ist hier von offizieller Seite ziemlich wenig los…
mictrParticipantAls erstes musst du die Datei user.css öffnen, du findest diese Datei unter Layout > Profi Editor > [ganz nach unten scrollen] > CSS Templates > Cascading Style Sheet. Dort fügst du in einer neuen Zeile die nachfolgenden sechs Zeilen ein und klickst unten rechts auf speichern. Ziemlich oben gibt es einen Vorschau-Link, mit dem du dir das ganze nach dem Speichern anschauen kannst.
Der Standard-Wert von container-wrap ist 2em, der kleinstmögliche Wert 0. Der Standard-Wert für header ist 6em, der kleinstmögliche Wert ebenfalls 0. Dezimalzahlen sind möglich, dann aber mit Punkt statt mit Komma getrennt (z.B.: 1.2em). Ich habe beide Werte in meinem Beispielcode halbiert.
.container-wrap { margin-top: 1em; } #header { margin-bottom: 3em; }
mictrParticipantHmmm… Mach bitte mal einen Screenshot vom Kopf deines Fragebogens und zeichne dort mit rot oder so ein, welche Abstand du verringern möchtest. Dann aktivier den Fragebogen so dass er für andere Teilnehmer erreichbar ist und poste hier den Link, dann kann ich mir das ansehen und dir vielleicht einen Tip oder einen konkreten Hinweis geben.
mictrParticipantIch würde es mit einer benutzerdefinierten Variable vom Typ Text versuchen. Auf der Seite mit der Einfachauswahl erstellst du dann einen Rekodierungstrigger und mit diesem schreibst du dann den Text der angezeigt werden soll – je nach ausgewählter Antwortmöglichkeit – in die benutzerdefinierte Variable. Diese kannst du dann wie die anderen Variablen auch (bloß mit “c_”) Präfix im Fragebogen verwenden.
mictrParticipantStichwort “Plausicheck”.
Gehen wir mal von Frage A (einer Einfachauswahl) und Frage B (einem Textfeld) aus.
Plausicheck 1: Wenn A <= 0 (ausgelassene Fragen haben je nach Typ intern den Wert -66 oder -77) und Wenn B gleich ” (leeres Textfeld) dann ‘Bitte beantworten Sie A oder B’
Plausicheck 2: Wenn A > 0 und Wenn B ungleich ” dann ‘Bitte beantworten Sie nur eine der beiden Fragen’
Plausicheck 3: Wenn B ungleich ” und B regulärer Ausdruck /\w{2,}/ trifft nicht zu dann ‘Bitte tragen sie mindestens zwei zeichen ein’
mictrParticipantIch habe gerade gesehen, dass du die zusätzliche Frage auf der Seite erstellt hast. Scheinbar verwendest du den Rich-Text-Editor (da kann man Text markieren und mit Buttons oben drüber Fett, Kursiv usw Formatierungen vornehmen). Das ist für das schreiben von Text zwar praktisch, für das einfügen von Code allerdings nicht. Denn wie du sieht, sieht man nur den eingefügten Code auf dem Bildschirm, dieser wird aber nicht ausgeführt.
Aber das lässt sich leicht beheben.
Melde dich bei Unipark an, klicke rechts oben auf deinen Namen und wählte persönliche Einstellungen. Dort wählst du Verhalten des Fragebogeneditors und stellst dann die Auswahl beim zweiten Punkt von oben “Rich-Text-Editor im Fragetyp 998 verwenden” auf nein und klickt abschließend rechts unten auf “ändern”.
Dann gehst du ganz normal in dein Projekt, öffnest die zusätzlich angelegte Frage. Hier stellst du vermutlich fest, dass jetzt der “Fett” Button usw fehlt und das ganze etwas anders aussieht. Auch der Text dürfte leicht anders aussehen. Jetzt löschst du den aktuellen Inhalt, kopierst wieder das Script von hier, fügst es als Frageninhalt ein und speicherst das ganze. Und dann gehts 🙂
mictrParticipant<div style="position: relative;"> <video id="player" style="position: absolute; top: 0; left: 0; width: 640px; height: 480px;" preload="auto" playsinline> <source src="path/to/video.mp4"> </video> <div style="position: relative; top: 0; left: 0; width: 640px; height: 480px; z-index: 9999;"></div> <button id="btnPlay">Abspielen</button> <script> document.addEventListener('DOMContentLoaded', (event) => { document.getElementById('player').addEventListener('timeupdate', (event) => { if(event.srcElement.currentTime >= event.srcElement.duration) { document.getElementById('player').remove(); } }); document.getElementById('btnPlay').addEventListener('click', (event) => { document.getElementById('player').play(); document.getElementById('btnPlay').remove(); }); }); </script> </div>
Du kannst es auch hiermit versuchen, damit hab ich das gemacht. Den Pfad des Videos (path/to/video.mp4) musst du natürlich anpassen. Bei width/height trägst du jeweils die Breite/Höhe ein, in der das Video angezeigt werden soll. Das ganze muss in eine Frage vom 998/Benutzerdefiniert kopiert werden. Speichern und Testen nicht vergessen. Der Teilnehmer kann das video nicht anhalten, die Wiedergabe muss mit dem Button darunter gestartet werden und wenn das Video einmal durchgelaufen ist wird das Video entfernt. Falls die SEite neu geladen wird, ist auch das Video wieder da und kann erneut angeschaut werden
mictrParticipantMit Skript meine ich die “Programmiersprache” Javascript. Ohne Kenntnisse in HTML und Javascript wirst du da aber nicht weiter kommen. Aber dein Problem ist nicht neu. Hast du mal die Forumsuche benutzt? Ich meine, in diesem Forum treibt sich niemand vom Support von Unipark rum… Das sieht man ja an den vielen unbeantworteten Fragen. Ich bin normaler Nutzer und einfach nur schei.. sauer wie Unipark respektive Questback seine Kunden behandelt. Aber du könntest mal die alten Foren, sofern Sie nicht offline genommen wurden, durchsuchen…
mictrParticipantDas könnte man auch mit Quoten machen: Eine Quote “gut” mit zwei slots und eine Quote “schlecht” mit zwei slots.
Eine andere Möglichkeit wäre ein Zufallstrigger. Dieser würfelt eine Zahl zwischen einem einstellbaren Mini- und Maximum aus und speichert die Zahl in einer benutzerdefinierten Variable. Du kannst also auf der ersten Seite mit zwei Zufallstriggers zwei benutzerdefinierte Variablen (c_0001 und c_0002) mit Werten zwischen 1 und 2 befüllen. Wenn c_0001 = 1 dann “Guter Stimulus A”, sonst “Guter Stimulus B”. Wenn c_0002 = 1 dann “Schlechter Stimulus A”, sonst “Schlechter Stimulus B”. Aber Achtung, auch wenn Unipark die Möglichkeit der angestrebten Gleichverteilung anbietet, so kann es doch sein, dass ein Stimulus häufiger zugewiesen wird als ein anderer…mictrParticipantMit Bordmitteln kommst du da vermutlich nicht weiter. Mein Ansatzpunkt wäre ein Skript, welches die Videodatei entlädt, sobald das Video einmal durchgelaufen ist. Der Benutzer könnte die Seite aber immer noch neuladen, um das Video erneut zu schauen.
-
AuthorPosts