Re: MySQL was: Re: Lion and WO

2011-07-28 Thread dru
Realistically, it is too late for WO to penetrate that space.  The combination Oracle controlling Java, the current love affair with weak typed scripting platforms like node.js and academia's love of doing things the purist way instead of pragmatic means that academic trained programmers will forever more be I'll prepared for the real world.-- Sent from my HP TouchPadOn Jul 28, 2011 11:38 PM, Daniel Beatty  wrote: Greetings James,
I tend to agree, but there are somethings that MySQL had going for them.  Most notably, they were able to get academia to tell just about every student to build a web page with PHP and MySQL.  They even had them recommending the two of those in book after book.   Something that would help us is the notion of the concepts of WO (all of the design patterns manifested by WO).  At that point, the academics think that it is their idea and they spread it.  Hopefully with a good database engine.

Just a thought,
Dan




On Jul 28, 2011, at 8:28 AM, James Cicenia wrote:

> All great wealth has a slight illegitimate  origin.
> 
> Cheers
> 
> 
> 
> On Jul 27, 2011, at 8:13 PM, Q wrote:
> 
>> If you want a bit of history about MySQL you won't read on Wikipedia, here is the backstory:
>> 
>> Back in 1993 there were no free lightweight SQL servers. The first one to appear was mSQL* (aka miniSQL), which wasn't technically open source, but it was free for non commercial use, and distributed as source. It was initially an sql query engine that ran on top of Postgres (back then Postgres wasn't an SQL DB), but later implemented its own backend storage. 
>> 
>> About a year, maybe a year and a half after mSQL's first release, MySQL appears, and it just happened to support all the same cli syntax, similar admin tools, etc as mSQL, it was basically a straight clone of mSQL but GPL and free. The origin of certain chunks of the source that were in the initial MySQL releases were also suspiciously similar to those found in mSQL. 
>> 
>> Initially neither product supported concurrent queries, however MySQL quickly introduced support for them using threads, which basically sucked for years, but is was a differentiator that took many years to be matched by mSQL (release early vs release when it actually works). At this time, mSQL was very stable, and MySQL basically sucked unless you used exactly the right config and feature set, but had the potential to do well once all the feature bugs were worked out (which took another 4 years or so).
>> 
>> For a while the two products were pretty comparable in features (that worked), performance and popularity, but the non commercial use license and a growing MySQL feature set eventually spelled the demise of mSQL's popularity. MySQL went on to dominate the free sql database product space because it was basically the only choice that didn't cost money to use commercially, and support concurrent queries. The appearance of php in 1995 helped widen that gap as demand for small SQL databases grew, despite it supporting both products equally.
>> At that time mSQL already had a similar web programming language distributed with it called Lite, but that's a whole other story.
>> 
>> MySQL grew from humble and possibly slightly illegitimate beginnings for the purposes of being something very simple, very small, and very fast. Things like ACID compliance and MVCC were liabilities to speed and simplicity and not part of the original plan. It was never intended to be even remotely comparable to the Ingres, Sybase, Oracle, DB2 or Interbase servers of that era.
>> 
>> * I used to work with the author of mSQL many moons ago.
>> 
>> 
>> On 28/07/2011, at 4:21 AM, Andrew Satori wrote:
>> 
>>> 
>>> You asked, about rows and columns so I answered.  I know what killed it.  I know why.  I know what I could have done to prevent it and work around it.  The net result is that in order to get the performance I needed, I was going to have to alter things to be MySQL specific, rather than the standard syntax that works across multiple backends. Hardware was not the limit.  The data in question was in how MySQL coped with a 5th normal structure and pulling in detail information associated with a master entry record. The problems stemmed from the join and a table scan caused my MySQL's inability properly user the index.  The same request against the same data in every other platform of note executed better than 2x as fast as the MySQL implementation, in some cases on the same hardware, but most on inferior hardware.  
>>> 
>>> I understand your point, and yes, there are/were solutions. My point being, that MySQL has limitations.  They can be overcome, but the further you push it, the more difficult and expensive they become.  Unfortunately, I've been down this path a few times with several platforms.  MySQL, OpenBase, MSSQL, Oracle, Informix, Sybase, DB/2, and PostgreSQL to name a few (I have only used FrontBase for prototyping so I have no deployment experience with it and do not include it for

Re: MySQL was: Re: Lion and WO

2011-07-28 Thread Daniel Beatty
Greetings James,
I tend to agree, but there are somethings that MySQL had going for them.  Most 
notably, they were able to get academia to tell just about every student to 
build a web page with PHP and MySQL.  They even had them recommending the two 
of those in book after book.   Something that would help us is the notion of 
the concepts of WO (all of the design patterns manifested by WO).  At that 
point, the academics think that it is their idea and they spread it.  Hopefully 
with a good database engine.

Just a thought,
Dan




On Jul 28, 2011, at 8:28 AM, James Cicenia wrote:

> All great wealth has a slight illegitimate  origin.
> 
> Cheers
> 
> 
> 
> On Jul 27, 2011, at 8:13 PM, Q wrote:
> 
>> If you want a bit of history about MySQL you won't read on Wikipedia, here 
>> is the backstory:
>> 
>> Back in 1993 there were no free lightweight SQL servers. The first one to 
>> appear was mSQL* (aka miniSQL), which wasn't technically open source, but it 
>> was free for non commercial use, and distributed as source. It was initially 
>> an sql query engine that ran on top of Postgres (back then Postgres wasn't 
>> an SQL DB), but later implemented its own backend storage. 
>> 
>> About a year, maybe a year and a half after mSQL's first release, MySQL 
>> appears, and it just happened to support all the same cli syntax, similar 
>> admin tools, etc as mSQL, it was basically a straight clone of mSQL but GPL 
>> and free. The origin of certain chunks of the source that were in the 
>> initial MySQL releases were also suspiciously similar to those found in 
>> mSQL. 
>> 
>> Initially neither product supported concurrent queries, however MySQL 
>> quickly introduced support for them using threads, which basically sucked 
>> for years, but is was a differentiator that took many years to be matched by 
>> mSQL (release early vs release when it actually works). At this time, mSQL 
>> was very stable, and MySQL basically sucked unless you used exactly the 
>> right config and feature set, but had the potential to do well once all the 
>> feature bugs were worked out (which took another 4 years or so).
>> 
>> For a while the two products were pretty comparable in features (that 
>> worked), performance and popularity, but the non commercial use license and 
>> a growing MySQL feature set eventually spelled the demise of mSQL's 
>> popularity. MySQL went on to dominate the free sql database product space 
>> because it was basically the only choice that didn't cost money to use 
>> commercially, and support concurrent queries. The appearance of php in 1995 
>> helped widen that gap as demand for small SQL databases grew, despite it 
>> supporting both products equally.
>> At that time mSQL already had a similar web programming language distributed 
>> with it called Lite, but that's a whole other story.
>> 
>> MySQL grew from humble and possibly slightly illegitimate beginnings for the 
>> purposes of being something very simple, very small, and very fast. Things 
>> like ACID compliance and MVCC were liabilities to speed and simplicity and 
>> not part of the original plan. It was never intended to be even remotely 
>> comparable to the Ingres, Sybase, Oracle, DB2 or Interbase servers of that 
>> era.
>> 
>> * I used to work with the author of mSQL many moons ago.
>> 
>> 
>> On 28/07/2011, at 4:21 AM, Andrew Satori wrote:
>> 
>>> 
>>> You asked, about rows and columns so I answered.  I know what killed it.  I 
>>> know why.  I know what I could have done to prevent it and work around it.  
>>> The net result is that in order to get the performance I needed, I was 
>>> going to have to alter things to be MySQL specific, rather than the 
>>> standard syntax that works across multiple backends. Hardware was not the 
>>> limit.  The data in question was in how MySQL coped with a 5th normal 
>>> structure and pulling in detail information associated with a master entry 
>>> record. The problems stemmed from the join and a table scan caused my 
>>> MySQL's inability properly user the index.  The same request against the 
>>> same data in every other platform of note executed better than 2x as fast 
>>> as the MySQL implementation, in some cases on the same hardware, but most 
>>> on inferior hardware.  
>>> 
>>> I understand your point, and yes, there are/were solutions. My point being, 
>>> that MySQL has limitations.  They can be overcome, but the further you push 
>>> it, the more difficult and expensive they become.  Unfortunately, I've been 
>>> down this path a few times with several platforms.  MySQL, OpenBase, MSSQL, 
>>> Oracle, Informix, Sybase, DB/2, and PostgreSQL to name a few (I have only 
>>> used FrontBase for prototyping so I have no deployment experience with it 
>>> and do not include it for that reason).  Everyone one of them has 
>>> trade-offs and limits.  Based upon that experience, for any project I start 
>>> today, PosgreSQL would be my first choice, with Oracle and MSSQL being 2nd 
>>> and 

Re: JavaMonitor isn't stopping Applications and wotaskd could not send mails

2011-07-28 Thread Kieran Kelleher
This seems to be a common problem on Linux boxes with more than one IP address, 
or even just virtual Linux instances.

Try and use the advice found at:
com.webobjects.appserver._private.WOHostUtilities

in Wonder's ERExtensions framework and see if that fixes your problem. It has 
fixed that problem a long time ago for me.

Regards, Kieran


On Jul 27, 2011, at 3:56 PM, Sergio Sánchez Maffet wrote:

> Hi guys,
> 
> I have two small problems with my deployment... I know, that this list is the 
> developer list, but I hope here to learn something regarding the mechanism 
> behind the scenes.
> 
> First problem is that stop does not work from within JavaMonitor, no error 
> and nothing in the logs (JavaMonitor and wotaskd). I'm using the original 
> JavaMonitor (5.4.3)
> My understanding is that JavaMonitor does send the command to the wotaskd 
> instance and then this one is stopping the application instance. Something in 
> between is wrong, but I do not know what happens behind the scenes... and 
> cannot solve the issue.
> 
> Second problem ist that when I kill the instance, wotaskd is trying to send 
> an email to mailhost, which is wrong, in SiteConfig.xml is the correct one 
> listed?
> 
> Both helper apps are running as user appserver on a linux box (centos 5.5).
> 
> Any help is greatly appreciated,
> 
> Kind regards,
> Sergio
> 
> 
> ___
> 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/kelleherk%40gmail.com
> 
> This email sent to kelleh...@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/archive%40mail-archive.com

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


Re: JavaMonitor isn't stopping Applications and wotaskd could not send mails

2011-07-28 Thread Sergio Sánchez Maffet
With other words, a 'kill pid' does work, no need to use a 'kill -9 pid'

On 29 Jul 2011, at 01:50, Sergio Sánchez Maffet wrote:

> Chuck,
> 
> The problem is, that there is no deadlocked thread, the application is 
> working correctly
> 
> 
> On 27 Jul 2011, at 23:33, Chuck Hill wrote:
> 
>> Hi Sergio,
>> 
>> 
>> On 2011-07-27, at 12:56 PM, Sergio Sánchez Maffet wrote:
>> 
>>> Hi guys,
>>> 
>>> I have two small problems with my deployment... I know, that this list is 
>>> the developer list, but I hope here to learn something regarding the 
>>> mechanism behind the scenes.
>>> 
>>> First problem is that stop does not work from within JavaMonitor, no error 
>>> and nothing in the logs (JavaMonitor and wotaskd). I'm using the original 
>>> JavaMonitor (5.4.3)
>>> My understanding is that JavaMonitor does send the command to the wotaskd 
>>> instance and then this one is stopping the application instance. Something 
>>> in between is wrong, but I do not know what happens behind the scenes... 
>>> and cannot solve the issue.
>> 
>> This probably means that there is a thread that is deadlocked or otherwise 
>> not stopping.  This will prevent the application from stopping unless it is 
>> killed.
>> 
>>> 
>>> Second problem ist that when I kill the instance, wotaskd is trying to send 
>>> an email to mailhost, which is wrong, in SiteConfig.xml is the correct one 
>>> listed?
>> 
>> I think there is a default for the whole site and also another for each 
>> application.
>> 
>> 
>> Chuck
>> 
>> 
>> -- 
>> Chuck Hill Senior Consultant / VP Development
>> 
>> Practical WebObjects - for developers who want to increase their overall 
>> knowledge of WebObjects or who are trying to solve specific problems.
>> http://www.global-village.net/products/practical_webobjects
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 

 ___
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


Editing Context Sporadically not Reverting?

2011-07-28 Thread Andrew Lindesay

Hi;

We're seeing a wierd one which I have not previously had come up.

I have an object X living in the default EC which is modified by 
"takeValuesFromRequest(..)".  In the "invokeAction(..)" the method 
"revert()" is invoked on the default EC.  However the modifications on X 
survive the revert.  This happens sporadically.  If I look at 
"updatedObjects()" on the ec just prior to the revert, when this problem 
arises it seems to think it has no modified objects.


I'm fairly sure that I am sticking to the "editing context golden rules" 
and are not doing anything terribly wierd.


Has anybody else seen this one?

cheers

--
Andrew Lindesay
www.silvereye.co.nz
___
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


Re: Dynamic loading of a component into a container?

2011-07-28 Thread John & Kim Larson
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  wrote:

> I thought this was the idea behind the replaceId binding Mike added... 
> something like:
> 
> 
> Show component 
> 1
> Show component 
> 2
> 
> 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  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  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  
>>> 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  
> wrote:
> 
>> At the moment i use the AjaxUpdateLink only to trigger a refresh on 
>> the AjaxUpdateContainer. In t

Re: Dynamic loading of a component into a container?

2011-07-28 Thread Ramsey Gurley
I thought this was the idea behind the replaceId binding Mike added... 
something like:


Show component 
1
Show component 
2

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  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  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  
>> 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  
 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 
>>  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 - 
>>

Re: Dynamic loading of a component into a container?

2011-07-28 Thread John & Kim Larson
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  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  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  
> 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  
>>> 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 
>  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:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Navigation-Template
> 
> 
> 
> 

Re: Dynamic loading of a component into a container?

2011-07-28 Thread Pascal Robert
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  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  
 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  
>> 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 
  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:
 
 
 
 
 
 
 
 
 
 
 
 Navigation-Template
 
 
 
 
 
 
 
   >>> zone="testZone">Add Products
 
 
 
 
 
 (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 _

Re: Dynamic loading of a component into a container?

2011-07-28 Thread John & Kim Larson
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  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  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  
> 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 
>>>  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:
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> Navigation-Template
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>>>> zone="testZone">Add Products
>>> 
>>> 
>>> 
>>> 
>>> 
>>> (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/option

eclipse lockup on saving .html

2011-07-28 Thread Tim Worman
I know this has been discussed before - I can't remember if there's ever been a 
solution. But this problem has really reared its ugly head for me and I'm 
having lockups a few times an hour. I'd appreciate it if anyone having a 
similar experience could explain what they did to tame it. I've recently done 
new installs with GoLipse which have worked well but I'm wondering if something 
about the resulting configuration makes this issue more prevalent.

It used to happen to me more rarely - like once or twice a week.

T

Tim Worman
UCLA GSE&IS



 ___
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


Re: Dynamic loading of a component into a container?

2011-07-28 Thread John & Kim Larson
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  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  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  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  
>> 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:
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> Navigation-Template
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> > zone="testZone">Add Products
>> 
>> 
>> 
>> 
>> 
>> (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

Re: "You backtracked too far" error after closing AjaxModalDialog and clicking on a link on the page

2011-07-28 Thread Michael Gargano
just to put it back on the list... turns out my problem was caused by a 
commented out  (in html) AjaxModalContainer inside my AjaxModalDialog.  the 
parser was still rendering the container code inside the comment.  removing the 
comment made everything happy again.  :)

-mike


On Jul 27, 2011, at 2:54 PM, Michael Gargano wrote:

> *jumps up and down on chuck's list*
>
>
> On Jul 27, 2011, at 2:50 PM, Chuck Hill  wrote:
>
>> Still teetering on the top of my To Do list
>>
>>
>> On 2011-07-27, at 11:48 AM, Michael Gargano wrote:
>>
>>> was there ever a resolution to this.  i'm encountering this problem a lot.
>>>
>>> -mike
>>>
>>>
>>> On Jul 15, 2011, at 1:56 PM, Ricardo J. Parada wrote:
>>>
 Try the second one I sent out... That one is simpler and easier to 
 understand.

 Thanks




 On Jul 15, 2011, at 1:52 PM, Chuck Hill wrote:

> I will try it later.
>
>
> On 2011-07-15, at 7:11 AM, Ricardo J. Parada wrote:
>
>>
>> I have some good news.  I have a little test app with a simple Main 
>> component that reproduces the problem in 5 easy steps.
>>
>> Who is interested in trying it out?  :-)  You just import into Eclipse 
>> and follow the 5 easy steps on the Main component.
>>
>> 
>>
>>
>>
>>
>>
>> On Jul 14, 2011, at 1:09 PM, Chuck Hill wrote:
>>
>>> I have, sort of, understood this code in the past.  It is tricky, you 
>>> really have to pay attention.  IIRC what it has is a two level cache 
>>> for (potentially) every page in the regular cache.
>>>
>>>
>>> Chuck
>>>
>>>
>>> On 2011-07-14, at 9:39 AM, Ricardo J. Parada wrote:
>>>


 Oh... for reference that code in ERXAjaxSession.java looks like this:

 public void savePage(WOComponent page) {
...

  // Remove the oldest entry if we're about to add a new one and that 
 would put us over the cache size ...
  // We do a CACHE_SIZE*2 here because for every page, we have to 
 potentially store its previous contextid to prevent
  // race conditions, so there technically can be 2x cache size many 
 pages in the cache.
  boolean removedCacheEntry = 
 cleanPageReplacementCacheIfNecessary(pageCacheKey);
 208:if (!removedCacheEntry && pageReplacementCache.size() >= 
 ERXAjaxSession.MAX_PAGE_REPLACEMENT_CACHE_SIZE * 2) {
Iterator entryIterator = pageReplacementCache.entrySet().iterator();
Map.Entry oldestEntry = (Map.Entry) entryIterator.next();
entryIterator.remove();
if (logger.isDebugEnabled()) logger.debug(pageCacheKey + 
 "pageReplacementCache too large, removing oldest entry = " + 
 ((TransactionRecord)oldestEntry.getValue()).key());
  }

...





 On Jul 14, 2011, at 12:33 PM, Ricardo J. Parada wrote:

> I don't understand the code in ERXAjaxSession.java:208-213 very well 
> but I can see that the size of the page replacement cache referred to 
> by that code is growing with every AJAX request until it is >= two 
> times the size specified by 
> er.extensions.maxPageReplacementCacheSize.  From there on it removes 
> entries from there.
>
> At this point if I close the dialog (AMD) and then click on the link 
> on the page I get the "You backtracked too far" error.
>
> Anybody understands that code?  :-)
>
> I'm gonna compare with my test Wonder app which all it has is the AMD 
> and link on the page to test this and try to find out why I don't get 
> the error there.
>
>
>
>
> On Jul 14, 2011, at 12:11 PM, Ricardo J. Parada wrote:
>
>>
>>
>> I don't get the error if I set 
>> er.extensions.maxPageReplacementCacheSize=50 in my Properties.dev 
>> file.
>>
>> So now I'm focusing on ERXAjaxSession.java:208-213 to see if that 
>> code to try to figure out if that code has anything to do with the 
>> problem I have when I reduce the cache size.
>>
>>
>>
>>
>>
>> On Jul 13, 2011, at 10:36 PM, Alexis Tual wrote:
>>
>>> Hi,
>>>
>>> have you tried to raise the 
>>> er.extensions.maxPageReplacementCacheSize (default is 30) ? It 
>>> should delay the page restauration error, not fixing the real 
>>> issue... and if you have few users and enough memory, it might be 
>>> the cheapest way to get it done.
>>> Anyway, I filled a jira for this a year ago 
>>> http://issues.objectstyle.org/jira/browse/WONDER-545 (Don't try the 
>>> attached patch though, it

Re: Dynamic loading of a component into a container?

2011-07-28 Thread John Huss
So does Snow Leopard, maybe even earlier versions.

On Thu, Jul 28, 2011 at 12:16 PM, David Holt  wrote:

> Quicktime for Lion has screen capture/movies built in now...
>
> d
>
> On 2011-07-28, at 9:28 AM, John & Kim Larson wrote:
>
> > Done. Then not done. ScreenFlow didn't work with Lion. As soon as update
> is done I'll post it.
>
 ___
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


Re: [Wonder-disc] delivering a PDF using ERXResponse: Content-type question

2011-07-28 Thread Lars Sonchocky-Helldorf
I found the cause for my trouble. My predecessor had added the following to the 
Application class:

Application:

public void appendToResponse(WOResponse response, WOContext context) {
response.disableClientCaching();
super.appendToResponse(response, context);
// This must be done after the page generation to override the 
default header created by WO during the page generation.
if 
(_NSUtilities.UTF8StringEncoding.equals(response.contentEncoding()))
response.setHeader("text/html; charset=UTF-8", 
"content-type");
}

googling "// This must be done after the page generation to ..." revealed that 
adding this hack was popular in 2006. 



Is this hack still necessary today or was the cause for this solved in WO 
meanwhile?


cheers,

Lars


Am 28.07.2011 um 00:14 schrieb Q:

> Try setting "Content-Length" instead of "Content-length"
> 
> On 28/07/2011, at 4:23 AM, Lars Sonchocky-Helldorf wrote:
> 
>> Hi everybody,
>> 
>> 
>> when trying to deliver a PDF as a special Page using ERXResponse I get 
>> strange results (compared to the state where it was working before 
>> "wonderizing" the WOApp).
>> 
>> The PDF is delivered like this, with data being the PDF data:
>> 
>> public void appendToResponse(WOResponse aResponse, WOContext aContext)
>> {
>> // Generate PDF bytes
>> if(data==null) {
>> data = document.getBytesPDF();
>> }
>> 
>> // If not IE, just return the pdf data
>> aResponse.setHeader("application/pdf", "Content-Type");
>> aResponse.setHeader("inline; filename=\"" + filename + "\"", 
>> "content-disposition");
>> aResponse.setHeader("" + data.length, "Content-length");
>> aResponse.setContent(new NSData(data));
>>
>> }
>> 
>> 
>> After line 
>> 
>> aResponse.setHeader("" + data.length, "Content-length");
>> 
>> the ERXResponse looks like this:
>> 
>> > httpVersion=HTTP/1.1 headers={cache-control=[private, no-cache, no-store, 
>> must-revalidate, max-age=0], content-disposition=[inline; 
>> filename="report.pdf"], content-length=[30873], 
>> content-type=[application/pdf], date=[Wed, 27-Jul-2011 15:54:42 GMT], 
>> expires=[Wed, 27-Jul-2011 15:54:42 GMT], pragma=[no-cache]} content-length=0 
>> cookies=null userInfo={} storePageInBacktrackCache=true >) status=200>
>> 
>> I can imagine only the double entry for content-length here as a possible 
>> problem. Everything else looks fine for me. 
>> 
>> However, the content get's delivered as text/html, e.g. I don't see the PDF, 
>> I see only the ASCII characters that the PDF consists out of in the Safari 
>> Window. Inspecting this using the Web Inspector of WebKit I can see the 
>> following handshake:
>> 
>> Anfrage-URL:http://10.11.3.152:5/cgi-bin/WebObjects/Portal.woa/wo/yJAzrWNoqCxFt75rZoG5Bw/4.1.7.1.3.1.3
>> Anfragemethode:POST
>> Status-Code:200 OK
>> Anfrage-Header
>> Accept:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
>> Content-Type:application/x-www-form-urlencoded
>> Origin:http://10.11.3.152:5
>> Referer:http://10.11.3.152:5/cgi-bin/WebObjects/Portal.woa/wo/yJAzrWNoqCxFt75rZoG5Bw/3.1.7.1.3.1.3
>> User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; de-de) 
>> AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1
>> Formulardaten
>> 1.7.1.3.1.3.1.1.1.55.1:PDF
>> 1.7.1.3.1.3.1.1.1.69.1.1.3:0
>> Antwort-Header
>> Cache-Control:private, no-cache, no-store, must-revalidate, max-age=0
>> Content-Disposition:inline; filename="report.pdf"
>> Content-Length:30873
>> Content-Type:text/html; charset=UTF-8
>> Date:Wed, 27-Jul-2011 15:54:42 GMT
>> Expires:Wed, 27-Jul-2011 15:54:42 GMT
>> Pragma:no-cache
>> X-Webobjects-Loadaverage:1
>> 
>> 
>> Content-Type is now indeed set to text/html. Does this happen inside WOnder? 
>> How can I stop it?
>> 
>> thanks,
>> 
>>  Lars
>> --
>> Got Input?   Slashdot Needs You.
>> Take our quick survey online.  Come on, we don't ask for help often.
>> Plus, you'll get a chance to win $100 to spend on ThinkGeek.
>> http://p.sf.net/sfu/slashdot-survey___
>> Wonder-disc mailing list
>> wonder-d...@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wonder-disc
> 

 ___
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


Re: Dynamic loading of a component into a container?

2011-07-28 Thread David Holt
Quicktime for Lion has screen capture/movies built in now...

d

On 2011-07-28, at 9:28 AM, John & Kim Larson wrote:

> Done. Then not done. ScreenFlow didn't work with Lion. As soon as update is 
> done I'll post it. 
> 
> Sent from my iPhone
> 
> On Jul 28, 2011, at 9:46 AM, Pascal Robert  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  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  
> 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 
>>>  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:
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> Navigation-Template
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>>>> zone="testZone">Add Products
>>> 
>>> 
>>> 
>>> 
>>> 
>>> (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
>>> 

Re: PKs With Multitable Inheritance

2011-07-28 Thread Ramsey Gurley
I just use int. I haven't hit 2 billion EOs yet.  You could always use a Long 
pk if you're planning on being the next iTunes or something (^_^)

Ramsey


On Jul 27, 2011, at 6:05 PM, Ted Archibald wrote:

> Won't my primary keys get too big to handle?  Is int(11) in mysql sufficient 
> enough?
> 
> On Wed, Jul 27, 2011 at 7:02 PM, Ramsey Gurley  
> wrote:
> 
> On Jul 27, 2011, at 5:23 PM, Chuck Hill wrote:
> 
> >
> > On 2011-07-27, at 5:21 PM, Ted Archibald wrote:
> >
> >> With a project I'm working on I decided to have a number of my entities 
> >> inherit from an abstract entity.  Each of these entities have their own 
> >> separate table (I forget what kind of inheritance that's called...).
> >
> > Horizontal.
> 
> 
> More info here:
> 
> http://wiki.objectstyle.org/confluence/display/WO/Modeling+Inheritance+with+Entity+Modeler
> 
> 
> >> I noticed that EOF is only generating a single series of PKs for the 
> >> abstract parent entity and not PKs for each child entity.  I read 
> >> somewhere that that's what EOF likes to do with inheritance.  But 
> >> considering I'd never be dealing with the abstract entity, is there a way 
> >> to make EOF give PKs to each individual entity?
> >
> > There is probably a way, but it will lead to corrupt data or other 
> > problems.  EOF needs all the EOs in a hierarchy to have a unique key 
> > regardless of entity.
> >
> >
> > Chuck
> 
> 
> You could do it in a custom EOAdaptor, but it won't function. OpenBase plugin 
> does this (last time I used it), and as a result, the only inheritance that 
> works on OpenBase is single table.
> 
> EOF depends on keys that are unique across all the subclasses, because EOF 
> needs the keys to be unique to create a relationships to the parent entities. 
> Otherwise, what is the FK for a relationship to your parent if both tables 
> have overlapping PKs?
> 
> It will sorta work with horizontal until you start making relationships.  It 
> would be fundamentally incompatible with vertical because of the way the pk 
> is shared across multiple tables.
> 
> Ramsey
> 
> 
> ___
> 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/archive%40mail-archive.com

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


Re: Dynamic loading of a component into a container?

2011-07-28 Thread John & Kim Larson
Done. Then not done. ScreenFlow didn't work with Lion. As soon as update is 
done I'll post it. 

Sent from my iPhone

On Jul 28, 2011, at 9:46 AM, Pascal Robert  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  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  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  
>> 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:
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> Navigation-Template
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> > zone="testZone">Add Products
>> 
>> 
>> 
>> 
>> 
>> (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:

Re: PostgreSQL Setup and Tuning

2011-07-28 Thread Andy 'Dru' Satori
 I guess I should give more detail on the application format. It is not 
publicly released yet, but will eventually be on the MAS for a relatively low 
price. 

The application is called "PostgreSQL on Demand". What it is, is an application 
that presents a simple query editor and schema browser for the server. When the 
application is opened, it starts a PostgreSQL server instance as a part of the 
application and allows the user to run queries, create databases, etc in it. 
The instance is set to allow local connections and limits to 5 connections. 
Other than that, it is a fully functional PG install, all neatly encapsulated 
inside the application itself. 

It stores it's Data in ~/Library/Application Support/PostgreSQL on Demand/ and 
though I still have some tweaking to do, will eventually support Lion's 
Sandboxing.

At this point, I consider it 'Alpha' level work. IT functions, there are 
issues, and it needs more work. I use it daily, so I am constantly tweaking it. 
I have a list of things I can/want to add to it that could keep me busy for a 
couple of years, one of those being the ability to have it install itself as a 
system wide PostgreSQL Server instance that is always on instead of a 
traditional installer (which I also maintain) and full management tools.

Unfortunately, this is very much the hobby side of what I do. My day job is 
primarily Windows and MSSQL where we are slowly migrating all of our systems 
and our customers systems to PostgreSQL, so everything you find at PostgreSQL 
for Mac is what I do when I am not at work or chasing my kids around. 

-- 
Andy 'Dru' Satori


On Thursday, July 28, 2011 at 11:36 AM, Andy 'Dru' Satori wrote:

> This is correct, and it will require tweaking based upon your usage 
> (connection counts primarily).
> 
> It really matters more about *how* your site uses connections than anything 
> else. The shared memory issues revolve around the preallocated memory per 
> connection. If you expect to pool 10 connections, it really is not an issue. 
> If you are going to need 1000 connections, then you will have issues.
> 
> My practice has become the following, for my development laptop, I use an on 
> demand instance of PostgreSQL (the application format that I mentioned 
> earlier). When I am going to be working with those databases, I fire up the 
> application and let it run in the background. It is set to be optimized for 5 
> connections. This is a number low enough that if you are running iChat, it 
> will not interfere (iChat is notorious for consuming large chunks of shared 
> memory).
> 
> Once I am ready to move to production, my configuration decision begin with 
> the expected loads and connection handling. Modifying the SysCtl file and the 
> .conf files to suit the needs. pgtune is a good tool to help along the way. 
> 
> I do not generally prematurely optimize though. My general choice is to roll 
> with defaults watching for problems during startup:
> 
> FATAL: could not create shared memory segment: Cannot allocate memory DETAIL: 
> Failed system call was shmget(key=1,size=1499136, 03600) 
> 
> Is a pretty clear indicator that that it is time to modify the SysCtl. As a 
> baseline, the most common recommendation is:
> 
> kern.sysv.shmmax=33554432 kern.sysv.shmmin=1 kern.sysv.shmmni=256 
> kern.sysv.shmseg=64 kern.sysv.shmall=8192
> 
> You may have to tweak to find a balance that works for you, I find that for 
> most of my work I don't need the above unless I have a very high connection 
> count server.
> 
> Outside of that, most of the configuration options you will want are going to 
> be found in the PostgreSQL.conf file in your data folder, which can be a 
> number of places depending upon how you installed it.
> 
> It is probably worth noting that, PostgreSQL 9 and Lion have changed some of 
> this. I have seen a noticeable speedup on Lion Server (using a Core2Duo Mini 
> Server) with the installation of Lion, and a further speed up when that was 
> upgraded to PG 9 beta releases. 
> 
> Also in the interests of full disclosure, I am the guy that has (when time 
> permits) maintained the work at www.postgresqlformac.com 
> (http://www.postgresqlformac.com) for the last 6 years :-).
> 
> -- 
> Andy 'Dru' Satori
> 
> 
> On Thursday, July 28, 2011 at 10:47 AM, John Huss wrote:
> 
> > For production on OS X at least you have to modify your shared memory 
> > settings in sysctl.conf -- there are instructions about this in the README 
> > in the installer. Otherwise, I have found the program 'pgtune' to be useful 
> > for configuring postgresql.
> > 
> > John
> > 
> > On Thu, Jul 28, 2011 at 9:27 AM, Kieran Kelleher  > (mailto:kelleh...@gmail.com)> wrote:
> > >  So, which of you WO devs has the blog post (or even a link to somewhere 
> > > with experienced insight) on setup, tuning, gotchas with regard to 
> > > PostgreSQL on OS X for dev, on Linux for deploy, replication, etc.??
> > > 
> > >  -Kieran 
> >  _

Re: PostgreSQL Setup and Tuning

2011-07-28 Thread Andy 'Dru' Satori
This is correct, and it will require tweaking based upon your usage (connection 
counts primarily).

It really matters more about *how* your site uses connections than anything 
else. The shared memory issues revolve around the preallocated memory per 
connection. If you expect to pool 10 connections, it really is not an issue. If 
you are going to need 1000 connections, then you will have issues.

My practice has become the following, for my development laptop, I use an on 
demand instance of PostgreSQL (the application format that I mentioned 
earlier). When I am going to be working with those databases, I fire up the 
application and let it run in the background. It is set to be optimized for 5 
connections. This is a number low enough that if you are running iChat, it will 
not interfere (iChat is notorious for consuming large chunks of shared memory).

Once I am ready to move to production, my configuration decision begin with the 
expected loads and connection handling. Modifying the SysCtl file and the .conf 
files to suit the needs. pgtune is a good tool to help along the way. 

I do not generally prematurely optimize though. My general choice is to roll 
with defaults watching for problems during startup:

FATAL: could not create shared memory segment: Cannot allocate memory DETAIL: 
Failed system call was shmget(key=1,size=1499136, 03600) 

Is a pretty clear indicator that that it is time to modify the SysCtl. As a 
baseline, the most common recommendation is:

kern.sysv.shmmax=33554432 kern.sysv.shmmin=1 kern.sysv.shmmni=256 
kern.sysv.shmseg=64 kern.sysv.shmall=8192

You may have to tweak to find a balance that works for you, I find that for 
most of my work I don't need the above unless I have a very high connection 
count server.

Outside of that, most of the configuration options you will want are going to 
be found in the PostgreSQL.conf file in your data folder, which can be a number 
of places depending upon how you installed it.

It is probably worth noting that, PostgreSQL 9 and Lion have changed some of 
this. I have seen a noticeable speedup on Lion Server (using a Core2Duo Mini 
Server) with the installation of Lion, and a further speed up when that was 
upgraded to PG 9 beta releases. 

Also in the interests of full disclosure, I am the guy that has (when time 
permits) maintained the work at www.postgresqlformac.com for the last 6 years 
:-).

-- 
Andy 'Dru' Satori


On Thursday, July 28, 2011 at 10:47 AM, John Huss wrote:

> For production on OS X at least you have to modify your shared memory 
> settings in sysctl.conf -- there are instructions about this in the README in 
> the installer. Otherwise, I have found the program 'pgtune' to be useful for 
> configuring postgresql.
> 
> John
> 
> On Thu, Jul 28, 2011 at 9:27 AM, Kieran Kelleher  (mailto:kelleh...@gmail.com)> wrote:
> >  So, which of you WO devs has the blog post (or even a link to somewhere 
> > with experienced insight) on setup, tuning, gotchas with regard to 
> > PostgreSQL on OS X for dev, on Linux for deploy, replication, etc.??
> > 
> >  -Kieran 
>  ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com 
> (mailto:Webobjects-dev@lists.apple.com))
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/dru%40druware.com
> 
> This email sent to d...@druware.com (mailto:d...@druware.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


Re: MySQL was: Re: Lion and WO

2011-07-28 Thread James Cicenia
All great wealth has a slight illegitimate  origin.

Cheers



On Jul 27, 2011, at 8:13 PM, Q wrote:

> If you want a bit of history about MySQL you won't read on Wikipedia, here is 
> the backstory:
> 
> Back in 1993 there were no free lightweight SQL servers. The first one to 
> appear was mSQL* (aka miniSQL), which wasn't technically open source, but it 
> was free for non commercial use, and distributed as source. It was initially 
> an sql query engine that ran on top of Postgres (back then Postgres wasn't an 
> SQL DB), but later implemented its own backend storage. 
> 
> About a year, maybe a year and a half after mSQL's first release, MySQL 
> appears, and it just happened to support all the same cli syntax, similar 
> admin tools, etc as mSQL, it was basically a straight clone of mSQL but GPL 
> and free. The origin of certain chunks of the source that were in the initial 
> MySQL releases were also suspiciously similar to those found in mSQL. 
> 
> Initially neither product supported concurrent queries, however MySQL quickly 
> introduced support for them using threads, which basically sucked for years, 
> but is was a differentiator that took many years to be matched by mSQL 
> (release early vs release when it actually works). At this time, mSQL was 
> very stable, and MySQL basically sucked unless you used exactly the right 
> config and feature set, but had the potential to do well once all the feature 
> bugs were worked out (which took another 4 years or so).
> 
> For a while the two products were pretty comparable in features (that 
> worked), performance and popularity, but the non commercial use license and a 
> growing MySQL feature set eventually spelled the demise of mSQL's popularity. 
> MySQL went on to dominate the free sql database product space because it was 
> basically the only choice that didn't cost money to use commercially, and 
> support concurrent queries. The appearance of php in 1995 helped widen that 
> gap as demand for small SQL databases grew, despite it supporting both 
> products equally.
> At that time mSQL already had a similar web programming language distributed 
> with it called Lite, but that's a whole other story.
> 
> MySQL grew from humble and possibly slightly illegitimate beginnings for the 
> purposes of being something very simple, very small, and very fast. Things 
> like ACID compliance and MVCC were liabilities to speed and simplicity and 
> not part of the original plan. It was never intended to be even remotely 
> comparable to the Ingres, Sybase, Oracle, DB2 or Interbase servers of that 
> era.
> 
> * I used to work with the author of mSQL many moons ago.
> 
> 
> On 28/07/2011, at 4:21 AM, Andrew Satori wrote:
> 
>> 
>> You asked, about rows and columns so I answered.  I know what killed it.  I 
>> know why.  I know what I could have done to prevent it and work around it.  
>> The net result is that in order to get the performance I needed, I was going 
>> to have to alter things to be MySQL specific, rather than the standard 
>> syntax that works across multiple backends. Hardware was not the limit.  The 
>> data in question was in how MySQL coped with a 5th normal structure and 
>> pulling in detail information associated with a master entry record. The 
>> problems stemmed from the join and a table scan caused my MySQL's inability 
>> properly user the index.  The same request against the same data in every 
>> other platform of note executed better than 2x as fast as the MySQL 
>> implementation, in some cases on the same hardware, but most on inferior 
>> hardware.  
>> 
>> I understand your point, and yes, there are/were solutions. My point being, 
>> that MySQL has limitations.  They can be overcome, but the further you push 
>> it, the more difficult and expensive they become.  Unfortunately, I've been 
>> down this path a few times with several platforms.  MySQL, OpenBase, MSSQL, 
>> Oracle, Informix, Sybase, DB/2, and PostgreSQL to name a few (I have only 
>> used FrontBase for prototyping so I have no deployment experience with it 
>> and do not include it for that reason).  Everyone one of them has trade-offs 
>> and limits.  Based upon that experience, for any project I start today, 
>> PosgreSQL would be my first choice, with Oracle and MSSQL being 2nd and 3rd. 
>>  MySQL would be absolutely dead last.  *if* it was a project that had 
>> Twitter size scaling issues, I would consider altering that to use DB/2 as 
>> the platform of choice, because of it's ability to cleanly scale to IBM's z 
>> series hardware, but even then I would have to weigh the benefits versus the 
>> limitations of DB/2.
>> 
>> In case it hasn't been obvious from the beginning.  I loathe MySQL, both 
>> technically ( it is still basically a SQL engine grafted to a text based 
>> data engine ala PICK, DB4, Progress or Paradox ) and philosophically ( GPL 
>> applied to the data access libraries rather than LGPL ). I do not argue that 
>> both can be worked aro

Re: PostgreSQL Setup and Tuning

2011-07-28 Thread John Huss
For production on OS X at least you have to modify your shared memory
settings in sysctl.conf -- there are instructions about this in the README
in the installer.  Otherwise, I have found the program 'pgtune' to be useful
for configuring postgresql.

John

On Thu, Jul 28, 2011 at 9:27 AM, Kieran Kelleher wrote:

> So, which of you WO devs has the blog post (or even a link to somewhere
> with experienced insight) on setup, tuning, gotchas with regard to
> PostgreSQL on OS X for dev, on Linux for deploy, replication, etc.??
>
> -Kieran
 ___
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


Re: Dynamic loading of a component into a container?

2011-07-28 Thread Pascal Robert
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  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  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  
> 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:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Navigation-Template
> 
> 
> 
> 
> 
> 
> 
>   zone="testZone">Add Products
> 
> 
> 
> 
> 
> (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 GmbH • Lerchenstraße 28a • 22767 Hamburg

Re: Dynamic loading of a component into a container?

2011-07-28 Thread John & Kim Larson
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  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  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  
 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:
 
 
 
 
 
 
 
 
 
 
 
 Navigation-Template
 
 
 
 
 
 
 
   >>> zone="testZone">Add Products
 
 
 
 
 
 (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 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 115

PostgreSQL Setup and Tuning

2011-07-28 Thread Kieran Kelleher
So, which of you WO devs has the blog post (or even a link to somewhere with 
experienced insight) on setup, tuning, gotchas with regard to PostgreSQL on OS 
X for dev, on Linux for deploy, replication, etc.??

-Kieran ___
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


Re: MySQL was: Re: Lion and WO

2011-07-28 Thread Kieran Kelleher
Just to get the last word in ;-)  …….

In fairness though, _my_ user experience with MySQL 5.1 using InnoDB Plugin 
1.0.x on Linux 12-core 48GB RAID server with databases of ~40GB and having a 
number of tables between 10 and 70 million rows has been a very good experience 
in terms of performance and reliability. Replication (for the purpose of 
backup) has always been simple to set up, both local and remote over SSL, and 
extremely reliable. That good experience and reliability has built confidence 
in MySQL/InnoDB for me to this point in time.

So, the most important thing to clarify is that the default engine, MyISAM, is 
NOT useful for WebObjects, or anywhere you want relational, MVCC, ACID. The 
most common issue I have seen is devs unknowingly using the MyISAM engine. 
InnoDB is a completely different database engine, created by a 3rd party, and 
eventually bought by Oracle before they bought Sun. When you say MySQL, you 
should really specify MySQL/MyISAM or MySQL/InnoDB, because you might as well 
be talking about two different platforms.

The other common problem I see is devs not taking time to configure things in 
/etc/my.cnf file. Yeah, it is a PITA to learn all the possible settings that 
can be configured and what each one does (do a 'SHOW VARIABLES;' to get an idea 
of many of the configurable settings). Unfortunately, if you run with all 
defaults on a database of any size other than small your performance will 
absolutely suck. This is a disaster for devs who are new to MySQL and are just 
installing and starting it up on defaults. 

In any case, this (and past) discussions have motivated me to get familiar with 
PostgreSQL and I look forward to that, albeit MySQL/InnoDB is working 
flawlessly for me in the medium-sized (small?) 40GB database and 70 million row 
scenario, so there is no urgent problem necessitating a change right now.

Interesting discussion,

Thanks, Kieran

PS. It might be useful to have a WOWODC presentation next year on MySQL and 
PostgreSQL (and any other popular ones from the Pascal surveys) to help WO devs 
understand how to configure after initial installation, etc.


On Jul 27, 2011, at 9:13 PM, Q wrote:

> If you want a bit of history about MySQL you won't read on Wikipedia, here is 
> the backstory:
> 
> Back in 1993 there were no free lightweight SQL servers. The first one to 
> appear was mSQL* (aka miniSQL), which wasn't technically open source, but it 
> was free for non commercial use, and distributed as source. It was initially 
> an sql query engine that ran on top of Postgres (back then Postgres wasn't an 
> SQL DB), but later implemented its own backend storage. 
> 
> About a year, maybe a year and a half after mSQL's first release, MySQL 
> appears, and it just happened to support all the same cli syntax, similar 
> admin tools, etc as mSQL, it was basically a straight clone of mSQL but GPL 
> and free. The origin of certain chunks of the source that were in the initial 
> MySQL releases were also suspiciously similar to those found in mSQL. 
> 
> Initially neither product supported concurrent queries, however MySQL quickly 
> introduced support for them using threads, which basically sucked for years, 
> but is was a differentiator that took many years to be matched by mSQL 
> (release early vs release when it actually works). At this time, mSQL was 
> very stable, and MySQL basically sucked unless you used exactly the right 
> config and feature set, but had the potential to do well once all the feature 
> bugs were worked out (which took another 4 years or so).
> 
> For a while the two products were pretty comparable in features (that 
> worked), performance and popularity, but the non commercial use license and a 
> growing MySQL feature set eventually spelled the demise of mSQL's popularity. 
> MySQL went on to dominate the free sql database product space because it was 
> basically the only choice that didn't cost money to use commercially, and 
> support concurrent queries. The appearance of php in 1995 helped widen that 
> gap as demand for small SQL databases grew, despite it supporting both 
> products equally.
> At that time mSQL already had a similar web programming language distributed 
> with it called Lite, but that's a whole other story.
> 
> MySQL grew from humble and possibly slightly illegitimate beginnings for the 
> purposes of being something very simple, very small, and very fast. Things 
> like ACID compliance and MVCC were liabilities to speed and simplicity and 
> not part of the original plan. It was never intended to be even remotely 
> comparable to the Ingres, Sybase, Oracle, DB2 or Interbase servers of that 
> era.
> 
> * I used to work with the author of mSQL many moons ago.
> 
> 
> On 28/07/2011, at 4:21 AM, Andrew Satori wrote:
> 
>> 
>> You asked, about rows and columns so I answered.  I know what killed it.  I 
>> know why.  I know what I could have done to prevent it and work around it.  
>> The net result is that