I have started creating my first project with GWT. In first lines of code, it worked normally and I had no need to GWT Compile every time to see a simple change in my browser.
For client changes, a save file was enough and for server a save and refresh server. But now it has stopped working like before.
For the smallest change like adding a "Window.alert("msg")" I need to reGWTCompile the whole project to see it! What could have issued this?
Make sure you're running in DevMode (i.e. have ?gwt.codesvr= in your URL)
Related
We are in the process of switching our game from our own canvas page, to using the Unity integration on Facebook. However, during our development tests we have occasionally run into a problem where the webplayer binary gets loaded from the browser cache, even though a newer version was uploaded to the server.
Manually clearing the browser cache solves the problem, but that's not exactly a solution we want to present to our users all the time. Previously, when we embedded the unity object ourselves, we also passed in a ?version flag with the url, which would keep it up to date, but we can't exactly do that anymore with integration turned on, unless we manually update the binary location link in our app settings every time we do a build (Kind of a pain in the butt, since the rest of our build process is automated)
Is there any way around this?
Thanks.
We have exactly same problem and I can say only solution is to change the binary file name everytime you made a build but only for your production environment. Here is our solution:
We have development (sandbox mode)and production environment and one app for each one.
For development, we ran everything locally, we have buildpipeline that builds and copies the binary file to appropriate place with the same name always like MyGame.unity3d, and we have set our browsers not to cache anything, that solves the problem for testing.
For production, our buildpipeline constructs the binary name with:
YourGameNameMainVersion.SubVersion.TimeStamp like: MyGame0.3.1006-1004.unity3d and this one is manually set from facebook's app settings page in every build. But this is not a big problem as you won't want to make a new build more than once/twice a day for production.
We've found that all that needs to be done is to add "?version=xxxx"
This works, and perfectly fine. I do now, is only change version (?version=1.52) in main link:
<a href="http://cometoplaynow.com/Labyrinth3D/Labyrinth3D.html?version=1.52">
Have advantages using it:
Changing only 1 number - link is still the same (if people open game from your site)
Savings will stay as it was (if you change .unity3d you will lost PlayerPrefs).
How to do server side datas changes may be effect or update by browser's refresh in GWT projects ? Browsers may download js files of client side , but not server side. When a project is bigger and bigger , that may consumes many times of us. We also wait js files downloading times. One or two times were not problem. But if we changes small things and we want to see it's effects urgently , we will stop server again , re-run the project again , wait js file downloading time , reLogin again and so on. So , I really want to know how to do. Any suggestions would be appreciated. Thanks for reading my question patiently...
There's a "Restart Server" button in the DevMode window (in the Google Plugin for Eclipse it's a pair or swirling yellow arrows).
It'll restart the webapp, reloading the compiled classes from WEB-INF/classes and JARs from WEB-INF/lib.
If you're using Eclipse, it should already be configured to compile classes to that WEB-INF/classes folder so it should Just Workâ˘.
My problem can solved with JRebel but I want to know is another way because it is not free tool :) .
It is awesome tool. You can add it your eclipse as plugin and add it's nature. If you run your project with it's console you can get always update datas of client and server side datas by saving your class or xml or any other files (I mean as I know ). If you want to test with it , guide is here..
JRebel for Eclipse
That may be helpful for you...
To see the immediate changes you can copy your js files and paste it in your target folder of entrypoint project. And a browser refresh will suffice. Sometimes clearing of browser cache also required.
This might not be a classy solution but it will reflect the changes and in cases where you don't want to restart the server again and again to check whether it works or not.
I am developing a GWT app using eclipse and I was wondering if there is a way to hot swap client code changes I make without having to do a full Google Compile each time. Currently when I modify my code, I do a Google compile and then click the Reload server button, then I refresh my browser to pick up the changes. This is starting to get a bit painful as it takes 10 - 20 sec to do a full compile when I may have only modified a UI string so was wondered is there a quicker way.
If you want to see your changes in client code, hit the refresh button in your browser.
If you need debug functions, use Debug As => Web Application. It may be a little (or a lot) slower to start depending on a browser.
If you don't need debug functionality, use Run As => Web Application. It starts faster. You will still see all errors in Development Mode and Console tabs.
If you make changes to server-side code, you have to reload the web server, using the dedicated button of the dedicated Development Mode view in Eclipse.
You never need to recompile unless the plugin tells you to do it.
See https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#DevGuideDevMode
To add to Andrei's answer Assuming we are changing functionality invoked on button click.
1) We usually change lines of code in the function invoked and click the button again in the UI. No need of reloaing the entire application using refresh button.
2) If the change involves code that cannot be hotswapped - example class changes like adding new a class variable, then you need to refresh browser. You can sometimes ignore the eclipse warning complaining that it cannot hot-swap.
3) If you run out of memory then you need to close and relaunch dev mode.
4) If your server side is hogging memory then it might be better idea to use external server rather than jetty to avoid time consumed on server restart for every dev mode launch.
I have an issue in updating contents in Umbraco. Whenever I update something in Umbraco, I have to wait at least one hour, sometimes 12 hours to see the changes at front-end.
The only way to see the changes immediately at front-end is "empty the connection string value umbracoDbDSN and refresh the page, then put the connection string back and refresh the page". I have to do everything I update something in CMS.
Do you guys have any idea what is happening here? Thanks.
The problem was. Umbraco was configured to run on load balanced servers on our old servers. I had to turn it off on the new server.
<distributedCall enable="false"> in umbracoSettings.config
What version are you running? When v5 first came out, I had a big problem with that (and solved it like you by touching the web.config to force a reset. Hopefully you are not using v5 (as its been discontinued and has extreme performance issues).
I have not had that problem in any v4.x versions that I can remember; changes should show up instantly after you republish.
Are you running in a standard configuration? Using a webfarm by anyt chance?
Is the ~/App_Data/umbraco.config file being written to on publish? This is the XML cache file that is used in displaying you website.
When you publish a node, the data is serialized into XML, stored in a database table and then written out to the umbraco.config cache.
This could be some kind of permissions issue, if umbraco doesn't have rights to read/write the file. Or you could have a corrupt dll that just isn't writing to it correctly. Or perhaps it's writing it out just fine, but your server is caching you pages in a weird way. Either way, I'd take a look first at the umbraco.config and make sure the data is being written to it on publish.
Anyone know how to remove or supress the enoying dialog boxes when developing xPages
If you are just making small xpages application you might not see these very often, but the more complex your xPages get you see these all the time. specially when you navigate your xpage using the outline view or during build
I click the x several times every day to get rid of it, Not sure if the operation quits when I click the x or if it continues in the background.
I would like a setting to get rid of it once and for all
Well, in your designer, you should disable Build automatically in the Project menu. This will remove the constant build, but also means that you have to build manually, when needed.
You could also take a look at Nathan T. Freeman's post on the matter # Making Domino Designer work like you want
Are you using any java libraries added to the webinf/lib dir in your nsf? I noticed that when adding any jar files to the lib dir rebuilding your application can take ages..
I had 2 external jar files used in my project (contained within the database). It used to take around 5-10 minutes to compile the project. Any changes to the XPages/Custom Control/Java files needs a recompile. And you can imagine the frustration I had with the compilation time. Later I detached the jar files and put under the jvm\lib\ext folder. The compilation time drastically reduced to 1 minute. Still not happy.
As a next step, took a local replica of the database and started making the changes and recompilation on the local replica. Once done, replicated the databases and always previewed the changes on the server version. The compilation time is hardly 10 seconds. So 10 minutes to 10 seconds :)
Switch off build automatically, it will solve most of these.
There is also a known issue SPR SODY8Q9KNA where Java Design elements (new feature in 8.5.3) keep getting rebuilt on designer start up. That brings up the same pop-up.
There should be a fix for that in 8.5.3FP1 but I am not in an official position to say it will be in FP1 until it actually ships. You can check in the release notes as they are updated.
http://www-10.lotus.com/ldd/r5fixlist.nsf/(Progress)/853%20FP1