Open btruhand opened 9 years ago
This is a great patch, Btara! There are some things outstanding though--see if you can take care of them, else I will later on.
First, this is not quite a fix for #118 --it does prevent me from creating simultaneous participants with the same ID, but participant IDs can still be reused once the previous usage has ended. We should check the database to see if any participant has used this ID in this microworld in order to properly close the issue.
Second, there are cases--I haven't figured out exactly when, unfortunately--where the observer window is waiting on a "Loading the application" loop, and does not properly see what's going on until, I think, a new season starts.
And third, it would be great if the experimenter could access the simulations as an observer while the participant is still reading the instructions/getting ready. But it doesn't seem as if that's available at this point. Let me know if this is too cumbersome to add.
Thanks for the comments Jorge!
At first point: Ah I thought participant IDs only need to be unique within a particular simulation, not for the whole microworlds.
At second point: Interesting, I thought I covered all the cases already. You can see the synchronizeObserverAndParticipantView in fish.js, that might help you find when observers are stuck in a loading the application loop.
At third point: You are right currently it's not possible to view a participant while they're still getting ready. I'd have to make some new UI for that. It'll be a bit of work to do.
Sadly I might not have the time to do anything on these for this week. But I'm fine to wrap this up in the following weeks. Let me here what you think
Jorge, I've made it so that participants cannot use participant IDs that have already been used in the past and is used for bots. As an addition I've made it that bots' names have to be unique.
Right now the participant IDs that are used will remain in the microworld document even if the participant has finished/quit the simulation. I don't know if this is suppose to be the case, but if the participant IDs only need to be tracked as long as the participant is in the simulation then I can easily make it do so.
Unfortunately for the first issue that you raised I cannot find the problem and as I've mentioned in the email, I won't be able to resolve the third issue you raised.
This PR introduces the following: