Announcement

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

    debugging smartgwt app, __fireReplyCallback, RPCManager undefined, configuration

    The following is a list of issues debugging a SmartGWT application. The environment is:
    SmartGWT LGPL 5.0p
    GWT 2.7
    Eclipse Luna 32-bit, debug in superdev mode, internal server (Jetty 8.1)
    Chrome 46.0.2490.86 m
    Firefox 42.0
    Internet Explorer 11.0.9600.18097 (update version 11.0.25)
    Any change in any environment module will render this information useless, seeing how often things change in this very unstable technology.

    11/26/2015
    1. Configuration 1:
      1. gwt.xml inherits:

        <inherits name="com.smartgwt.SmartGwtNoScript"/>
        <inherits name="com.smartgwt.tools.SmartGwtTools"/>
        <inherits name="com.smartclient.theme.enterprise.Enterprise"/>
        <inherits name="com.smartclient.theme.enterprise.EnterpriseResources"/>
      2. html script includes:

        <script src='rexweb/sc/modules/ISC_Core.js'></script>
        <script src='rexweb/sc/modules/ISC_Foundation.js'></script>
        <script src='rexweb/sc/modules/ISC_Containers.js'></script>
        <script src='rexweb/sc/modules/ISC_Grids.js'></script>
        <script src='rexweb/sc/modules/ISC_Forms.js'></script>
        <script src='rexweb/sc/modules/ISC_RichTextEditor.js'></script>
        <script src='rexweb/sc/modules/ISC_Calendar.js'></script>
        <script src='rexweb/sc/modules/ISC_Drawing.js'></script>
      3. results:
        1. Chrome: page loads without errors in console, all scripts load, app fails to start
        2. Firefox: same as Chrome
        3. IE: reference to __fireReplyCallback fails because RPCManager is undefined. Source map resolves this to SmartGwtEntryPoint.java, line 34, init(), probably the first reference in the JS.
    2. Configuration 2 (ref. https://www.smartclient.com/smartgwt...ugModules.html):
      1. gwt.xml inherits:

        <inherits name="com.smartgwt.debug.SmartGwtNoScriptDebug"/>
        <inherits name="com.smartgwt.tools.SmartGwtTools"/>
        <inherits name="com.smartclient.theme.enterprise.Enterprise"/>
        <inherits name="com.smartclient.theme.enterprise.EnterpriseResources"/>
      2. html script includes:

        <script src='rexweb/sc/modules-debug/ISC_Core.js'></script>
        <script src='rexweb/sc/modules-debug /ISC_Foundation.js'></script>
        <script src='rexweb/sc/modules-debug /ISC_Containers.js'></script>
        <script src='rexweb/sc/modules-debug /ISC_Grids.js'></script>
        <script src='rexweb/sc/modules-debug /ISC_Forms.js'></script>
        <script src='rexweb/sc/modules-debug /ISC_RichTextEditor.js'></script>
        <script src='rexweb/sc/modules-debug /ISC_Calendar.js'></script>
        <script src='rexweb/sc/modules-debug /ISC_Drawing.js'></script>
      3. results, all three browsers:
        1. 200 additional scripts are downloaded
        2. 11 images failed to download, all referenced from /sc/skins/standard/images, even though the theme is “enterprise”. The Enterprise folder does exist under /sc/skins, however. Some variable isn’t being set correctly under debug mode.

          Rectified by adding to html:

          <script type="text/javascript" language="javascript" src="rexweb/sc/skins/Enterprise/load_skin.js"></script>
    [Admin NOTE: the following advice is totally wrong, no one should follow it. This users troubles resulted from basic errors; see Isomorphic's follow-up post]

    Instead of using the SmartClient debug mode, as detailed in #2, it’s better to configure as detailed in #1 and adding the following to the html page:
    <script src='rexweb/sc/client/application/RPCManager.js'></script>
    If RPCManager isn’t moved into your module’s sc folder, extract it from the SmartGWT JAR and add it yourself, but best to put it under a folder other than the module folder, which will be altered by future compiles.

    Presently, the only suitable environment for debugging a GWT application is in Internet Explorer (:rolleyes:), since code can be reloaded without reloading all code, and the page itself. Plus, you can still debug directly in Eclipse, as opposed to the ridiculous browser development environments; this is only debugging in GWT classic mode. Super dev mode is completely useless.

    Unfortunately, this means you won’t have any of the amazing development plug-in’s available for Firefox, particularly Selenium IDE.
    Last edited by Isomorphic; 26 Nov 2015, 13:42.

    #2
    You do realize that your post is surrounded by other posts where people are successfully using both classic DevMode with browsers other than IE, and SuperDevMode?

    Your primary error is forgetting the ISC_DataBinding.js module. Do not try to manually load just the RPCManager.js file.

    It's also not a surprise that the framework loads non-existent images if you fail to load a skin at all.

    Please read or re-read the Debugging chapter to see how to correctly set up your project. When you follow the documentation, things work.

    Comment


      #3
      So the whole thing stops working because I omitted the databinding script? And because I assumed inheriting the Enterprise theme would be enough to load the skin? Do you have any idea how wrong this is? I've been a proponent of using your library for a long, long time, and I've wasted tons of hours with basic configuration issues, which your documentation does little to explain, and your architecture makes even worse, and then you insult me with your snideness? What kind of community is this? I already know the answer, this isn't an open source community at all; it's a front for you to push licenses for your hare-brained enterprise solutions. Poor Sanjiv got screwed by those other guys after wasting so much time, then he fell into your claws. You obviously set all this up to milk customers out of support issues. I'm glad there are so few paying to use this. I'm finished with SmartGWT, and it's only because of your attitude.

      Comment


        #4
        By the way, it's still impossible to use classic dev mode with other browsers, unless you use ones which are now years old. This has been a GWT issue for awhile, and you know it.

        Comment


          #5
          Anyone who has read your posts here understands what I'm talking about. And why exactly does the "open source" SmartGWT project at github have only TWO contributors? Nobody's interested?

          Comment


            #6
            There is no library that still works if you don't load a required script.

            The Debugging docs explain how to work with skins if you are putting <script> tags in manually.

            Yes, only older browsers working in Classic Dev Mode, because it's being phased out. SuperDevMode has some definite limitations too, and isn't as easy to work with as we'd like. The most we can do is carefully document what you need to do, which we already do.

            While the SmartGWT project has just two contributor accounts, in fact, more than a dozen people contribute under smartgwt.dev, for reasons related to our internal automation.

            Sanjiv still works with SmartGWT. We have a lot of organizations who approach us for the first time with multiple deployed applications, where we never knew they were using our product - because the docs work.

            So, please keep perspective - you made a small error and got frustrated. From there, nothing you've said about the product or community is accurate. Looks like just a bad day, hope you have a better one tomorrow.

            Comment

            Working...
            X