So it has been about a month I posted this and I'm using this thing all over 
the place now in production with no problems. It works great and has solved 
tons of design problems I had. 

My question, which may be hard to answer without the source code, is does 
anyone see any problems with memory leaks with this approach? I'm looking at 
the guys who know how component references are created dynamically like in 
WOSwitchComponent. When I change the component to show, I'm making a component 
reference to the component to generate and setting a boolean newComponent flag. 
Then I override _subcomponentForElementID to return null and set the 
newComponent flag to false when I need a new component forcing the component to 
generate a new component from the component reference. I'm just not sure if the 
old component is getting cached somewhere and not being garbage collected due 
to some hard reference somewhere. I don't see it when profiling nor do I see it 
in production with a growing tenured generation. 

Any input?

John

Sent from my iPhone

On Jul 28, 2011, at 5:51 PM, John & Kim Larson <the_lars...@mac.com> wrote:

> It's my understanding that that method only works for directing the results 
> of an Ajax call to some container. It doesn't persist across pages. 
> 
> Also, like in my example, I can't call setValue("Some value") on Component2 
> because it doesn't have that method. The WOString pulls its value from the 
> binding to "value."  
> 
> This component allows you to dynamically insert a component into a specific 
> page's structure and bind directly to that component's bindings. 
> 
> John
> 
> Sent from my iPhone
> 
> On Jul 28, 2011, at 5:29 PM, Ramsey Gurley <rgur...@smarthealth.com> wrote:
> 
>> I thought this was the idea behind the replaceId binding Mike added... 
>> something like:
>> 
>> <div id="auc"></div>
>> <wo:AjaxUpdateLink replaceId="auc" action="$showComponent1">Show component 
>> 1</wo:AjaxUpdateLink>
>> <wo:AjaxUpdateLink replaceId="auc" action="$showComponent2">Show component 
>> 2</wo:AjaxUpdateLink>
>> 
>> public WOActionResults showComponent1() {
>>   return pageWithName(Component1.class);
>> }
>> 
>> public WOActionResults showComponent2() {
>>   Component2 page = pageWithName(Component2.class);
>>   page.setValue("Some value");
>>   return page;
>> }
>> 
>> Ramsey
>> 
>> On Jul 28, 2011, at 2:53 PM, John & Kim Larson wrote:
>> 
>>> Thanks. My server kind of stinks. 
>>> 
>>> It's experimental, but I've been using it for a week or so in 
>>> semi-production and seems to work. Solved a lot of problems. 
>>> 
>>> Sent from my iPhone
>>> 
>>> On Jul 28, 2011, at 4:48 PM, Pascal Robert <prob...@macti.ca> wrote:
>>> 
>>>> Thanks! It's also on wocommunity.org:
>>>> 
>>>> http://wocommunity.org/podcasts/RemoteComponentDemo.mov
>>>> 
>>>>> It's here now.
>>>>> 
>>>>> http://torqwrench.com/Movies/Remote%20component%20demo.mov
>>>>> 
>>>>> John
>>>>> 
>>>>> On Jul 28, 2011, at 3:48 PM, John & Kim Larson wrote:
>>>>> 
>>>>>> YouTube keeps screwing up the encoding and truncating the movie to 15 
>>>>>> seconds. Any ideas on how to get this to interested parties aside from 
>>>>>> hosting it on my domain?
>>>>>> 
>>>>>> John 
>>>>>> 
>>>>>> Sent from my iPhone
>>>>>> 
>>>>>> On Jul 28, 2011, at 9:46 AM, Pascal Robert <prob...@macti.ca> wrote:
>>>>>> 
>>>>>>> A small podcast to demo how it works would be really cool!
>>>>>>> 
>>>>>>>> I know this has been a while, but I finished what I call a Remote 
>>>>>>>> Component. You put it anywhere in your page. It has static methods 
>>>>>>>> that allow you to set the component name and bindings you want to use 
>>>>>>>> in the component and puts them in your session dictionary. Wrap the 
>>>>>>>> remote component in an Ajax update container, and update it after 
>>>>>>>> you've set the component and bindings using the static methods. 
>>>>>>>> 
>>>>>>>> The component generates a WOComponenReference using your component 
>>>>>>>> name and bindings (WOAssociations - I've built a couple custom ones 
>>>>>>>> since bindings are usually useless here).  It then generates a 
>>>>>>>> component instance and pushes it to the remote component's 
>>>>>>>> subcomponent dictionary with the right elementID. From there it calls 
>>>>>>>> invokeAction, takeValuesFromRequest and appendToResponse on the custom 
>>>>>>>> component reference. 
>>>>>>>> 
>>>>>>>> The result is that you can put, via Java, any component with any 
>>>>>>>> bindings in the remote component's spot on the page. I have a popup 
>>>>>>>> modal dialog that I really only want one of, but I want to put lots of 
>>>>>>>> different components in it. With WOSwitchComponent I had to have a 
>>>>>>>> wrapper around whatever component I wanted to include to take a 
>>>>>>>> generic dictionary and extract bindings specific to the component I 
>>>>>>>> wanted to show. Now I don't have to do that. You could use it for 
>>>>>>>> banners, etc. It seems to work good. ?
>>>>>>>> 
>>>>>>>> Any interest in seeing this from anyone?
>>>>>>>> 
>>>>>>>> John 
>>>>>>>> 
>>>>>>>> Sent from my iPhone
>>>>>>>> 
>>>>>>>> On Jun 10, 2011, at 3:38 AM, Paul Dunkler <paul.dunk...@xyrality.com> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Yes, this is exactly what i am trying to do!
>>>>>>>>> I will try your approach - But first, i will have a look at the 
>>>>>>>>> WOSwitchComponent (thanks Chuck!)
>>>>>>>>> 
>>>>>>>>> Will tell you when i was successfull with that....
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Am 10.06.2011 um 00:57 schrieb John & Kim Larson:
>>>>>>>>> 
>>>>>>>>>> If I get what you're asking, you want a div in your app template, 
>>>>>>>>>> say, that you can replace ad hoc from some other component. 
>>>>>>>>>> 
>>>>>>>>>> If so, I've done something similar by pushing the name of the 
>>>>>>>>>> component and a dictionary with bindings to the session dictionary, 
>>>>>>>>>> then in your template pull that name and binding dictionary out of 
>>>>>>>>>> the session, and use that to work a switchcomponent like chuck said 
>>>>>>>>>> that's in the auc. You just have to make sure your contained 
>>>>>>>>>> component knows what to do with your binding dictionary. 
>>>>>>>>>> 
>>>>>>>>>> Sorry if that's unclear. Typing on a rough bus ride one handed. 
>>>>>>>>>> 
>>>>>>>>>> John A. Larson
>>>>>>>>>> 
>>>>>>>>>> Sent from my iPhone
>>>>>>>>>> 
>>>>>>>>>> On Jun 9, 2011, at 3:26 PM, Paul Dunkler <paul.dunk...@xyrality.com> 
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> At the moment i use the AjaxUpdateLink only to trigger a refresh on 
>>>>>>>>>>> the AjaxUpdateContainer. In that AjaxUpdateContainer i defined some 
>>>>>>>>>>> WOConditionals... But i want an AjaxUpdateLink to load the content 
>>>>>>>>>>> of a component into an empty AjaxUpdateContainer...
>>>>>>>>>>> 
>>>>>>>>>>> Am 09.06.2011 um 22:22 schrieb John Huss:
>>>>>>>>>>> 
>>>>>>>>>>>> Isn't this what AjaxUpdateContainer does?  What is wrong with 
>>>>>>>>>>>> using it?
>>>>>>>>>>>> 
>>>>>>>>>>>> On Thu, Jun 9, 2011 at 3:12 PM, Paul Dunkler 
>>>>>>>>>>>> <paul.dunk...@xyrality.com> wrote:
>>>>>>>>>>>> Hey Guys,
>>>>>>>>>>>> 
>>>>>>>>>>>> is there any possibility in wonder to load a component into a 
>>>>>>>>>>>> pre-defined zone in the template?
>>>>>>>>>>>> I´m dealing with AjaxUpdateContainers and so on since 4 months - 
>>>>>>>>>>>> it´s nice - i like it, but i see no possibility to load something 
>>>>>>>>>>>> into an AjaxUpdateContainer... If there is any possibility or some 
>>>>>>>>>>>> of you may have a suggestion how to do this "the good way" in 
>>>>>>>>>>>> wonder - It would be very nice to hear from you.
>>>>>>>>>>>> 
>>>>>>>>>>>> For exmaple:
>>>>>>>>>>>> 
>>>>>>>>>>>> Main-Template:
>>>>>>>>>>>> <html>
>>>>>>>>>>>> <head>
>>>>>>>>>>>> <title>
>>>>>>>>>>>> </head>
>>>>>>>>>>>> <body>
>>>>>>>>>>>> ....
>>>>>>>>>>>> <wo:AjaxUpdateZone id="testZone" />
>>>>>>>>>>>> </body>
>>>>>>>>>>>> </html>
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Navigation-Template
>>>>>>>>>>>> <html>
>>>>>>>>>>>> <head>
>>>>>>>>>>>> <title>
>>>>>>>>>>>> </head>
>>>>>>>>>>>> <body>
>>>>>>>>>>>> ....
>>>>>>>>>>>> <ul>
>>>>>>>>>>>> <li><wo:LoadComponentIntoZoneLink x="AddProductComponent" 
>>>>>>>>>>>> zone="testZone">Add Products</wo:LoadComponentIntoZoneLink ></li>
>>>>>>>>>>>> </ul>
>>>>>>>>>>>> </body>
>>>>>>>>>>>> </html>
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> (the names of the components are chosen random by me ^^ just for 
>>>>>>>>>>>> showing you what behavior i want)
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Thanks in advance!
>>>>>>>>>>>> 
>>>>>>>>>>>> Best Regards,
>>>>>>>>>>>> Paul Dunkler _______________________________________________
>>>>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/johnthuss%40gmail.com
>>>>>>>>>>>> 
>>>>>>>>>>>> This email sent to johnth...@gmail.com
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/the_larsons%40mac.com
>>>>>>>>>>> 
>>>>>>>>>>> This email sent to the_lars...@mac.com
>>>>>>>>> 
>>>>>>>>> Mit freundlichen Grüßen
>>>>>>>>> 
>>>>>>>>> Paul Dunkler
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> <xyrality_logo_medium.png>
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -----------------------------------------------------
>>>>>>>>> XYRALITY GmbH • Lerchenstraße 28a • 22767 Hamburg
>>>>>>>>> Paul Dunkler • Softwareentwickler
>>>>>>>>> Mail: paul.dunk...@xyrality.com    
>>>>>>>>> Tel: +49 (0) 40 23 51 78 97
>>>>>>>>> Mobil: +49 (0) 151 11624143
>>>>>>>>> Fax: +49 (0) 40 23 51 78 98
>>>>>>>>> Web: http://www.xyrality.com/
>>>>>>>>> Registergericht: Hamburg HRB 115332
>>>>>>>>> Geschäftsführer: Sven Ossenbrüggen & Alexander Spohr
>>>>>>>>> -----------------------------------------------------
>>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>>>>>>>> 
>>>>>>>> This email sent to prob...@macti.ca
>>>>>>> 
>>>>>> _______________________________________________
>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/the_larsons%40mac.com
>>>>>> 
>>>>>> This email sent to the_lars...@mac.com
>>>>> 
>>>> 
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/webobjects-dev/rgurley%40smarthealth.com
>>> 
>>> This email sent to rgur...@smarthealth.com
>> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/the_larsons%40mac.com
> 
> This email sent to the_lars...@mac.com
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to