Perfect Henry! :) Using the event-handler approach worked! If a different approach shows up, I'll give it a try :).
Thank you very much. L. On Sun, Jan 24, 2010 at 10:28 PM, Henry Minsky <[email protected]>wrote: > Actually, I could use some suggestions on better ways to accomplish what > Lucas is trying to do. > > He has a canvas attribute called "data_url", and he wants a dataset to > automatically make a new request whenever that value changes. He's trying to > do that with a constraint > > <dataset id="perms" > name="perms" > type="http" > src="${canvas.data_url}" > > > > I was going to suggest setting 'autorequest=true' on the dataset, so that > it > will fire automatically when the src attribute changes, but the problem is > at startup, > the constraint system sends an event for "data_url", before it has > a legitimate value. He's trying to set the value from a browser query arg, > in the canvas > oninit handler. > > e.g., > > <method name="init"> > canvas.prof = lz.Browser.getInitArg('prof'); > if(canvas.prof) { > canvas.setAttribute('data_url','/trunk/xml/request_key/' + > canvas.prof+".xml"); > } > </method> > > So the question is, is there any idiom for disabling the event-sending > action of a constraint until after the > system has initialized? It seems to me like people would run into this in a > lot of cases at > app startup? > > > > > > On Sun, Jan 24, 2010 at 6:00 PM, Lucas Lain <[email protected]> wrote: > >> Hello Henry, >> >> thank you very much for trying the code. I tried several things, and >> realized that everythings works OK when I use the button (as in your >> example). >> >> But when I try to automatically execute the perms.doRequest on init, it >> does not work. >> >> Is there a way to automatically execute perms.doRequest after finishing >> loading? >> Which is the best way of doing this. >> >> Thank you very much. >> >> Lucas. >> >> On Sat, Jan 23, 2010 at 6:52 PM, Henry Minsky <[email protected]>wrote: >> >>> Note, I am using the HttpFox plugin to trace the HTTP request from the >>> Flash player >>> >>> 2010/1/23 Henry Minsky <[email protected]> >>> >>> I'm not able to reproduce the problem you are reporting. >>>> >>>> I used the following test case >>>> >>>> <canvas proxied="false" oninit="canvas.sprite.setBGColor(null);" >>>> debug="true"> >>>> >>>> <attribute name="prof" type="string" value=""/> >>>> <attribute name="data_url" type="string" value="BADVALUE"/> >>>> >>>> <method name="init"> >>>> canvas.prof = lz.Browser.getInitArg('prof'); >>>> if(canvas.prof) { >>>> canvas.setAttribute('data_url','/trunk/xml/request_key/' + >>>> canvas.prof+".xml"); >>>> } >>>> </method> >>>> >>>> <dataset id="perms" >>>> name="perms" >>>> type="http" >>>> autorequest='false' >>>> ondata="Debug.info(this.serialize())" >>>> src="${canvas.data_url}" >>>> /> >>>> >>>> <button onclick="perms.doRequest()">dorequest</button> >>>> >>>> </canvas> >>>> >>>> >>>> and fetched it with the URL >>>> >>>> http://127.0.0.1:8080/trunk/test/foo/player.lzx?prof=foo&debug=true&lzr=swf9 >>>> >>>> When I click the button, the correct request is issued, to >>>> GET /trunk/xml/request_key/foo.xml?__lzbc__=1264279916554 HTTP/1.1 >>>> >>>> Does this test case work for you? >>>> >>>> >>>> On Sat, Jan 23, 2010 at 1:43 PM, Lucas Lain <[email protected]>wrote: >>>> >>>>> I renamed everything to prof_p, but still can make it to work. >>>>> >>>>> Did anyone have a workaround for this? >>>>> >>>>> I just want to send some information to the webserver from the >>>>> flashclient. >>>>> >>>>> Best. >>>>> >>>>> L. >>>>> >>>>> >>>>> >>>>> On Sat, Jan 23, 2010 at 11:04 AM, Henry Minsky <[email protected] >>>>> > wrote: >>>>> >>>>>> One thing that is important, you should probably use a different >>>>>> query arg than "profile", because that has a special >>>>>> meaning to the LPS server, it is used to enable the profiler which is >>>>>> used to meter performance. >>>>>> >>>>>> >>>>>> >>>>>>> Best. >>>>>>> >>>>>>> L. >>>>>>> >>>>>>> >>>>>>> On Fri, Jan 22, 2010 at 1:14 AM, Lucas Lain <[email protected]>wrote: >>>>>>> >>>>>>>> Please see both attached files. >>>>>>>> >>>>>>>> The perms.doRequest is called from the view inside play_button. >>>>>>>> >>>>>>>> I'm using OL 4.7. The file is compiled to SWF9. >>>>>>>> >>>>>>>> >>>>>>>> On Fri, Jan 22, 2010 at 1:04 AM, Henry Minsky < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Where do you actually call the doRequest() method on the dataset? >>>>>>>>> Do you >>>>>>>>> call it manually? >>>>>>>>> >>>>>>>>> If the dataset is set to make the request automatically, e.g., >>>>>>>>> (the 'request' attribute == true) then >>>>>>>>> the request might get made before the constraint updates. >>>>>>>>> >>>>>>>>> Also, what runtime are you using? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Jan 21, 2010 at 9:48 PM, Lucas Lain >>>>>>>>> <[email protected]>wrote: >>>>>>>>> >>>>>>>>>> Hello Everybody, >>>>>>>>>> >>>>>>>>>> I'm trying to set a dataset url dynamically. The thing is that the >>>>>>>>>> dataset actually connects to the default data_url specified by >>>>>>>>>> default >>>>>>>>>> ("/xml/request_key") and not the dynamic one ("/xml/request_key/" + >>>>>>>>>> canvas.profile). >>>>>>>>>> >>>>>>>>>> When I check the value in the debug console, the value is set to >>>>>>>>>> the second, but actually connects to the first one. >>>>>>>>>> >>>>>>>>>> When the oninit method is executed? after processing all ${} >>>>>>>>>> values? >>>>>>>>>> >>>>>>>>>> Thanks in advance! >>>>>>>>>> >>>>>>>>>> code: >>>>>>>>>> >>>>>>>>>> <canvas proxied="false" oninit="canvas.sprite.setBGColor(null);" >>>>>>>>>> debug="true"> >>>>>>>>>> >>>>>>>>>> <attribute name="profile" type="string" value=""/> >>>>>>>>>> <attribute name="data_url" type="string" >>>>>>>>>> value="/xml/request_key/"/> >>>>>>>>>> >>>>>>>>>> <handler name="oninit"> >>>>>>>>>> canvas.profile = lz.Browser.getInitArg('profile'); >>>>>>>>>> if(canvas.profile) { >>>>>>>>>> canvas.setAttribute('data_url','/xml/request_key/' + >>>>>>>>>> canvas.profile); >>>>>>>>>> } >>>>>>>>>> </handler> >>>>>>>>>> >>>>>>>>>> <dataset id="perms" >>>>>>>>>> name="perms" >>>>>>>>>> type="http" >>>>>>>>>> src="${canvas.data_url}" >>>>>>>>>> /> >>>>>>>>>> >>>>>>>>>> ... >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Lucas >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Henry Minsky >>>>>>>>> Software Architect >>>>>>>>> [email protected] >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Lucas >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Lucas >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Henry Minsky >>>>>> Software Architect >>>>>> [email protected] >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Lucas >>>>> >>>> >>>> >>>> >>>> -- >>>> Henry Minsky >>>> Software Architect >>>> [email protected] >>>> >>>> >>>> >>> >>> >>> -- >>> Henry Minsky >>> Software Architect >>> [email protected] >>> >>> >>> >> >> >> -- >> Lucas >> > > > > -- > Henry Minsky > Software Architect > [email protected] > > > -- Lucas
