Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Smart GWT upgrade strategy

    Hello,
    We have been using Smart GWT LGPL version for last couple of years now .

    I have a question related to the upgrade strategy for Smart GWT applications.

    When we initially developed our web application we were using Smart GWT 4.0 version and because of the browsers getting modern everyday , we had to upgrade to use the 5.0 version specifically for support of IE 11.

    So when we upgraded our application to use 5.0 , we faced a problem. After the upgrade , a lot of the users who use our application everyday and had all the ISC_ files stored in the browser cache were not able to access the application and were getting errors.

    So, we had to tell them to clear the cache and try again . I believe the problem is because after our upgrade to 5.0 and the users have the ISC_ 4.0 files saved in the cache and so the application was incompatible .

    We are thinking of moving to 6.0 version and trying to get inputs on how to avoid this problem .

    Is there any way to force the browser to download the latest ISC_ files one time when we do the upgrade and the users access the application for the very first time

    Thanks,
    Sid

    #2
    yes, include in the path of your application the version of your software.
    For example: V010503 for Version 1.5.3
    Since the path changes, the browser will always download your newest files the first time the user opens your software

    Comment


      #3
      Hi reachsidhu,

      please have a look at this thread.

      Best regards
      Blama

      Comment


        #4
        Originally posted by edulid View Post
        yes, include in the path of your application the version of your software.
        For example: V010503 for Version 1.5.3
        Since the path changes, the browser will always download your newest files the first time the user opens your software
        edulid , i cannot add version to the Javascript files as these are SmartGWT Internal files and are loaded internally by the Smart GWT framework

        Comment


          #5
          Originally posted by Blama View Post
          Hi reachsidhu,

          please have a look at this thread.

          Best regards
          Blama

          ​Hi Blama , are you saying i manually load all the SmartGWT specific JS files inside my startup HTML page instead of letting the framework download internally ?

          Comment


            #6
            Originally posted by reachsidhu View Post
            edulid , i cannot add version to the Javascript files as these are SmartGWT Internal files and are loaded internally by the Smart GWT framework
            But you can add the version to your whole application path. The javascript files are relative files, so they will be loaded as well.
            I have done this for each version release and it works fine without making the user delete his cache.

            My application is for example called: "myapp-1.5.3"

            Comment


              #7
              Hi reachsidu,

              this is what I am doing. The aim is "don't use stale files from the cache".
              In order to do so you could disable caching completely, but you obviously don't want to to that.

              The "load JS files yourself" works very good for me, so this is what I am doing (FYI: This means a different import in your .gwt.xml file of com.smartgwtee.SmartGwtEENoScript).
              If the normal way issues the same good HTTP requests with a builddate-cache-busting mechanism, this would work as well. But in your answer in #4 you are saying that it does not work that way, so yes, my suggestion is to load the JS files by hand and add a cachebuster, either manual every time you change the framework build or automatically like I do in the other post.

              Also possible is to always have the server check for modifications (HTTP 304). This would also work with no changes to your project, only to the webserver configuration, but only after the users once reloaded with Ctrl-F5.

              Best regards
              Blama



              Comment


                #8
                Originally posted by Blama View Post
                Hi reachsidu,

                this is what I am doing. The aim is "don't use stale files from the cache".
                In order to do so you could disable caching completely, but you obviously don't want to to that.

                The "load JS files yourself" works very good for me, so this is what I am doing (FYI: This means a different import in your .gwt.xml file of com.smartgwtee.SmartGwtEENoScript).
                If the normal way issues the same good HTTP requests with a builddate-cache-busting mechanism, this would work as well. But in your answer in #4 you are saying that it does not work that way, so yes, my suggestion is to load the JS files by hand and add a cachebuster, either manual every time you change the framework build or automatically like I do in the other post.

                Also possible is to always have the server check for modifications (HTTP 304). This would also work with no changes to your project, only to the webserver configuration, but only after the users once reloaded with Ctrl-F5.

                Best regards
                Blama


                Blama

                Thanks for the response , i included <inherits name="com.smartgwt.SmartGwtNoScript" /> in my gwt xml and then manually added to load all the ISC_* files in my HTML page . I see the files getting downloaded twice , one the manual load with the version appended and the other automatically by SmartGWT . Am i missing something?

                Comment


                  #9
                  Hi,

                  after changes to your .gwt.xml, I'd definitly clean the project and get rid of GWT cache files.
                  Besides of that, no special steps are required IMHO.

                  You should not load ISC_FileLoader.js and also the other .js files, if you are doing that. If so, only use the manual loading.

                  Also, Chrome F12 tools will tell you which line in which file triggered a HTTP request.

                  Best regards
                  Blama

                  Comment

                  Working...
                  X