Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

result states

Hi everyone!

Can anyone tell me what is the difference between "finished" and "result data posted"?

Thanks!

Comments

  • Hi Esra,

    They correspond to two very different events that can occur independently (but they usually won't, if you follow our recommendations).

    Result Data Posted happens whenever the command jatos.submitResultData gets executed. This can happen at the end of a component, but of course also in the middle of a component.

    Finished happens when the component is finished, though one of the commands like jatos.endStudy, jatos.startNextComponent, jatos.startComponent, etc.

    So in principle you could Post result data without finishing a component, and finish a component without posting any data. But if you use our recommended form jatos.submitResultData(resultJson, jatos.startNextComponent), you would be doing both almost simultaneously and rarely get one status without the other.

    Hope this clarifies it.

    Best

    Elisa

  • Thank you Elisa. Unfortunately I have got data files which are finished, result data posted (finished but not in the finished status dont know why), result data posted (totally empty) data files. I think I have to deal with them one by one.

    Best,

    Esra.

  • Hi Esra, do you use OSWeb by any chance?

  • For converting the data, yes I use OsWeb. Any suggestion?

  • There is a known issue (https://github.com/shyras/osweb/issues/160) that OSWeb under certain circumstances doesn't wait until the result data are done being saved in JATOS and prematurely finishes the study run. This bug might be the reason for your empty result data. Then only way that I can see to circumvent this, is to wait after each trail for a second or two. This would ensure that JATOS received all result data.

  • Hi @kri,

    I recently switched from the desktop to the web version of OpenSesame to run my experiments (they are hosted on a JATOS server). EEverything is working well, but a colleague of mine tested one of my experiment and there are missing lines (trials) in .txt result file on JATOS. I suspect that, as you said in the previous post, OSWeb doesn't wait until the results are correctly sent to JATOS before starting the next trial. That did not happen for me (I have a good internet connexion), but it did for my colleague who has a poor internet connexion. Is it possible that internet connexion plays any role in this?

    You suggested waiting after each trial for a few seconds. Did you mean adding a longer delay in the OSWeb program or by changing the jatos.js file generated by OpenSesame? Also, is there any way to force OSWeb to wait (@sebastiaan or @Daniel could maybe help)? I do not care about precise intertrial timing, so any solution that leads to variable intertrial timing would be okay.

    Thank you in advance for any help,

    Simon

  • I've also experienced missing trials in some instances. E.g. in the attached image trial 50 is absent.


  • Hi guys,

    it's seems as if I don't get notifications for answers in threads at the moment. I stumbled over your answered coincidentally ;). I'll try to monitor this thread from now on.

    You suggested waiting after each trial for a few seconds. Did you mean adding a longer delay in the OSWeb program or by changing the jatos.js file generated by OpenSesame?

    Both is possible. Changing OSWeb's jatos.js file is the safer alternative. If you do not care for the (small chance of) lost data in case a participant doesn't finish the whole study, then here is a version you could use: https://github.com/kristian-lange/opensesame-extension-osweb/blob/345b528b6cad40a6bade0b48bb9ffc6f36702add/osweb/src/js/jatos.js

    I wrote this jatos.js version for Sebastiaan and Daniel but in the end we agreed not use it in OSWeb due to the issues already stated: potential data loss. The current OSWeb version (the one you are using) sends result data after each trail to the JATOS server. The one here in the link sends the data only in the end of the study. This has the advantage that data doesn't get lost between trails (like with the current OSWeb version) - but does have the disadvantage that all data might be lost in case the participant does't finish the study.

    There is a second option: I'm working on a new version of JATOS were the whole result data sending will be handled by a backgroud worker in the browser and therefore data loss shouldn't happen anymore. But this will take a couple of days (not sure how many - everything is chaotic right now).

    Best,

    Kristian

  • Hi Kristian,

    Thank you for the detailed answer. I changed the jatos.js file generated by OSWeb by including the jatos.startNextComponent option to jatos.appendResultData. Is it correct that it doesn't change the initial behavior of OSWeb except that it forces the program to wait that the data are appended before starting the next component? Is it also true that this change could also slow intertrial delay in case sending the data takes time (e.g. if the connexion is slow)?

    Thank you for your guidance and for all your work,

    Simon

  • Hi Simon,

    I'm not sure I understand correctly what you changed in the OSWeb's jatos.js file. But the altered version I linked in the prior post had more changes than just jatos.startNextComponent option to jatos.appendResultData. You can compare old and changed OSWeb's jatos.js file with this link https://github.com/kristian-lange/opensesame-extension-osweb/commit/345b528b6cad40a6bade0b48bb9ffc6f36702add.

    The easiest would be to just copy the whole content from https://github.com/kristian-lange/opensesame-extension-osweb/blob/345b528b6cad40a6bade0b48bb9ffc6f36702add/osweb/src/js/jatos.js into your OSWeb's jatos.js file.

    Or you wait for a couple days until the new version of JATOS with the background sending of result data is out ;)

    Best,

    Kristian

  • Hi Kristian,

    Thank you for your answer!

    What I did is adding the jatos.startNextComponent in the following block of code:

    function send (data) {
        // Send this log entry to the server
        return jatos.submitResultData(
            data,
            function(){return {};},
            function(err){
                console.error(err);
                // How to handle errors?
                errorsOccured = true;
            },
            jatos.startNextComponent
        );
    }
    

    With this change it seems after some test that there is no data loss anymore. Is it an appropriate change? If not, I will definitely wait for the next Jatos version ;-)

    Best,

    Simon

  • Hi Simon,

    I think your changes work only if you have only one 'trial' in your OSWeb experiment. As far as I understand OSWeb it does divide your experiment in trails and after each trial it sends the result data back to the JATOS server by calling this 'send' function you changed. Since you call 'jatos.startNextComponent' in there now you finish the experiment after the sending of result data (there is only one component in the standard OSWeb experiment). So only the first trial will happen. If you have only one this is fine - but if you have more, then those won't be displayed and you won't get the result data.

    Best,

    Kristian

Sign In or Register to comment.

agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq, agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq , dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games