Our solution finally went live today. However, there’s one nagging issue regarind data broadcasting. I have about 40 different clients running at the same time on ONE solution. I expected that a data entered by one client (or adds a new record) will automatically be reflected on ALL other clients. However, it doesn’t. It seems to work sometimes, then at other times, I could have to close the client and restart in order to see the updated changes.
If I check the data on my MS SQL database, all the data is updated live. It’s just seems like the Servoy client itself doesn’t show the updated data.
Does someone come across this? Any suggestions. Please help! This is pretty urgent this they are running since in production as I type this.
Thanks
Running MS SQL 2000; Servoy 2.2.4; Sun Java 1.5.0_02
However, Is there a way to NOT have to add controller.savedata() to everything. My code is validated and pretty locked in. Perhaps someone know something in the Network setting?
The funny thing is, the client would update live most of the time, then after a few minutes, it would stop updating forcing the other client to have to exit and re-entere Servoy before seeing the updated data. Exiting and re-entering Servoy works EVERYTIME tho when trying to see the updated data that’s created by another client. Please help.
thanks a bunch!
I believe the expected behavior is for other clients to update when the client that makes the change changes records. In other words, changing data in a field and just moving to another field does not update other clients.
Westy:
I believe the expected behavior is for other clients to update when the client that makes the change changes records. In other words, changing data in a field and just moving to another field does not update other clients.
When I was doing the test in my lab environment (3 clients); I can enter data into one field and the other 2 clients would see the update automatically. that’s why I’m so puzzled why when deployed out to my production environment, this works sometimes, and doesn’t work sometimes and WHY log-out then back into servoy client would fix the problem.
I believe the expected behavior is for other clients to update when the client that makes the change changes records. In other words, changing data in a field and just moving to another field does not update other clients.
This is certainly not expected behavior.
Sammy, I have experienced such a thing back in the early 2.0 days but have seen no complaints since. Strange…[/quote]
I believe the expected behavior is for other clients to update when the client that makes the change changes records. In other words, changing data in a field and just moving to another field does not update other clients.
This is certainly not expected behavior.
Sammy, I have experienced such a thing back in the early 2.0 days but have seen no complaints since. Strange…
[/quote]
Hey Marcel, Sorry if my sentense is a bit confusing, but What is the expected behavior?
Is it that all data should be broadcasted instantly without problems? or that broadcasting may have problems unless controller.Savedata() is used throughout the system?
I am not really sure here. Normally controller.saveData() shouldn’t be necessary unless you want to be in control of when the data is pushed out. If I am correct a new record selection will force data to be saved…
I restarted the Servoy Server then restarted the SQL server (where my repository is) and it everything seemed to work for about 40 minutes, then the delay and lag started happening again.
The places where you don’t see the data coming in. Are those related foundsets that aren’t being updated? And if so how many records are in those related foundsets?
jcompagner:
The places where you don’t see the data coming in. Are those related foundsets that aren’t being updated? And if so how many records are in those related foundsets?
About this code:
databasemanager.refreshRecordFromDatabase(relatedfoundset,-1)
I’m not at work yet to see the entire code,but before the user does a data entry, the script does indeed do a foundset first. I’ll try out the refresh database record
DO I see a “blue indicator” or some indicator that the database actually refreshes? I’ll try it out in a few minutes and see what happens. This function is available also in 2.2.4 correct?
Also, is there a global “Refresh” command that’s not specific to a foundset? A way to just say "refresh the data since it seems like logging out and back into servoy client fixes the problem. There should be a way to trigger a global refresh command?
sammyzheng:
Also, is there a global “Refresh” command that’s not specific to a foundset? A way to just say "refresh the data since it seems like logging out and back into servoy client fixes the problem. There should be a way to trigger a global refresh command?
That would be the flush cache command in the servoy admin pages.
sammyzheng:
Also, is there a global “Refresh” command that’s not specific to a foundset? A way to just say "refresh the data since it seems like logging out and back into servoy client fixes the problem. There should be a way to trigger a global refresh command?
That would be the flush cache command in the servoy admin pages.
I tried that, it didn’t work (the servoy admin page flush cache command).
Since i’ve never used that databasemanager.refreshrecordfromdatabase command before. Can someone give me some pointer on how to use it?
How do you just do a refresh of the entire foundset or the current record?
on my limited testing, looks like the fix WORKED!databasemanager.refreshRecordFromDatabase(foundset,-1)
I will have script it into the onDataChange script for every field to double ensure the update happens. One more question, do i need to put that for create new record too?(when the “refresh” isn’t working, even new records being created aren’t updated to all clients); will the databasemanager.refreshRecordFromDatabase(foundset,-1) refresh NEW records being created as well?