Forum Replies Created
-
AuthorPosts
-
Jeremy
KeymasterHi Elise,
Would you mind sharing the link to your experiment with me, here or at support@pcibex.net?
Jeremy
Jeremy
KeymasterHi Larissa,
a) See my answer on this thread
b) See the code in this message for an illustration of a timeout implementation. The basic idea is: start a Timer element, create (and print, if applicable) your interactive element and make sure to
.log()
it, wait for the Timer to elapse, then disable/remove the interactive elementc) Just set separacao to 3500 and start it before timer-D1, but only
wait
for it at the end of the trial, eg:newTrial( newText("instructions", "Quick! Press F or J now!").print() , newTimer("separacao", 3500) , newTimer("timer-D1", 1000+Math.round(600*Math.random()) ).start(), newKey("FJ").log("all").callback( getTimer("timer-D1").stop() ), getTimer("timer-D1").wait() , getKey("FJ").disable(), getText("instructions").remove() , newText("Next trial incoming...").print(), getTimer("separacao").wait() )
Jeremy
-
This reply was modified 3 years, 4 months ago by
Jeremy. Reason: changed allottedtime for timer-D1
Jeremy
KeymasterHi Jones,
Simply add a column named
Group
to your table, and list different audios for the different values in that column, eg:Audio,Group openguise_m_sd_a.wav,A openguise_m_namgram_a.wav,A openguise_m_namlex_a.wav,A openguise_m_sd_b.wav,B openguise_m_namgram_b.wav,B openguise_m_namlex_b.wav,B
Note that if you really want to switch sets every time the link is clicked, you will need to insert a
SetCounter
trial at the beginning of yourSequence
so as to increase the counter whenever a new participant starts your experiment (who will possibly not complete it)Jeremy
March 14, 2022 at 1:59 pm in reply to: How can I centralize my text in the middle of the screen? #7879Jeremy
KeymasterHi Larissa,
You can use
.print("center at 50vw", "middle at 50vh")
as illustrated in the Masked Priming template to print any element at the exact center of the pageYou can use
fullscreen
to invite the browser to go fullscreenIf you need to print some content slightly above or below the vertical middle of the page, you could do something like this:
newTrial( newButton("go fullscreen").print().wait().remove(),fullscreen() , newText("above").css("margin-bottom","1em").print("center at 50vw","bottom at 50vh") , newText("below").css("margin-top","1em").print("center at 50vw","top at 50vh") , newButton("center").print("center at 50vw","middle at 50vh").wait() )
Jeremy
Jeremy
KeymasterHi Larissa,
You can only pass up to two arguments to
newTimer
: a string to name the element, and a number representing the duration. If you pass a third argument, it will simply be ignoredYou can do
newTimer("timer-D1", 1000+Math.round(1600*Math.random()))
if you want to get a random number between 1000 and 2600Jeremy
Jeremy
KeymasterHello,
Apologies to everyone on this thread for the late reply, and for the inconvenience. Our servers encountered some issues over the past few days due to higher-than-usual database transactions. The PCIbex Farm had to handle many parallel submissions from participants, besides requests to access large results files, resulting in some operations just freezing. I ended up needing to manually restart the servers periodically to prevent them from crashing down, which came with the side effect of dropping requests to access results. This is how some requests would never complete even when running for hours, sometimes overnight
Traffic has now come back to its regular flow for now, and you should be able to access your results again. If you were collecting data during the past few days, you might find that submissions are missing from your results file. If that happens, please let me know and I’ll check whether I can recover them (although I unfortunately cannot guarantee that)
Jeremy
Jeremy
KeymasterHi Umesh,
Thanks for the report. I am working on giving the farm’s code a refresh, which includes revisiting how the edits get saved. Unfortunately, the problems on the server side these past few days only made these problems worse. Hopefully it should happen less now that traffic is back to a more normal flow
Jeremy
Jeremy
KeymasterHello,
Apologies for the inconvenience and for the late reply. Our servers encountered some issues over the past few days due to higher-than-usual database transactions. The PCIbex Farm had to handle many parallel submissions from participants, besides requests to access large results files, resulting in some operations just freezing. I ended up needing to manually restart the servers periodically to prevent them from crashing down, which came with the side effect of dropping requests to access results. This is how some requests would never complete even when running for hours, sometimes overnight
Traffic has now come back to its regular flow for now, and you should be able to access your results again. If you were collecting data during the past few days, you might find that submissions are missing from your results file. If that happens, please let me know and I’ll check whether I can recover them (although I unfortunately cannot guarantee that)
Jeremy
Jeremy
KeymasterHi,
The farm still appears to be unstable. I am periodically restarting the servers to allow database operations to proceed, but unfortunately the problem recurs
I would advise users of the farm to limit their number of attempts to access results files, so as to lift some burden from the servers. If you were able to access your results today, please consider waiting until tomorrow to access them again, so that all users have a chance to access theirs and new submissions get processed smoothly
Thank you for your understanding
Jeremy
Jeremy
KeymasterHi,
I have proceeded to a few server restarts in the meantime, which seems to have taken care of the problem for now. I am working on improving the farm, which hopefully will make episodes like this less likely, but it will take some time before I apply the changes (and it will necessitate some downtime for maintenance at some point in the future)
The problem wasn’t coming from a malfunctioning internet connection, but I’m glad you were able to download your results
Apologies to everyone for the inconvenience
Jeremy
Jeremy
KeymasterThe last line is missing two closing parentheses, at least if you meant to close all the
and
s and thewait
on that lineJeremy
Jeremy
KeymasterHi,
Use .test.text to check that the input box is not empty:
//Participant's informations. newTrial("Variables", defaultText.css("font-size", "1.2em").print() , defaultTextInput.log().print() , newText("<p>INFORMATIONS</p>").css("font-weight","bold").center() , newText("How old are you? :").css("margin-top","25px") , newTextInput("age", "") , newText("Where do you live?.").css("margin-top","25px") , newTextInput("city", "") , newButton("Click", "Continue") .center() .css("margin-top","50px") .print() .wait( getTextInput("age").test.text(/\d/).and(getTextInput("city").test.text(/\w/)) ) )
Jeremy
Jeremy
KeymasterHi Pegah,
I think your guess is on the right track. See this thread for reference. Note that, unless your participants encounter an explicit error message, their submission will not be dropped, it will just take longer to be processed
Jeremy
Jeremy
KeymasterHi Idan,
Does the problem persist? I was also unable to download results earlier today, but I’m now able to download them again. I can’t log into the farm’s server right now, but this can happen when the server gets clogged by other requests (typically multiple parallel downloads of large results files and/or submissions of many rows)
Jeremy
Jeremy
KeymasterHi Nianpo,
The answers do appear on the same line for me, in the sense that the three buttons are horizontally aligned. The text of the last answer, however, indeed overflows its box and uses multiple lines. When you use the AcceptabilityJudgment controller, Ibex simply passes your options to a Question controller to render the second part. And when you set the
presentAsScale
option totrue
, it gives theli
HTML elements that contains the answers theQuestion-scale-box
class. The file Question.css (in Aesthetics) has these rules:li.scale-box { float: left; list-style: none; margin-left: 0; padding-left: 0; margin-right: 1em; padding-right: 0; border: 1px #9ea4b1 solid; width: 2em; height: 2em; padding-top: 0.5em; text-align: center; }
My suggestion is you replace
width
withmin-width
andheight
withmin-height
: this way, the numbered answers of the first part of the controller will still be rendered as 2em*2em boxes, but the answers of the second part will be able to expand if neededJeremy
-
This reply was modified 3 years, 4 months ago by
-
AuthorPosts