Hi Hafiz: Sounds like this has something to do with the way that numeric values are coerced to and from String values in JS. Forcing the value to be a String (w/ a non-numeric char) is a fine solution for the moment. A colleague recently saw this behavior as well. I'll take a look when I get some time.
Let me know if you run into any other troubles- --j On Mon, Nov 30, 2009 at 11:32 PM, Hafiz A Haq <[email protected]> wrote: > Seems appending a random character to the random number has fixed the > issue, > atleast in my dev environment. > > I will update you once the build makes it to production. Waiting with my > fingers crossed. > > Thanks and Regards, > Hafiz > > 2009/11/25 John Hjelmstad <[email protected]> > > > Throwing a few ideas out there: > > > > 1. Rather than your rpctoken being (interpreted as) a number, ensure it's > a > > string by prepending "A" or something to it. > > 2. Any chance VBScript is disabled for you? > > > > -j- > > > > On Sun, Nov 22, 2009 at 10:30 PM, Hafiz A Haq <[email protected]> > wrote: > > > > > 2009/11/21 John Hjelmstad <[email protected]> > > > > > > > 1. Ah, version 1.1-beta2. I can't recall whether that version has the > > new > > > > NIX protocol in it or not. Does your /gadgets/js/rpc.js?c=1 file > > contain > > > > symbols named gadgets.rpctx.nix*? > > > > > > > > > > > I tried 1.1beta2 and 1.1beta4 , i could find something like > > > > > > gadgets.rpctx.nix=function(){var C="GRPC____NIXVBS_wrapper"; > > > > > > 2. Do you have a special container config for container=smx-container > > that > > > > overrides any values for "gadgets.features":{"rpc"...? > > > > > > > > > > > "rpc" : { > > > // Path to the relay file. Automatically appended to the parent > > > /// parameter if it passes input validation and is not null. > > > // This should never be on the same host in a production > environment! > > > // Only use this for TESTING! > > > "parentRelayUrl" : "/app/core/main/rpc_relay.html", > > > > > > // If true, this will use the legacy ifpc wire format when making > rpc > > > // requests. > > > "useLegacyProtocol" : false > > > } > > > > > > > > > Anything amiss here? > > > > > > Thanks and Regards, > > > Hafiz > > > > > > > > > On Fri, Nov 20, 2009 at 4:51 AM, Hafiz A Haq <[email protected]> > > wrote: > > > > > > > > > Thanks a ton John, I had almost given up. > > > > > > > > > > Yeah, First up i create the iframe url, which is like > > > > > > > > > > > > > > > > > > > > > > > > > https://shindig.company.com//app/shindig/gadgets/ifr?container=smx-container&v=d84f1182fc1ef128c4c16095d561c3&lang=en&country=US&view=default&up_appServiceCode=MY.CUSTOM.REPORT&up_chartTitle=My+Custom+Chart+For+Performance&up_reportSWFURL=https%3A%2F%2Flocalhost%3A8443%2Fapp%2Fcore%2Fmain%2Fswf%2Freporting.swf&up_reportingXmlStr=%3CreportPreferences%3E+%3Csettings%3E+%3CchartID%3Erankedbubblechart%3C%2FchartID%3E+%3C%2Fsettings%3E+%3Cquery%3E+%3CappServiceCode%3EMY.CUSTOM.REPORT%3C%2FappServiceCode%3E+%3CfilterInstanceID%3EiNstance_fRom_tEmplate_11383%3C%2FfilterInstanceID%3E+%3Ctemplate%3Eacct-report-template.xml%3C%2Ftemplate%3E+%3CtimeHorizon%3E+%3CperiodTypeCode%3EHALFYEAR%3C%2FperiodTypeCode%3E+%3CstartPeriod%2F%3E+%3CendPeriod%2F%3E+%3C%2FtimeHorizon%3E+%3C%2Fquery%3E%3C%2FreportPreferences%3E&url=https%3A%2F%2Fi-0029%3A8443%2Fapp%2Fgadget%2Fcom.company.gadget.ReportingGadget%2Fcom.company.gadget.client.ReportingGadget.gadget.xml&libs=opensocial-0.8&parent=https%3A%2F%2Fi-0029%3A8443%2Fapp%2Fcore%2Fmain%2F&nocache=0#rpctoken=0.2649638729165247 > > > > > < > > > > > > > > > > > > > > > https://i-0029:8443/https://i-0029:8443//app/shindig/gadgets/ifr?container=smx-container&v=d84f1182fc1ef128c4c16095d561c3&lang=en&country=US&view=default&up_appServiceCode=MY.CUSTOM.REPORT&up_chartTitle=My+Custom+Chart+For+Performance&up_reportSWFURL=https%3A%2F%2Flocalhost%3A8443%2Fapp%2Fcore%2Fmain%2Fswf%2Freporting.swf&up_reportingXmlStr=%3CreportPreferences%3E+%3Csettings%3E+%3CchartID%3Erankedbubblechart%3C%2FchartID%3E+%3C%2Fsettings%3E+%3Cquery%3E+%3CappServiceCode%3EMY.CUSTOM.REPORT%3C%2FappServiceCode%3E+%3CfilterInstanceID%3EiNstance_fRom_tEmplate_11383%3C%2FfilterInstanceID%3E+%3Ctemplate%3Eacct-report-template.xml%3C%2Ftemplate%3E+%3CtimeHorizon%3E+%3CperiodTypeCode%3EHALFYEAR%3C%2FperiodTypeCode%3E+%3CstartPeriod%2F%3E+%3CendPeriod%2F%3E+%3C%2FtimeHorizon%3E+%3C%2Fquery%3E%3C%2FreportPreferences%3E&url=https%3A%2F%2Fi-0029%3A8443%2Fapp%2Fgadget%2Fcom.company.gadget.ReportingGadget%2Fcom.company.gadget.client.ReportingGadget.gadget.xml&libs=opensocial-0.8&parent=https%3A%2F%2Fi-0029%3A8443%2Fapp%2Fcore%2Fmain%2F&nocache=0#rpctoken=0.2649638729165247 > > > > > > > > > > > > > > > > then i set this as innerhtml to my gadget div > > > > > and i follow it up with > > > > > > > > > > gadgets.rpc.setRelayUrl(iframeId, iframeUrl, false); > > > > > gadgets.rpc.setAuthToken(iframeId, rpcToken); > > > > > > > > > > The browser versions having trouble are ie6 and ie7 > > > > > > > > > > I tried > > > > > gadgets.rpc.setupReceiver(gadgetIFrameId); > > > > > > > > > > but it seems the method is not available in my version of Shindig - > > > > > 1.1-Beta2 > > > > > > > > > > Thanks in advance. > > > > > > > > > > Best Regards, > > > > > Hafiz > > > > > > > > > > 2009/11/20 John Hjelmstad <[email protected]> > > > > > > > > > > > Hi Hafiz: > > > > > > > > > > > > Order is everything. I want to confirm: you're first rendering > the > > > > > IFRAME, > > > > > > then immediately doing gadgets.rpc.setRelayUrl(...) and > > > > > > gadgets.rpc.setAuthToken(...) correct? > > > > > > > > > > > > To best deduce this issue, I'd need: > > > > > > 1. The exact IFRAME URL you're generating (you can remove the > > > security > > > > > > token > > > > > > if there is one) > > > > > > 2. The order in which you're generating the IFRAME URL and > calling > > > the > > > > > > setup > > > > > > commands. > > > > > > 3. The browser version(s) you're using. > > > > > > > > > > > > As well, you might try gadgets.rpc.setupReceiver(gadgetIFrameId); > > --> > > > > > this > > > > > > is the replacement to setRelayUrl and setAuthToken which ensures > > > proper > > > > > > ordering. > > > > > > > > > > > > --j > > > > > > > > > > > > On Wed, Nov 18, 2009 at 11:39 PM, Hafiz A Haq < > [email protected] > > > > > > > > wrote: > > > > > > > > > > > > > nix_channels[targetId] is not undefined, for the first time > when > > i > > > > run > > > > > > the > > > > > > > app after a jboss restart... so basically the rpc goes through > > for > > > > the > > > > > > > first > > > > > > > gadget(if and only there is one gadget request while starting > > > up)... > > > > > > > > > > > > > > Any clue, why this happens? > > > > > > > > > > > > > > Thanks and Regards, > > > > > > > Hafiz > > > > > > > > > > > > > > 2009/11/18 Hafiz A Haq <[email protected]> > > > > > > > > > > > > > > > Not sure if i am pestering you guys, but i dont have any > other > > > > > > option... > > > > > > > > :-( > > > > > > > > > > > > > > > > I am also invoking > > > > > > > > gadgets.rpc.setRelayUrl(iframeId, iframeUrl, false); > > > > > > > > gadgets.rpc.setAuthToken(iframeId, rpcToken); > > > > > > > > > > > > > > > > from the container for each gadget generated. > > > > > > > > > > > > > > > > and alert from nix.transport.js > > > > > > > > > > > > > > > > call: function(targetId, from, rpc) { > > > > > > > > try { > > > > > > > > // If we have a handler, call it. > > > > > > > > alert(targetId+" = "+nix_channels[targetId]+" from > > > "+from+" > > > > > rpc > > > > > > > is > > > > > > > > "+gadgets.json.stringify(rpc)); > > > > > > > > .... > > > > > > > > } > > > > > > > > > > > > > > > > gives > > > > > > > > > > > > > > > > > > > > > > > > .. = from remote_iframe_0 rpc > > > > > > > > {"s":"set_title","f":"remote_iframe_0","c":0,"a"["Account > > > > > > > > overview"],"t":"0.6466592220939002","I":false} > > > > > > > > > > > > > > > > works (once in a blue moon) > > > > > > > > > > > > > > > > .. = undefined from remote_iframe_2 rpc is > > > > > > > > {"s":"set_title","f":"remote_iframe_2","c":0,"a":["Account > > > > > > > > summary"],"t":"0.33673688496145","I":false} > > > > > > > > > > > > > > > > doesnt work > > > > > > > > > > > > > > > > I don't understand why most of the times the undefined comes > up > > > and > > > > > > then > > > > > > > it > > > > > > > > fails... > > > > > > > > > > > > > > > > > > > > > > > > Please , all those gurus and experts, any tip, something i > > might > > > be > > > > > > > > missing... > > > > > > > > > > > > > > > > Thanks and Regards, > > > > > > > > Hafiz > > > > > > > > > > > > > > > > > > > > > > > > 2009/11/18 Hafiz A Haq <[email protected]> > > > > > > > > > > > > > > > >> I have also added rpctoken into the iframeurl like > > > > > > > >> > > > > > > > >> https:// > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > .../ifr?container=...&lang=en&country=US&view=default&nocache=1&rpctoken=0.9956869901138398, > > > > > > > >> which is essentially a random number > > > > > > > >> > > > > > > > >> still the rpc calls are not getting through. > > > > > > > >> > > > > > > > >> Anything else i might be missing. > > > > > > > >> > > > > > > > >> 2009/11/18 Hafiz A Haq <[email protected]> > > > > > > > >> > > > > > > > >> Any input would help me. Please provide a hint why nix > > transport > > > > > fails > > > > > > > >>> when container and shindig is at 2 different secure > domains? > > > > > > > >>> > > > > > > > >>> 2009/10/28 Hafiz A Haq <[email protected]> > > > > > > > >>> > > > > > > > >>>> Seems there is something that makes the nix transport > > > mechanism > > > > > fail > > > > > > > >>>> here, the call method is not going through , where it > fails > > at > > > > the > > > > > > > check > > > > > > > >>>> if (nix_channels[targetId]) > > > > > > > >>>> > > > > > > > >>>> In the call method the parameters targetId, from, rpc > alerts > > > to > > > > > > > >>>> '.. , remote_iframe_3 , [object Object]' > > > > > > > >>>> > > > > > > > >>>> Can anyone please give me a hint why the code > > > > > > > >>>> > > > > > > > >>>> if (nix_channels[..]) > > > > > > > >>>> > > > > > > > >>>> is not going through as expected.. > > > > > > > >>>> > > > > > > > >>>> Any help is appreciated. > > > > > > > >>>> > > > > > > > >>>> Thanks and REgards, > > > > > > > >>>> Hafiz > > > > > > > >>>> > > > > > > > >>>> 2009/10/28 Hafiz A Haq <[email protected]> > > > > > > > >>>> > > > > > > > >>>> Hi All, > > > > > > > >>>>> > > > > > > > >>>>> My dashboard application is up and running in production, > > > > thanks > > > > > to > > > > > > > >>>>> Shindig and you guys. Due to some serious mistake from QA > > and > > > > IT > > > > > > guys > > > > > > > i have > > > > > > > >>>>> a bug at this last hour as rpc feature is broken in > > > production > > > > > and > > > > > > my > > > > > > > >>>>> clients are not so happy.. :( > > > > > > > >>>>> > > > > > > > >>>>> In production each client has individual subdomains and > > > shindig > > > > > is > > > > > > > >>>>> deployed in a common subdomain for all customers, both > over > > > > > https. > > > > > > > RPC is > > > > > > > >>>>> now broken in IE6,7 and setTitle, setHeight ... are not > > > > working. > > > > > > > >>>>> > > > > > > > >>>>> I assigned gadgets.parent in myContainer.js with a regex > > > > pattern > > > > > > like > > > > > > > >>>>> > > > > > > > >>>>> "gadgets.parent" : "(https://localhost:8443| > > > > > > > >>>>> https://customer1.app.company.com| > > > > > > https://customer2.app.company.com > > > > > > > )", > > > > > > > >>>>> > > > > > > > >>>>> > > > > > > > >>>>> and rpc like > > > > > > > >>>>> > > > > > > > >>>>> "rpc" : { > > > > > > > >>>>> // Path to the relay file. Automatically appended to > > the > > > > > parent > > > > > > > >>>>> // parameter if it passes input validation and is not > > > null. > > > > > > > >>>>> // This should never be on the same host in a > > production > > > > > > > >>>>> environment! > > > > > > > >>>>> // Only use this for TESTING! > > > > > > > >>>>> "parentRelayUrl" : "/app/core/main/rpc_relay.html", > > > > > > > >>>>> > > > > > > > >>>>> // If true, this will use the legacy ifpc wire format > > > when > > > > > > making > > > > > > > >>>>> rpc > > > > > > > >>>>> // requests. > > > > > > > >>>>> "useLegacyProtocol" : false > > > > > > > >>>>> } > > > > > > > >>>>> > > > > > > > >>>>> Now i tried > > > > > > > >>>>> > > > > > > > >>>>> var parentRelayUrl = window.location.protocol + "//" + > > > > > > > >>>>> window.location.host > > > > > > > >>>>> gadgets.container.setParentUrl(parentRelayUrl); > > > > > > > >>>>> > > > > > > > >>>>> from the container js file, which is loaded after loading > > all > > > > > > > required > > > > > > > >>>>> shindig js file dependencies. Still i am not able to get > > the > > > > rpcs > > > > > > to > > > > > > > work > > > > > > > >>>>> properly in IE6,7. Any help is greatly appreciated as > some > > of > > > > my > > > > > > > customers > > > > > > > >>>>> are tied down on IE7. > > > > > > > >>>>> > > > > > > > >>>>> Best Regards, > > > > > > > >>>>> Hafiz > > > > > > > >>>>> -- > > > > > > > >>>>> He who asks is a fool for five minutes, but he who does > not > > > ask > > > > > > > remains > > > > > > > >>>>> a fool forever. > > > > > > > >>>>> > > > > > > > >>>> > > > > > > > >>>> > > > > > > > >>>> > > > > > > > >>>> -- > > > > > > > >>>> He who asks is a fool for five minutes, but he who does > not > > > ask > > > > > > > remains > > > > > > > >>>> a fool forever. > > > > > > > >>>> > > > > > > > >>> > > > > > > > >>> > > > > > > > >>> > > > > > > > >>> -- > > > > > > > >>> He who asks is a fool for five minutes, but he who does not > > ask > > > > > > remains > > > > > > > a > > > > > > > >>> fool forever. > > > > > > > >>> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> -- > > > > > > > >> He who asks is a fool for five minutes, but he who does not > > ask > > > > > > remains > > > > > > > a > > > > > > > >> fool forever. > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > He who asks is a fool for five minutes, but he who does not > ask > > > > > remains > > > > > > a > > > > > > > > fool forever. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > He who asks is a fool for five minutes, but he who does not ask > > > > remains > > > > > a > > > > > > > fool forever. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > He who asks is a fool for five minutes, but he who does not ask > > remains > > > a > > > > > fool forever. > > > > > > > > > > > > > > > > > > > > > -- > > > He who asks is a fool for five minutes, but he who does not ask remains > a > > > fool forever. > > > > > > > > > -- > He who asks is a fool for five minutes, but he who does not ask remains a > fool forever. >

