Forum Replies Created
-
AuthorPosts
-
jonesanam
Participant…an idea came up: We are using a local installment of IbexFarm from our home university (Humboldt-Universität zu Berlin), do you think the root of the issue could lie there?
Jones & Team
jonesanam
ParticipantHi Jeremy,
thanks for your reply! There is no warning message during download or when running the experiment. We’re currently trying to find the problem with our associate IT experts, if we find out anything I’ll let you know.
Have you maybe heard of a similar issue before?Jones
jonesanam
ParticipantHi Jeremy,
thanks again for having helped us out so much – a new issue came up and we were hoping that you might be able to look over it too: We ran a test of the study above and it appears that some things do not get logged to results. This happened twice, both times with the corresponding scale for the audio openguise_m_namlex_a.wav (even though our understanding is that the exact same trial runs three times, only selecting a different audio each time). I am attaching the slightly modified code and a sample of how the results look below.Thank you in advance, we appreciate your work!
Jonesaudios = [] // audios will reference the audios in a randomized order for simple playback , audios2 = [] // audios2 will ultimately be a copy of audios // Create dummy trials to browse the table and feed then shuffle audios , Template("OG-audios.csv", row => PennController( audios.push(row.Audio), fisherYates(audios) ) ) // Now create the Item trials reading the audio references from audios , audio = "" ,Template( row => PennController( "Item", audio = audios.shift(), // Extract next entry from audios audios2.push(audio) // Place it in audios2 , newAudio( audio ) .center() .once() , newImage("message","MessageOpenGuise.png") .size(708,522) , newCanvas("Message", 708,522 ) .add( 0, 0, getImage("message")) .add( 150, 360, getAudio(audio)) .print() , newText("Bewertung","<p><br>Bitte der Aufnahme eine Gesprächssituation zuordnen. Hat die Sprecherin mit einer <b>Freund*in</b> oder einer <b>Lehrer*in</b> gesprochen? Dazu Punkt auf der Skala auswählen. </p>") .settings.css("font-family", "calibri").settings.css("font-size", "18px") .center() .print() , newCanvas(600,120) .add(50, 0, getText("Bewertung")) .center() .print() , newScale("Skala1", 9) .settings.css("font-family", "calibri").settings.css("font-size", "22px") .settings.labelsPosition("bottom").color("white") .settings.before(newText("<b>Freund*in</b>")) .settings.after(newText("<b>Lehrer*in</b>")) .center() , newCanvas(600,50) .add(150, 0, getScale("Skala1").settings.log("final")) .center() .print() , newButton( "Weiter" ) .center() .print() .wait(getScale("Skala1").test.selected() .failure( newText('errorage', "<br>Bitte Punkt auf der Skala wählen.").color("red") .center().print() ) ) ) .log("audio", audio) // Log which audio was played )
1663664587,REDACTED,PennController,9,0,Item,NULL,PennController,12,_Trial_,Start,1663664360727,openguise_m_sd.wav,NULL 1663664587,REDACTED,PennController,9,0,Item,NULL,Scale,Skala1,Choice,6,1663664370706,openguise_m_sd.wav,NULL 1663664587,REDACTED,PennController,9,0,Item,NULL,PennController,12,_Trial_,End,1663664374041,openguise_m_sd.wav,NULL 1663664587,REDACTED,PennController,10,0,Item,NULL,PennController,13,_Trial_,Start,1663664374043,openguise_m_namlex.wav,NULL 1663664587,REDACTED,PennController,10,0,Item,NULL,PennController,13,_Trial_,End,1663664380715,openguise_m_namlex.wav,NULL 1663664587,REDACTED,PennController,11,0,Item,NULL,PennController,14,_Trial_,Start,1663664380717,openguise_m_namgram.wav,NULL 1663664587,REDACTED,PennController,11,0,Item,NULL,Scale,Skala1,Choice,1,1663664387670,openguise_m_namgram.wav,NULL 1663664587,REDACTED,PennController,11,0,Item,NULL,PennController,14,_Trial_,End,1663664391514,openguise_m_namgram.wav,NULL
jonesanam
ParticipantDear Jeremy,
thanks again for helping out so much, it is appreciated a lot 🙂 As we have developed our experimental design a bit further, I have a follow-up question:
In the advanced version, we are looking to do the same thing with two different sets of audios, and switch sets every time the link is clicked, so that every other participant . I feel like this could be achieved by combining the above code with a second CSV that assigns lists – However, I haven’t been able to figure out how to bring these two things together on my own. Could you please help out again? 🙂
(The current version of the experimental trial is pretty much still the same: the code from your last reply, with one CSV containing one column with the audio file names of one of the sets. In case it helps, this is the experiment: https://farm.pcibex.net/experiments/GUiEra/edit)
Again, thanks a lot in advance and I hope you have a great start into the new week!
Jonesjonesanam
ParticipantHi Jeremy,
Ah – I must have overlooked the line in the results that indicates the name of the zip file. That’s definitely enough to connect the data and we should now be good to go with this experiment. Thanks a lot, once again you saved the day 😀
All the best,
Jonesjonesanam
ParticipantHi Jeremy,
thank you so much! I talked this through another time with my institution’s IT support and we noticed that certain additional permissions make the server block the PHP entirely (in case somebody else with the same problem reads this thread: no writing permissions for group and global were allowed anywhere in public_html). Now it finally works!
I noticed that recordings are named after their respective mediarecorder element and saved together in a zip archive, which is perfect. Is it possible to automatically name the zip, too? By default, it seems to be a random order of letters and numbers, which would make it hard to connect the recordings with our meta data. Ideally, we would like to automatically name each zip after the TextInput where we let our participants type in their anonymization code (but if we had a possibility to include that in the file names or have an extra file in the archive that just contains the anonymization code, that would also do). I suspect it will have something to do with modifying the UploadRecordings environment, right?
Jones
jonesanam
ParticipantHi Jeremy,
thanks again for your answer. Correct, I double-checked all permissions on all files and directories. I also went over URL spellings etc. and the how-to page about media recording, too. In the mean time, I also talked to several IT people from my institution but sadly, this matter remains mysterious. Together we tried including a .htaccess file in audios/ (containing
php_value open_basedir "~public_html/audios/uploads"
, which did nothing and is now empty) and after that a .user.ini file in public_html/ (containingPHP_INI_PERDIR PHP_INI_ALL error_log = /home/j/jonesanam/php-error.log
, which also did nothing).
However, PHP configuration in general should be possible as it appears in the FAQ, which say to include a .user.ini file in public_html to configure PHP settings meanwhile only PHP_INI_PERDIR and PHP_INI_ALL classes are allowed (I am not sure what that last part means, though, I just typed the code in the file and gave it reading and executing permissions).I’m starting to wonder if my institution’s server is somehow broken or incompatible with certain parts of IbexFarm… Is there anything else I could try? 🙁
Jones
jonesanam
ParticipantHi Jeremy,
sorry, I forgot to add: we switched to a different server ( https://userpage.fu-berlin.de/jonesanam/audios/saveRecordings.php ). The things I said in my last comment apply to the new server. When I try to open that link (or the parent directory), i get error messages. Does that mean our issue lies probably within the server? When trying to open the image directory ( https://userpage.fu-berlin.de/jonesanam/stimuli/ ), i also get an error message (however, displaying these in ibex works just fine).
Thank you for the explanation with the upload trials, too! 🙂
Jones
jonesanam
ParticipantHi Jeremy,
thanks! I included the code now but it still gives me the same error message. Doc says in that case to check for open_basedir restrictions but there is nothing named like that on our server and, to be completely honest, I also don’t understand what that means. I tried to work around that by just giving the audios/, its subdirectory uploads/ end the saveRecordings.php within audios/ all possible permissions, so maybe I am looking in the wrong direction? I also replaced the Link in the PHP script with * to avoid spelling mistakes, but that also didn’t work.
By blocking upload trial, do you mean something like
UploadRecordings("label","block")
? Also, would you recommend including an Upload trial after every recording?Thanks again!
Jonesjonesanam
ParticipantOh. Thanks so much! now it works 🙂
jonesanam
ParticipantThis is the experiment link: https://korpling.german.hu-berlin.de/ibexexps/SFB1412C07/ZS-AZ/experiment.html
The code is the same as before, with these two lines added at the beginning:PennController.ResetPrefix(null); PennController.AddHost("https://amor.cms.hu-berlin.de/~anamjoya/zeitungsstudie/");
Jones
jonesanam
ParticipantThanks fpr the quick answer! Yes, I included it in the first line.
jonesanam
ParticipantHi Jeremy,
it’s me again – not sure if this is the right place to ask, this time, though (as it doesn’t directly concern farm.pcibex.net). When copying the code out of PCIbex into my university’s installment of Ibex Farm, I get this error message: “Unrecognized expressions: Sequence (PennController: 0)”. When I take Sequence out of my script, i get the same error message with Counter and so on.
I already double-checked the correct upload and initialization of PennController.js as well as the AddHost environment. Are you by any chance familiar with this kind of export-import problem?Again, thanks a lot in advance! 🙂
Jonesjonesanam
ParticipantHi Jeremy,
thank you so much! This is exactly what we were looking for and we really appreciate your kind help. 🙂
All the best
Jonesjonesanam
ParticipantHi Jeremy,
thank you very much for the helpful explanations 🙂 I am genuinely confused that my original version has worked for you – when I click the link, it still has the same error as before, coninuously repeating either “Überschrift.png” or “1Überschrift.png” twice on each page.
Your version, however, is already much closer to the solution. Yet, when I implement it, each item gets repeated fourfold (2 pages each, twice on each page) before showing the next one. Now my question would be how I can correct this so each page shows two consecutive items?Again, thanks a lot in advance! 🙂
Jones -
AuthorPosts