WOAdaptor on AIX

2012-03-22 Thread Michael DeMan
Hi All,

Has anybody done any deployments on AIX lately?  We are looking at possibly 
moving over to that since the company here has a fleet of AIX systems  admins 
and very little on the linux side.

I haven't heard much about AIX in many years, I would guess the only problem I 
might hit would be the apache adaptor compiling and running okay.

Thanks,
- Mike DeMan


 ___
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:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

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


WO 5.3.3 / SQL-Server and primary key generation

2012-01-11 Thread Michael DeMan
Hi All,

I have a legacy 5.3.3 application that we need to scale up to multiple 
instances.  It is a pretty big, old and fragile code base - wonderizing it does 
not seem to be an option.  I reviewed the code and the use cases are separate 
enough that there is no need for full inter-app EO change notifications - 
except for primary key generation.  On the primary key generation, I noticed 
that the SQL being generated is like the below and was thinking that with that 
UPDLOCK and ROWLOCK on the EO_PK_TABLE, that it might 'just work'.  However, in 
testing, I was able to get cases where different application instances were 
colliding on trying to use the same primary key value.


[2012-01-07 12:29:35 EST] WorkerThread44  evaluateExpression: 
com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression: SELECT PK 
FROM EO_PK_TABLE WITH (UPDLOCK,ROWLOCK)  WHERE NAME = 'PROVIDER_USER'
[2012-01-07 12:29:35 EST] WorkerThread44  evaluateExpression: 
com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression: UPDATE 
EO_PK_TABLE SET PK = 2532643 WHERE NAME = 'PROVIDER_USER' AND PK = 2532642



I am unsure how to proceed and was hoping somebody might be able to give me 
some pointers.

#1.  Should that SQL above be okay and doing the right thing?  Maybe we just 
have something set wrong on SQL-Server and it is ignoring the locks?

#2.  Otherwise - I am thinking my best bet is to override the hook in EOF for 
primary key generation.


Thanks,

- Mike DeMan

 ___
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: WO 5.3.3 / SQL-Server and primary key generation

2012-01-11 Thread Michael DeMan
Hey thanks, this helps - another idea anyway.

I was wondering about deadlocks too the way the it runs now.  We are on 
SQL-Server 2005, not sure if that matters.

I will look at XLOCK tomorrow.  I'm not sure where the plugin we have came 
from, but luckily all the source code for it is in with the project itself so 
tweaking that might be an option.

- Mike


On Jan 11, 2012, at 5:48 PM, Peter Vandoros wrote:

 Hi Mike,
 
 I had a similar problem a long time ago in a configuration like yours. The 
 difference was that I was getting dead locking transactions being detected by 
 SQL server.
 
 I resolved it by changing the SQL to use an XLOCK instead - via my custom ms 
 SQL JDBC hint plugin.
 
 Hope that helps!
 
 Regards,
 
 Peter
 
 On 12/01/2012, at 7:04 AM, Michael DeMan webobje...@deman.com wrote:
 
 Hi All,
 
 I have a legacy 5.3.3 application that we need to scale up to multiple 
 instances.  It is a pretty big, old and fragile code base - wonderizing it 
 does not seem to be an option.  I reviewed the code and the use cases are 
 separate enough that there is no need for full inter-app EO change 
 notifications - except for primary key generation.  On the primary key 
 generation, I noticed that the SQL being generated is like the below and was 
 thinking that with that UPDLOCK and ROWLOCK on the EO_PK_TABLE, that it 
 might 'just work'.  However, in testing, I was able to get cases where 
 different application instances were colliding on trying to use the same 
 primary key value.
 
 
 [2012-01-07 12:29:35 EST] WorkerThread44  evaluateExpression: 
 com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression: SELECT PK 
 FROM EO_PK_TABLE WITH (UPDLOCK,ROWLOCK)  WHERE NAME = 'PROVIDER_USER'
 [2012-01-07 12:29:35 EST] WorkerThread44  evaluateExpression: 
 com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression: UPDATE 
 EO_PK_TABLE SET PK = 2532643 WHERE NAME = 'PROVIDER_USER' AND PK = 2532642
 
 
 
 I am unsure how to proceed and was hoping somebody might be able to give me 
 some pointers.
 
 #1.  Should that SQL above be okay and doing the right thing?  Maybe we just 
 have something set wrong on SQL-Server and it is ignoring the locks?
 
 #2.  Otherwise - I am thinking my best bet is to override the hook in EOF 
 for primary key generation.
 
 
 Thanks,
 
 - Mike DeMan
 
 ___
 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/peter.vandoros%40gmail.com
 
 This email sent to peter.vando...@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: Best type of machine

2012-01-07 Thread Michael DeMan
I have also have managed vmware on Dell PowerEdges for quite a few years.  All 
AMD instead of Xeon, but nonetheless they work well.  HP would work fine as 
well.  With the larger name brand vendors like this vmware is somewhat 
'hardware aware' and can collect data like temperature, power supply status, 
etc directly from the hardware and provide alerts and such, which is convenient.

Whether you use vmware, Xen or something else - disk I/O can frequently be a 
bottleneck with virtualized environments, so make sure you get one of the 
better RAID controllers so you have fast disk I/O and you are much better off 
with many smaller sized disks than a few large disks.

- mike

On Dec 22, 2011, at 8:52 AM, Pascal Robert wrote:

 I have good experiences with Dell PowerEdge servers. Didn't use any new Dell 
 since 2009, but manage 10 of them between 2002 and 2009, and not much 
 problems. Make sure you have Xeon for the processors.
 
 Thanks for that..
 
 But I meant an actual machine which could be used to operate Virtualized 
 space..
 
 Gino
 On 22 Dec 2011, at 15:47, Petite Abeille wrote:
 
 
 On Dec 22, 2011, at 4:44 PM, Gino Pacitti wrote:
 
 What sort of machine would be best to buy to use for Linux Virtualization?
 
 Linode?
 
 http://www.linode.com/why.cfm
 
 ___
 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/ginokris%40me.com
 
 This email sent to ginok...@me.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/probert%40macti.ca
 
 This email sent to prob...@macti.ca
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40deman.com
 
 This email sent to webobje...@deman.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


UTF8 and SQL-Server 2005/2008

2011-11-14 Thread Michael DeMan
Hi,

We are updating some apps to be UTF8 enabled.  I have done this kind of work in 
the past with Oracle and MySQL, but never with SQL-Server.

I spent a couple hours earlier today googling around and realized that there 
are a few oddities doing this with SQL-Server.  Starting with the fact that it 
does not natively support UTF8 encoding for char/varchar columns?  I also saw 
some older WebObjects related posts about lack of support for nchar, nvarchar 
and such as well - although possibly they are obsolete?

We seem to have things running okay with FrontBase for our workstation dev 
environments, but our corporate deployment environment is SQL-Server 2005.

My next step is to migrate the apps over to our dev SQL-Server 2005 
environment.  Before I pour too many hours into that I was wondering if there 
are any tips  tricks I should be aware of with WebObjects + SQL-Server and 
UTF8.

Thanks,

- Mike DeMan

 ___
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: More advice please about WO project..

2011-06-16 Thread Michael DeMan
I would think you have a few options here.

#1.  Sounds overall the problem is with apache, not the application itself.  
Even in older 1.3 apache, there are configuration parameters you can set to 
provide a limit to the maximum number of children spawned.  However, the source 
of the problem is the fact that there are so many being spawned already.  Maybe 
check the apache logs and see if you are either getting a much higher volume of 
valid requests coming in then your customer had before, or you are just getting 
hammered by some kind of low end denial of service attack or even dumb things 
like google/webcrawlers?

#1A.  One option would be to move to a more traditional multi tier architecture 
- basically move the apache server over to a FreeBSD or Linux box, with Apache 
2.2.x and the WebObjects adaptor included.  Nice thing about this is that it is 
generally a more robust solution anyway, and also helps you separate out where 
the problems are.  

The above is presuming the web server and the WebObjects application are both 
being run on the same server.

#2 In regards to the code base itself, you said you had an older Mac around.  
If you can install 10.4 on that, along with the appropriate xCode developer 
toolset that still had WebObjects support, you should do that and ensure you 
can open the project up.  You then have basic verification that the project 
files you received are fit and sound.  From there, you can use some older 
scripts (I have local copies around somewhere) that help convert WebObjects 
apps from xCode to Eclipse and after that, once you are up and running in a 
modern Eclipse based development environment for WebObjects you can move 
forward in that way.  I would recommend that you suggest to your client that 
you do this as part of helping them out no matter what.  I just started on a 
contract a few months ago where nobody made the jump to Eclipse and were using 
vi/vim for editing, etc and were freaked out about inability to be able to 
maintain their existing code base.

For the above, on that 10.4 install + xCode, you will also need to install the 
additional WebObjects stuff from the Developer package since it does not 
install by default.


The above is not a 100% guaranteed solution, just some pointers - my 2-cents as 
it were.

- Mike

On Jun 16, 2011, at 3:14 PM, P Teeson wrote:

 The overseas organisation that contacted me is having a problem with their WO 
 app.
 It is running on a Dual 500 MHz PPC G4 with 1GB RAM and running Tiger Server 
 10.4.11.
 The backend DB is under Oracle on a Sun server.
 
 The current problem is that the httpd root task gets into a situation where 
 it keeps spawning www tasks. 
 It initially starts of with 5 of them. At some point in time there are a 
 multitude of them and 
 the system slows down to the point of having to be re-booted.
 
 I have now received the source code for the WO app. It turns out to be an 
 Xcode project. 
 My present environment is Snow Leopard 10.6.7 and Xcode 3.2.6 on an Intel Mac 
 Pro (2009 Nehalem 2xQuad Core) etc.
 
 Leopard was last the OS X version where Apple provided WO support. I do have 
 Leopard 10.5.8 as a bootable partition.
 Also Xcode is installed and I can install whatever WO stuff is needed from 
 the dvd. I have also DL'd WO 5.4.3 but not installed it yet.
 
 I also have available a G4 PPC 867MHz machine which I can setup as a web 
 server if this is needed.
 (It runs Tiger 10.4.11 but not Server version. Server is available to me and 
 I can setup a separate partition as a test environment)
 
 Browsing around in the Xcode project I see a folder named GCRI.eomodeld 
 containing a lot of .fspec and .plist files.
 Then a whole bunch of other folders containing .java source files. 
 And a folder named Web Components containing other folders in which are .api, 
 .wo, .html, .wod, and .woo files.
 
 Finally there is a single target named GCRI made up of two sub targets named 
 Application Server and Web Server
 
 Please advise me as to the best debugging path to follow to diagnose the 
 spawning issue.
 
 Thanks for your advice and
 
 respect
 
 Peter ___
 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/webobjects%40deman.com
 
 This email sent to webobje...@deman.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: Use EOF without WO?

2011-06-15 Thread Michael DeMan
Hi Amy,

ManagedObjectContext on iOS is a similar, but different animal than 
EOEditingContext on server-side java.

At the end of the day, EOF is most likely the reason that WebObjects was never 
completely open sourced some years after NeXT got Apple back and it no longer 
was even remotely any kind of significant revenue stream.  Hence from there 
however, the technology was leveraged by Apple into iOS.

I would expect that Apple considers CoreData a competitive advantage for the 
iOS platform, and given its history from EOF, and just being done right in the 
first place, completely makes sense.  I also imagine at some point there will 
be similar developer frameworks for Android but most likely they will be a few 
years out and probably still less elegant given the mindset I have seen from 
Google frameworks like GWT and such.

Just my 2-cents.

- Mike

On Jun 15, 2011, at 9:23 AM, Amy Worrall wrote:

 On Wed, Jun 15, 2011 at 3:32 PM, Jesse Tayler jtay...@oeinc.com wrote:
 what is it really that you need to be removed?
 you don't want to use the monitor and load balance or taskd stuff? or you
 can't install something in some environment?
 
 Thanks guys!
 
 This is the point I confess I'm trying to do something a little crazy…
 I work for an iOS development house and we've been asked to do an
 Android port of an app. My boss tasked us with finding the closest
 thing to Core Data that will run on Android. What's similar to Core
 Data and written in Java? Hmmm…
 
 It might come to nothing: it might end up being easier just rewriting
 it with a simpler Java ORM instead. But as I've been wanting to spend
 more time learning WebObjects anyway, I thought it couldn't hurt to
 see if this was possible.
 
 Amy
 ___
 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/webobjects%40deman.com
 
 This email sent to webobje...@deman.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: WOGWT adaptor

2011-05-26 Thread Michael DeMan
Yeah, I agree that the below e-mail was good.


I have a question on this, and please pardon if I sound somewhat cranky again, 
but in regards to GWT...

I can see the light at the end of the tunnel to be able to velocity generate 
the XML beans to get to GWT from both EOF and Cayenne3.1 (w/GUIDs).  From 
there, just go back 10 years or so to where WO was before other things became 
more important for the founders/funders of EOF/WO - and the logical was to be 
able to slide a subset of an EOEditingContext graph of objects back and forth 
between the client and the server.  It would at minimum require at least some 
kind of authentication delegate to avoid the inevitable troublesome/creative 
person that might just tweak the client to do unexpected things?

From there, is there any reason plug-in wise, that for eclipse it would not be 
possible take those beans 'lightweight / transitory EOs' and be able to wire 
them up graphically?  Basically I guess finish up where WODisplayGroup left us 
all hanging?

I have been slow on responding on some of this because a lot of the work I've 
done over the last ten years has been more back end side of things.  I 
backpedaled and got worried I jumped the gun thinking that it was truly 
necessary to write so many tedious lines of code just to make something show up 
and be responsive/intuitive to the end user in a browser based application.

I do not want to sound like I'm stuck on GWT - but being able to write normal 
java code and have it compile to javascript for the client seems to me like a 
true blessing.  The problem is that the APIs are so primitive still?  Its like 
'oh, we can do a table in the client - as long as all the rows are primitive 
types and ideally on the back end in a single table'.  And, 'oh yeah, its easy, 
just write all this incredibly tedious and repetitive code for every single 
scenario that the client side might need to support for your APIs back to the 
server- and do it three times'.

My thoughts are to extend GWT to be a more full fledged client.  That has 
understandings of things like having a graph of objects, and when modifications 
are made posting the changes simultaneous both in the client and also back to 
the server so the server-side EOEditingContext can keep up, etc.


Is this just a dumb idea because I have been so far away from doing client (as 
in humans) interface work for so long and am just ignorant of advances that 
have been made?

Presuming that the state of affairs for being able to rapidly wire up 
client-side interfaces to server-side business logic (yes, I 100% understand it 
is not that simple) - what do other folks think is the way to go?


Thanks for any feedback, and also my apologies (one more time) if I a just an 
ignoramus about how tedious it seems to be to build modern 'within the browser' 
client side apps,


- Mike




On May 24, 2011, at 6:05 AM, Kieran Kelleher wrote:

 Great illustration! I am speechless!
 
 On May 24, 2011, at 8:32 AM, David Avendasora wrote:
 
 Hi Mike,
 
 On May 23, 2011, at 8:17 PM, Michael DeMan wrote:
 
 Yes, I know.  The problem is more related to staffing in regards to full 
 time junior software developers and such.  Basically, because of the tiny 
 market share WO has, a lot of younger folks perceive it (correctly) as some 
 kind of oddball technology.  
 
 While it is uncommon, I wouldn't call it oddball. I would call it a secret 
 weapon, and one that uses many of the exact same concepts as iOS, so 
 developing end-to-end enterprise mobile solutions is much, much easier.
 
 Find someone with Java experience and interest in iOS and you've got 
 yourself a ready-to-train WebObjects developer.
 
 With a mobile workplace, even kids straight out of college are concerned 
 about what their resume will look like after 3-5 years on a full time job.  
 
 Those crazy kids. You don't need a resume when people are constantly calling 
 you and offering you jobs! Do they get on the most crowded bus too? Love 
 driving only during rush hour? Pick the longest line in the grocery store?
 
 Being a WebObjects developer is like having the HOV lanes open just for your 
 Maserati and having your groceries magically appear in your refrigerator. 
 Sure, you've still got to cook some, but you didn't have to battle half the 
 people in town to get home to dinner.*
 
 Dave
 
 *Yes, you have to properly configure your Maserati for driving on two-lane 
 roads as opposed to parking lots, and you have to tell the refrigerator what 
 types of food it should accept, but luckily, There's A Property For That™
 
 (TAPFT trademark, 2010 Kieran Kelleher)
 
 ___
 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

Re: WOGWT adaptor

2011-05-26 Thread Michael DeMan
Okay, I will investigate this.  Thanks!

Yes - I have worked with the Project Wonder Ajax stuff before, but again the 
company is looking to utilize more broadly accepted technologies where they 
can, and had pretty much already selected GWT already.

- mike

On May 26, 2011, at 7:16 AM, John Huss wrote:

 In GWT, RequestFactory is the way of doing this.  It allows you to transfer 
 an object graph to the client and only sends deltas back to the server when 
 things are changed.  
 
 It doesn't have push notifications to automatically propagate changes from 
 the server to the clients, but you could implement it fairly simply I think 
 since WO already generates the notification, you just have to have the 
 hanging request waiting and then resend the data as the response.
 
 GWT has a piece called the Editor framework which is sort of like a 
 WODisplayGroup - it does data binding to the data objects.  
 
 So the main point is that GWT basically has what you need.  However, there 
 aren't examples for using WO with it yet.  But Google IO just finished and I 
 think there was a lot of sample code that came out of IO that should help to 
 with understanding RequestFactory and the Editors.
 
 Also, if you're not familiar with the Ajax framework in Project Wonder you 
 should look at that first.  It allows you to continue developing in the WO 
 way and still get some more dynamic, fancy UIs.  It's more of a middle ground 
 between WO and GWT.
 
 John
 
 On Thu, May 26, 2011 at 5:12 AM, Michael DeMan webobje...@deman.com wrote:
 Yeah, I agree that the below e-mail was good.
 
 
 I have a question on this, and please pardon if I sound somewhat cranky 
 again, but in regards to GWT...
 
 I can see the light at the end of the tunnel to be able to velocity generate 
 the XML beans to get to GWT from both EOF and Cayenne3.1 (w/GUIDs).  From 
 there, just go back 10 years or so to where WO was before other things became 
 more important for the founders/funders of EOF/WO - and the logical was to be 
 able to slide a subset of an EOEditingContext graph of objects back and forth 
 between the client and the server.  It would at minimum require at least some 
 kind of authentication delegate to avoid the inevitable troublesome/creative 
 person that might just tweak the client to do unexpected things?
 
 From there, is there any reason plug-in wise, that for eclipse it would not 
 be possible take those beans 'lightweight / transitory EOs' and be able to 
 wire them up graphically?  Basically I guess finish up where WODisplayGroup 
 left us all hanging?
 
 I have been slow on responding on some of this because a lot of the work I've 
 done over the last ten years has been more back end side of things.  I 
 backpedaled and got worried I jumped the gun thinking that it was truly 
 necessary to write so many tedious lines of code just to make something show 
 up and be responsive/intuitive to the end user in a browser based application.
 
 I do not want to sound like I'm stuck on GWT - but being able to write normal 
 java code and have it compile to javascript for the client seems to me like a 
 true blessing.  The problem is that the APIs are so primitive still?  Its 
 like 'oh, we can do a table in the client - as long as all the rows are 
 primitive types and ideally on the back end in a single table'.  And, 'oh 
 yeah, its easy, just write all this incredibly tedious and repetitive code 
 for every single scenario that the client side might need to support for your 
 APIs back to the server- and do it three times'.
 
 My thoughts are to extend GWT to be a more full fledged client.  That has 
 understandings of things like having a graph of objects, and when 
 modifications are made posting the changes simultaneous both in the client 
 and also back to the server so the server-side EOEditingContext can keep up, 
 etc.
 
 
 Is this just a dumb idea because I have been so far away from doing client 
 (as in humans) interface work for so long and am just ignorant of advances 
 that have been made?
 
 Presuming that the state of affairs for being able to rapidly wire up 
 client-side interfaces to server-side business logic (yes, I 100% understand 
 it is not that simple) - what do other folks think is the way to go?
 
 
 Thanks for any feedback, and also my apologies (one more time) if I a just an 
 ignoramus about how tedious it seems to be to build modern 'within the 
 browser' client side apps,
 
 
 - Mike
 
 
 
 
 On May 24, 2011, at 6:05 AM, Kieran Kelleher wrote:
 
  Great illustration! I am speechless!
 
  On May 24, 2011, at 8:32 AM, David Avendasora wrote:
 
  Hi Mike,
 
  On May 23, 2011, at 8:17 PM, Michael DeMan wrote:
 
  Yes, I know.  The problem is more related to staffing in regards to full 
  time junior software developers and such.  Basically, because of the tiny 
  market share WO has, a lot of younger folks perceive it (correctly) as 
  some kind of oddball technology.
 
  While it is uncommon, I

Re: WOGWT adaptor

2011-05-23 Thread Michael DeMan
see inline.

On May 20, 2011, at 9:46 AM, Chuck Hill wrote:

 
 On May 19, 2011, at 9:07 PM, Michael DeMan wrote:
 
 Hi John,
 
 Thanks for the follow up.
 
 The bottom line is that for the current contract that I am on, WO is plagued 
 in two (of the same old)  areas:
 
 1) Lack of developers.  As we all know, its a pretty tiny marketplace.  The 
 people generally are top notch, but nonetheless for a large company they 
 need from a risk management perspective to know that they can find people, 
 whether current employees or run over a bus, find more interesting things to 
 do in life - or whatever.
 
 There are still some of use contractors out here.  :-)
 
 Chuck
 

Yes, I know.  The problem is more related to staffing in regards to full time 
junior software developers and such.  Basically, because of the tiny market 
share WO has, a lot of younger folks perceive it (correctly) as some kind of 
oddball technology.  With a mobile workplace, even kids straight out of college 
are concerned about what their resume will look like after 3-5 years on a full 
time job.  Yes, a catch-22 I agree.

- Mike

P.S. - sorry for the slow reply, catching up on emails.


 ___
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: WOGWT adaptor

2011-05-23 Thread Michael DeMan
Yes, I agree on WOWODC.  I was actually thinking about it when the announcement 
came out a month or so ago.

We have business partners in Chicago too, might make help sense to the company 
that way to pay for things.

Plus from there, its awful close for my wife and I to scoot over to Sweden to 
spend a little time with her family.

Thanks for putting the idea back in my mind :)

- Mike

On May 20, 2011, at 9:53 AM, Paul D Yu wrote:

 Chuck,  US?  or used???
 
 Your client should send you and some newbs to WOWODC, Mike.
 
 Paul:

 ___
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


WOGWT adaptor

2011-05-19 Thread Michael DeMan
Hi All,

Does anybody know status on the WOGST adaptor (is it reliable/well designed?) - 
or is there another standard technique to use to be able to utilize GWT on the 
client side with WebObjects on the back end?

http://sites.google.com/site/wogwtadapter/

Thanks,

- Mike DeMan


 ___
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: WOGWT adaptor

2011-05-19 Thread Michael DeMan
Hi John,

Thanks for the follow up.

The bottom line is that for the current contract that I am on, WO is plagued in 
two (of the same old)  areas:

1) Lack of developers.  As we all know, its a pretty tiny marketplace.  The 
people generally are top notch, but nonetheless for a large company they need 
from a risk management perspective to know that they can find people, whether 
current employees or run over a bus, find more interesting things to do in life 
- or whatever.

2) Lack of client side stuff.  I personally have steered clear of JavaScript 
since when Netscape first prefixed the name 'java' onto their client-side 
browser scripting technologies.  Nonetheless, for large companies and for 
internal-only back office operations, it is nice to be able to deliver 
quasi-native-desktop application working environments to folks within the 
browser with minimal risk to core functionality.  It seems that GWT is 
relatively mature now and is possibly a solution for the work scenario I am in.

I will also follow up with you off-list within the couple of days.  Again, 
thank you for the follow up.

- mike

On May 19, 2011, at 8:24 PM, John Huss wrote:

 I don't think it's actively maintained.  I started a project called WOGWT 
 (also on google code); it's out of date, but newer than this one.
 
 It really depends on what you need because you can communicate with a WO 
 server in many possible ways:
 1) JSON/XML via direct actions
 2) JSON/XML via REST
 3) JSON/XML via component actions
 4) RPC via direct actions
 5) RequestFactory somehow
 
 For JSON or XML you don't really need anything specific to GWT on the server. 
  
 For RPC, WOGWT has a request handler you could use.  
 RequestFactory is the newest RPC method in GWT and could be very useful, but 
 I haven't heard of anyone integrating it with WO yet.
 
 What are you looking to do?
 
 John
 
 On Thu, May 19, 2011 at 7:18 PM, Michael DeMan webobje...@deman.com wrote:
 Hi All,
 
 Does anybody know status on the WOGST adaptor (is it reliable/well designed?) 
 - or is there another standard technique to use to be able to utilize GWT on 
 the client side with WebObjects on the back end?
 
 http://sites.google.com/site/wogwtadapter/
 
 Thanks,
 
 - Mike DeMan
 
 
  ___
 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/archive%40mail-archive.com

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


Re: what will we miss about Max OS X?

2010-12-20 Thread Michael DeMan
I agree with the poster below - OSX Server is a nice package for a small office 
general purpose e-mail/file/IM server.

However deploying production web-apps or other services, I would never even 
consider it.  The only possible thing to miss on that side might be some of the 
admin tools for hardware status and such, but if you get a modern SuperMicro or 
Dell+DRAC Enterprise card, pretty much all that stuff for status on fans, 
temps, disk/raid status is built in to the hardware - accessible via a web 
browser and configurable to generate e-mail alerts.  Toss vmware on top of that 
hardware platform and install your preference of open source UNIX-like 
operating systems from there.


On Dec 20, 2010, at 11:54 AM, Pascal Robert wrote:

 Personally, OS X Server is useful for just Web hosting. As a general 
 workgroup server, now that's different. I made a chart of the Mac Mini Server 
 vs Windows Small Business Server on Dell/HP/Lenovo boxes, and the Mini is 50% 
 cheaper while not having any limit of the number of users. And OS X Server is 
 a joy to install vs. Windows SMB, I had to install SMB and that stupid crap 
 won't warm you about not having enough RAM until it's half-way into the 
 install, and when you got it to run, it tell you to disable the DHCP service 
 on your network so that Windows start its own!
 
 
 I am curious what others are thinking about this. My company has several 
 data centers around the work running on Mac OS X Servers, but given the 
 announcements from Apple, we are obviously re-thinking our deployments.
 
 And as we do so, a few things come to mind. For example:
 
 - No more Software Update. We could actually be more easily in control of 
 our installations.
 
 - The ability to take extra crap off of the servers. I have only one word. 
 iTunes. Why is it so hard to remove this from our servers?
 
 - We could go to different kinds of hardware, like blade systems.
 
 - We can use a more easily virtualized OS.
 
 So, what will we miss?
 
 I think we may miss launchd, or at least I will. But then, for example, 
 JavaMonitor does not control app instances with launchd and I think it 
 should, so it is obviously not as compelling to others as I think it should 
 be.
 
 Will we miss Server Admin? No. Nice GUI but then, where the heck does it put 
 things and what is not quite available via the UI? For every time it helps, 
 there is another time it causes other hassles.
 
 So, is there anything else to miss? Maybe not. The WO deployment mailing 
 list might be getting more interesting. We will see.
 
 - ray
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 http://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
 
 This email sent to prob...@macti.ca
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40deman.com
 
 This email sent to webobje...@deman.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: Application monitoring

2010-11-15 Thread Michael DeMan
There are piles of free/opensource tools out there nowadays for network 
monitoring.  I've just gone through the process of evaluating again for a small 
ISP and we settled on a mix of solutions, the two I would recommend for doing 
something like 'connect to port 80 and verify response HTML contains some sort 
of string' (this would do what you want?) are:

zenoss
- benefits
--- OSX package for installation
--- can monitor lots of other stuff too
- detriments
--- can be intimidating to configure

smokeping
- benefits
--- fast and simple
- detriments
--- requires a little command line work to setup
--- for a large installation becomes unmanageable


Also cacti is a good tool, but until 8.8 comes out setting up, adding in the 
'plug in architecture', then adding the plug ins you want is a bit tedious.





On Nov 15, 2010, at 8:11 AM, Greg Lappen wrote:

 Hi all,
 
 We just had an issue with our WebObjects application becoming unresponsive on 
 our new production server (a Mac Mini of course!).  The java process was 
 running, but not even our login page would show up - we got the No instance 
 available message from mod_webobjects.
 
 What I'd like to do is setup something (probably monit) to monitor and test 
 the app periodically and restart the java process when necessary.  I've used 
 monit in the past with Ruby on Rails and Java app servers, but not with 
 WebObjects.  I'm wondering if anyone else has setup something similar, and 
 how you did it.  Is there a way to invoke WOMonitor to start/stop the 
 application from the command line, so I can call it from monit, or am I 
 better off replacing WOMonitir with monit altogether and just maintaining the 
 startup options in my monit configuration?
 
 Greg
 ___
 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/webobjects%40deman.com
 
 This email sent to webobje...@deman.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: Does Apple stop to use WebObjects for its internal tools?

2010-09-10 Thread Michael DeMan
Well

I can not say for sure, but it is incredibly difficult to get folks who have 
expertise in WebObjects anywhere, at low cost.  It also has been a dying 
technology since NeXT got Apple back.  I am not sure why it was never just open 
sourced, other than it must be that somebody somewhere at ex-NeXT or Apple has 
an unreasonable ego.

Also, there is no reason for a large company that has staffing requirements, to 
not use technologies that have broader exposure in advance to incoming 
technology professionals



On Sep 9, 2010, at 11:54 PM, Mertz Stéphan wrote:

 Hi,
 
 The new 'the Sales and Trend reporting module' of iTunes Connect is develop 
 with JSF instead of WebObjects.
 Does Apple stop to use WebObjects for its internal tools?
 
 Does someone know what is powering the new Ping social network ?
 
 Regards,
 
 Stéphan ___
 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/webobjects%40deman.com
 
 This email sent to webobje...@deman.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


API deprecation request

2009-03-13 Thread Michael DeMan (WO)

Hi All,

Two caveats before any replies to flame me for being ignorant:

#1.  I am unsure where to post requests on project-wonder requests, so 
am sending here.  Please advise.


#2. Caveat on below, code where I found this was linked to WO 5.2, not 
WO 5.4, if I am out of date (i.e. the below is known to be no longer an 
issue in WO54) or off-base on my request for other reasons, please 
advise and accept my apology in advance.  Nonetheless, it is still my 
understanding that the notion of '...CaseInsensitive...' does not apply 
very well to things like Boolean, Float, Long, CLOB, NSData, etc.





I am not a committer on the wonder tree, and would ask that somebody do 
a review and place the request below under consideration.



I would request that the following method signatures be deprecated:

  public static NSMutableArray? 
sortedMutableArraySortedWithKey(NSArray array, String key)
  public static U NSArrayU sortedArraySortedWithKey(NSArray array, 
String key)



And replaced using the exact same implementations, but with a new 
signature, with something similar to:


  public static NSMutableArray? 
sortedMutableArraySortedWithKeyUsingToString(NSArray array, String key)
  public static U NSArrayU 
sortedArraySortedWithKeyUsingToString(NSArray array, String key)



i.e. - rename the existing methods, and provide a deprecated method with 
the old signature that just calls the new method.



Basis for this request is:

That the method signatures as-are do not adequately describe the 
behavior of the method given the implicit cast of the KVC value from its 
true value to its 'toString' value.  Current method signatures imply 
that the WebObjects KVC will honor 'equals()', which it does not.




I would also suggest that:
  public static U NSArrayU sortedArraySortedWithKey(NSArray array, 
String key, NSSelector selector)


disallow a NULL NSSelector completely and throw an appropriate exception.




snippet from ERXArrayUtilities:



  /**
   * Sorts a given array with a key in ascending fashion and returns a 
mutable clone of the result.

   * @param array array to be sorted.
   * @param key sort key.
   * @return mutable clone of sorted array.
   */
  // CHECKME ak: I probably wrote this, but do we really need it?
  public static NSMutableArray? 
sortedMutableArraySortedWithKey(NSArray array, String key) {

  return sortedArraySortedWithKey(array, key).mutableClone();
  }

  /**
   * Sorts a given array with a key in ascending fashion.
   * @param array array to be sorted.
   * @param key sort key.
   * @return mutable clone of sorted array.
   */
  public static U NSArrayU sortedArraySortedWithKey(NSArray array, 
String key) {

  return sortedArraySortedWithKey(array, key, null);
  }

  /**
   * Sorts a given array with a key in ascending fashion.
   * @param array array to be sorted.
   * @param key sort key.
   * @param selector sort order selector to use, if null, then sort 
will be case insensitive ascending.

   * @return sorted array.
   */
  public static U NSArrayU sortedArraySortedWithKey(NSArray array, 
String key, NSSelector selector) {
  ERXAssert.PRE.notNull(Attempting to sort null array of 
objects., array);
  ERXAssert.PRE.notNull(Attepting to sort array of objects with 
null key., key);
  NSArray order=new NSArray(new Object[] 
{EOSortOrdering.sortOrderingWithKey(key, selector == null ? 
EOSortOrdering.CompareCaseInsensitiveAscending : selector)});

  return EOSortOrdering.sortedArrayUsingKeyOrderArray(array, order);
  }
___
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: API deprecation request

2009-03-13 Thread Michael DeMan (WO)

Also, just realized I had a (at least one) typo:

OLD:

That the method signatures as-are do not adequately describe the 
behavior of the method given the implicit cast of the KVC value from its 
true value to its 'toString' value.  Current method signatures imply 
that the WebObjects KVC will honor 'equals()', which it does not.


NEW:

That the method signatures as-are do not adequately describe the 
behavior of the method given the implicit cast of the KVC value from its 
true value to its 'toString' value.  Current method signatures imply 
that the ERX method will honor 'equals()', which it does not, and WO/EOF 
is required to.




Michael DeMan (WO) wrote:

Hi All,

Two caveats before any replies to flame me for being ignorant:

#1.  I am unsure where to post requests on project-wonder requests, so 
am sending here.  Please advise.


#2. Caveat on below, code where I found this was linked to WO 5.2, not 
WO 5.4, if I am out of date (i.e. the below is known to be no longer 
an issue in WO54) or off-base on my request for other reasons, please 
advise and accept my apology in advance.  Nonetheless, it is still my 
understanding that the notion of '...CaseInsensitive...' does not 
apply very well to things like Boolean, Float, Long, CLOB, NSData, etc.





I am not a committer on the wonder tree, and would ask that somebody 
do a review and place the request below under consideration.



I would request that the following method signatures be deprecated:

  public static NSMutableArray? 
sortedMutableArraySortedWithKey(NSArray array, String key)
  public static U NSArrayU sortedArraySortedWithKey(NSArray array, 
String key)



And replaced using the exact same implementations, but with a new 
signature, with something similar to:


  public static NSMutableArray? 
sortedMutableArraySortedWithKeyUsingToString(NSArray array, String key)
  public static U NSArrayU 
sortedArraySortedWithKeyUsingToString(NSArray array, String key)



i.e. - rename the existing methods, and provide a deprecated method 
with the old signature that just calls the new method.



Basis for this request is:

That the method signatures as-are do not adequately describe the 
behavior of the method given the implicit cast of the KVC value from 
its true value to its 'toString' value.  Current method signatures 
imply that the WebObjects KVC will honor 'equals()', which it does not.




I would also suggest that:
  public static U NSArrayU sortedArraySortedWithKey(NSArray array, 
String key, NSSelector selector)


disallow a NULL NSSelector completely and throw an appropriate exception.




snippet from ERXArrayUtilities:



  /**
   * Sorts a given array with a key in ascending fashion and returns a 
mutable clone of the result.

   * @param array array to be sorted.
   * @param key sort key.
   * @return mutable clone of sorted array.
   */
  // CHECKME ak: I probably wrote this, but do we really need it?
  public static NSMutableArray? 
sortedMutableArraySortedWithKey(NSArray array, String key) {

  return sortedArraySortedWithKey(array, key).mutableClone();
  }

  /**
   * Sorts a given array with a key in ascending fashion.
   * @param array array to be sorted.
   * @param key sort key.
   * @return mutable clone of sorted array.
   */
  public static U NSArrayU sortedArraySortedWithKey(NSArray array, 
String key) {

  return sortedArraySortedWithKey(array, key, null);
  }

  /**
   * Sorts a given array with a key in ascending fashion.
   * @param array array to be sorted.
   * @param key sort key.
   * @param selector sort order selector to use, if null, then sort 
will be case insensitive ascending.

   * @return sorted array.
   */
  public static U NSArrayU sortedArraySortedWithKey(NSArray array, 
String key, NSSelector selector) {
  ERXAssert.PRE.notNull(Attempting to sort null array of 
objects., array);
  ERXAssert.PRE.notNull(Attepting to sort array of objects with 
null key., key);
  NSArray order=new NSArray(new Object[] 
{EOSortOrdering.sortOrderingWithKey(key, selector == null ? 
EOSortOrdering.CompareCaseInsensitiveAscending : selector)});

  return EOSortOrdering.sortedArrayUsingKeyOrderArray(array, order);
  }
___
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/webobjects%40deman.com 



This email sent to webobje...@deman.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: Is that difficult to make an Update operation?

2009-03-01 Thread Michael DeMan (WO)

Gustavo,

I'll respond off-list temporarily.


- mike

Gustavo Pizano wrote:

Hello Mike.


  public static Product findByProductCode(EOEditingContext ec, String 
productCode)


...and you would do like...

  Product thisProduct = 
Product.findByProductUPC(defaultEditingContext(), somecode);

  if (thisProduct != null) {
 thisProduct.addQuantity( 5 ); // or whatever quantity to be 
added/subtracted, etc, which in turn would use the built-in method 
setQuantity(Integer value);


  }
  defaultEditingContext().saveChanges(); // depending on your 
specifics, maybe this should be inside the 'if' statement above?



MM are you telling me that EOGenerated java file has such a methods, 
or that I should implemented in the subclass of _Product.java?


If they should be, then there are not, in my case, :S:S :(.

Well yes, Im new to EOF, have been trying to learn from a while, but 
always something happens and I have to put it aside, so so far, to 
keep things simple at the beginning Im using the session's 
defaultEditingContext, probably I will change it for some other 
operation to a custom ERXEC.


#2.  The rest of your code in regards to actually grabbing the 
EOModel, grabbing the EODatabaseContext, the EODatabaseChannel, etc - 
yes, you are 100% correct, it is generally that convoluted.  The 
point of EOF is to abstract the relational database away so it is 
very infrequent that you should ever have to do this.  With EOF, you 
want to think in terms of the 'object graph' - java objects in your 
editing context.



About the adaptors and dbcontexts, when you refer to , you should 
ever have to do this, its because of the methods you mentioned at the 
beginning of your reply? which would handle this situation for me?, 
but as I said I have no such a methods generated.




Oh, I guess P.P.S. - make sure you are using the project wonder 
frameworks.  All that craziness to get the EODatabaseChannel, even 
though you rarely need it, has cover methods in Wonder, and there are 
multitudes and multitudes of other things like that in Wonder too.


Yes Im using wonder, so where , or how can I use it to my advantage 
with the EOChannel's ?, I was looking a way but couldn't .



Thanks for your reply

Gus




On 1.3.2009, at 10:51, Michael DeMan (WO) wrote:


Hi Gustavo,

Two things I can think of, feel free to elaborate more since I am 
responding from an overall quick read of what you are doing and 
presuming you are pretty new to EOF.  My response here could be 
completely off base if my instinct your questions is not correct.




In regards to your one question about getting a hold of

There are two things going here that I can think of.

#1.  The fundamental design of EOF is to avoid doing things like 
talking to database adaptors, JDBC/ODBC clients, etc, directly.  For 
the section of code where you need to update the quantities,  
normally, for a given database table like 'PRODUCT', there would be 
an associated java EO object, with a utility method like...


  public static Product findByProductCode(EOEditingContext ec, String 
productCode)


...and you would do like...

  Product thisProduct = 
Product.findByProductUPC(defaultEditingContext(), somecode);

  if (thisProduct != null) {
 thisProduct.addQuantity( 5 ); // or whatever quantity to be 
added/subtracted, etc, which in turn would use the built-in method 
setQuantity(Integer value);


  }
  defaultEditingContext().saveChanges(); // depending on your 
specifics, maybe this should be inside the 'if' statement above?



...keep in mind the above is just very loose pseudo-code as an 
example, and using the 'defaultEditingContext()' is just a quick 
convenience for the pseudo-code.  Also keep in mind that the static 
utility method is something you will either need to make by hand, or 
can have made automatically by EOGenerator.



#2.  The rest of your code in regards to actually grabbing the 
EOModel, grabbing the EODatabaseContext, the EODatabaseChannel, etc - 
yes, you are 100% correct, it is generally that convoluted.  The 
point of EOF is to abstract the relational database away so it is 
very infrequent that you should ever have to do this.  With EOF, you 
want to think in terms of the 'object graph' - java objects in your 
editing context.



It requires a slight shift of thinking to use EOF effectively, and 
even though we as java programmers want to 100% work with graphs of 
persistent object graphs in a fluid and simple way, there is the old 
impedence mismatch between object graphs and traditional SQL databases.


http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch




In regards to those 'static utility methods' that you should have in 
every java EO class to simplify the code needed to fetch things, 
create new objects, etc, from the database:


Make sure you have an actual 'hard' java class for each one of your 
enterprise objects.  The best way to do it when first getting 
started, is to use EOGenerator...


http

Re: question on security scanning

2009-02-26 Thread Michael DeMan (WO)

Hi,

To the best of my knowledge, your synopsis that the WO/EOF architecture 
insulates you from many security issues is essentially correct.  Most of 
the issues in this area revolve around PHP and similar technologies 
where injection and scripting attacks are a huge issue.


For those kinds of attacks, the biggest thing I can think of that 
affects WO is the regular old session hijacking via the URL which can be 
obviated by creative use of encrypted cookies to ensure that anybody who 
hits the app with a session URL, also has that cookie on their machine 
with matching session ID (or username, etc).



On the other hand, there still can be configuration issues that can 
cause grief - mostly the the public facing HTTP server(s) that your 
WOAdaptor is running on - which although pretty much can be used only 
for denial of services issues, are still issues none the less.


A couple quick examples would be like...

- is JavaMonitor accessible from the outside world?  Obviously bad news 
since JavaMonitor is subject to brute force password attacks. 

- if you require login to your application (similar to JavaMonitor 
issue), once password login fails 3-5 times in a row, does the account 
automatically get locked out?


- if you are using HTTPS, is the web server configured not to use weak / 
deprecated encryption algthorithms?


- does the web server accidentally have POP3 or something open on it to 
the public, subject to brute force attacks, which in turn could give 
somebody SSH access to it or similar?  And once a compromise is made 
there be able to use the web server to try and break into your your 
application and/or database servers?



My background on this kind of stuff is primarily via small e-commerce 
deployments, and have regularly used http://www.securitymetrics.com for 
scanning to meet VISA/MasterCard PCI 1.2 compliance.  Depending on your 
needs, something like SecurityMetrics may be inappropriate, 
insufficient, or over kill.  I do like the extra peace of mind provided 
knowing that servers are scanned for security vulnerabilities regularly, 
and they have found both minor and important issues for me in the past.


My 2-cents anyway, and I am also interested to see what others have to say.

- Mike

TW wrote:

All:

I just had a meeting regarding one of my apps today with some central 
IT types at our university. One of the questions that was asked of me 
(for the first time actually) was whether I had run a security scanner 
test the application. While I'm not so naive as to think there can't 
be any security issues, I had always felt that the many levels of 
abstraction in WO/EOF naturally insulated me from some of these 
considerations.


For background, this central IT group is heavily microsoft leaning - 
so they kind of live in a different world where security is concerned 
and think they believe that the entire world of computing has the same 
architectural considerations they do. Their question was obviously out 
of concern that an attack could be crafted against the app to extract 
data from the database. It's difficult for me to imagine how this 
would be possible with WO/EOF but I may have naively looked past this.


To get to the point, I'd be interested in hearing from developers on 
list about whether you have scans performed against your apps. Yes or 
no, what were the considerations that drove the choice.


Tim Worman
UCLA GSEIS
___
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/webobjects%40deman.com 



This email sent to webobje...@deman.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: WO 5.3 or 5.4

2008-12-23 Thread Michael DeMan (WO)
I have developed WO 5.4 under OSX 10.4, including switching back and 
forth.  If you are just getting started, I would recommend trying to get 
5.4 running if you can.  Ideally, upgrading your machine to OSX 10.5 is 
the way to go, but if that is impossible then...



You want to swap out the WebObjects 5.3 and 5.4 frameworks on your local 
machine - or rather, replace the 5.3 frameworks with the 5.4 frameworks.


Download the WO 5.4 installer and open it up so you can see the frameworks.

More details on what you should see, and where it should go is at:

http://wiki.objectstyle.org/confluence/display/WO/WO+5.4+Getting+Started#WO5.4GettingStarted-DevelopingwithbothWebObjects5.4and5.3

- Mike


Francesco Romano wrote:



On 23/dic/08, at 17:09, Simon McLean wrote:





On 23 Dec 2008, at 16:03, Francesco Romano wrote:


On 23/dic/08, at 16:55, Pascal Robert wrote:



Le 08-12-23 à 10:50, Francesco Romano a écrit :


Hi... I made a little mistake...
I'm learning WO and developing an application. I use Leopard.
The computer where I'll deploy the app use Tiger... (so I think it 
can't have WO 5.4)


If Java 1.5 is available on the Tiger box, you can use 5.4. Embed 
the WO frameworks in your app, this way you won't have to install 
5.4 on the Tiger box.




How can I do that?


assuming you are using Wonder, put these in your build.properties

embed.ProjectLocal=true
embed.External=true
embed.Local=true
embed.User=true
embed.System=true
embed.Network=true


I'm using Wonder..
I tried this but it does not work (it continue to read the frameworks 
in /Library/Frameworks on the deployment computer).


I added this in the file Properties in Resources,... is the wrong place?


 ___
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/webobjects%40deman.com

This email sent to webobje...@deman.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: Workflow framework?

2008-11-24 Thread Michael DeMan (WO)
It has occurred to me in the past that workflow is really just a 
specialized case of a finite state engine.


Each state has a set of exits (transitions) to a next state.

Those sets of exits are defined by a set of conditions.  If all the 
conditions are met, then the object transitions to the next state.


In the real world, it has to be a bit more complicated because defining 
the state transitions can result in the possibility that an object at a 
given state may satisfy the conditions to go to two or more 'next 
states'.  Human error on data entry - garbage in/garbage out, that sort 
of thing.  The real world workaround on that is to provide a sort order 
on the exit transitions to force them to be checked in a specific 
order.  Immensely helpful for debugging.


The cool thing about thinking about it is a finite state engine is that 
the technical stuff is so thoroughly documented.  Plus, visualizing it 
is easier.  A bunch of circles on a piece of paper with arrows coming in 
from other circles and arrows going out to other circles.  Kind of helps 
keep the design clean instead of cluttering the design up with the 
specifics of the type of work to be done.


Other conditions can be like If object has been stuck in this state for 
more than 24 hours, then move to state 'needs user review', etc.


Thinking about it terms of queues an actions...

All objects in a given state, would be in a 'queue' - waiting to 
transition to the next state.


Transitioning from one state to another, would be an 'action', or 
perhaps a condition that was satisfied by some 3rd party (human?) action.



Anyway, my 2-cents on one to approach the problem.

- Mike




Josh Paul wrote:
I think it would be a very valuable framework for everyone. I'm 
curious about your approach.


On Nov 22, 2008, at 9:27 AM, Mark Morris wrote:

I wrote one a few years ago.  From time to time I've thought about 
updating it as well as another framework and contributing them, if 
people might find them useful.


There are a few ways to approach workflow.  Email me and we can see 
if what I have might be a good fit for your project.  I put a lot of 
time and thought into it.  It is generic, and it was used very 
successfully in a project a while back.


Regards,
Mark

On Nov 17, 2008, at 3:28 PM, Timothy Reaves wrote:

I can't seem to locate a framework for handling workflow.  Does 
one exist?

___
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/markm%40onpointsoftware.com 



This email sent to [EMAIL PROTECTED]



___
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/joshpaul%40gmail.com 



This email sent to [EMAIL PROTECTED]


___
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/webobjects%40deman.com 



This email sent to [EMAIL PROTECTED]



___
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 [EMAIL PROTECTED]


Re: default superclass package for eogen files

2008-11-19 Thread Michael DeMan (WO)
Hi, change the _Entity.java template file to look something like this 
right at the top of it:


for: COM.COMPANY.MYBASECLASS


public abstract class ${entity.prefixClassNameWithoutPackage} extends 
#if ($entity.parentClassNameSet)${entity.parentClassName}#elseif 
($entity.partialEntitySet)er.extensions.partials.ERXPartial${entity.partialEntity.className}#elseif 
($entity.parentSet)${entity.parent.classNameWithDefault}#elseif 
($EOGenericRecord)${EOGenericRecord}#else  COM.COMPANY.MYBASECLASS#end {


- Mike


Freddie Tilley wrote:
Is there way to set a default superclass package, so that it doesn't 
have to

be set manually every time I generate an eogen file for a model?

Freddie Tilley
___
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/webobjects%40deman.com 



This email sent to [EMAIL PROTECTED]



___
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 [EMAIL PROTECTED]


Re: clearing a toMany relationship fault

2008-09-04 Thread Michael DeMan

Shallow and Deep, with an optional depth setting?

Shallow is the current EO and its toMany, then stops.

Deep continues on through the graph to a depth of 'depth' ?

Shallow is a wrapper method of Deep with 'depth = 0' ?

This could be a very expensive operation if mis-used, but is badly needed.

- mike


Chuck Hill wrote:
This is something that really should get done as part of a refreshing 
fetch.  I think bugs have been filed on this, but another voice 
increases the priority.


Was there some other place you were thinking of having this called 
automatically?  It might be useful to add a refresh() method to 
ERXGenericRecord that would refresh the snapshot and all to-many() 
relationships.  But then... what about the related objects?  How far 
do you go?



Chuck


On Sep 3, 2008, at 5:04 AM, Lachlan Deck wrote:

Okay, so there's 
ERXEOControlUtilities.clearSnapshotForRelationshipNamed[InDatabase] 
(which saves me a few lines of code :) but which doesn't appear to be 
auto-called from anywhere(?). Would it be useful for there to be a 
property that does something like this automatically?


What I've now got in my ERXGenericRecord subclass now is:
public void awakeFromFetch( EOEditingContext editingContext )
{
super.awakeFromFetch( editingContext );
   
if ( editingContext == 
EOSharedEditingContext.defaultSharedEditingContext()
  
ISHApplication.ishApplication().hasFetchedInitialSharedRecordsForEntity( 
entityName() ) )

{
for ( Enumeration ?  en = 
classDescription().toOneRelationshipKeys().objectEnumerator(); 
en.hasMoreElements(); )

{
String key = en.nextElement().toString();
EORelationship inverseRelationship = 
entity().relationshipNamed( key ).inverseRelationship();
if ( inverseRelationship != null  
inverseRelationship.isToMany() )

{
EOEnterpriseObject eo = ( EOEnterpriseObject 
)valueForKey( key );

if ( eo != null )
// this next line covers Anjo's code from the 
wiki page below

ERXEOControlUtilities.clearSnapshotForRelationshipNamed( eo, 
inverseRelationship.name() );

}
}
}
}

This is working fine. Is there any suggestions on anything else that 
might need doing for completeness?


On 03/09/2008, at 5:07 PM, Lachlan Deck wrote:


Hi Simon,

On 03/09/2008, at 4:37 PM, Simon McLean wrote:


this might help:

http://en.wikibooks.org/wiki/Programming:WebObjects/EOF/Using_EOF/Caching_and_Freshness#Refreshing_Many-to-Many_Relationships 



Yes - that's exactly the sort of stuff I'm trying to solve.

Question: is there some property in Wonder that does this 
automatically?



On 3 Sep 2008, at 07:34, Lachlan Deck wrote:


Hi there,

just wondering ... how would I go about clearing the faults for 
certain toMany relationships of an object. i.e., I'm iterating 
through certain toMany keys and I want to obtain the faults 
without firing them (best case scenario) and then clear them so 
that they are refreshed.


Any suggestions?


with regards,
--

Lachlan Deck



___
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/chill%40global-village.net 



This email sent to [EMAIL PROTECTED]




___
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 [EMAIL PROTECTED]


Re: processing incoming e-mails

2008-07-15 Thread Michael DeMan

Hi All,

Thanks for the help, I have what I need now - james and subetha + a  
little code snippet from Mike Scrag.  Actually, I didn't specify my  
problem set clear enough, and I know the intended recipients of e- 
mails, so I think Mike's stuff will work the easiest for what I need  
right now.


Amusingly, I also received earlier today a marketing e-mail from Chase  
Manhattan.  When I hit their unsubscribe link, I got a  
'org.apache.james' exception, an hour later, it worked.  Their little  
spam campaign must have overloaded their unsubscribe server ;)


Thanks again for the help!

- mike

On Jul 15, 2008, at 7:31 AM, Philippe Rabier wrote:


Hi Pascal and other,

I'm not sure that solution meets requirement because, as far as I  
understand, Michael is looking for a solution that analyzes every  
incoming email for any recipient, that would allow to ignore some  
emails for example.


But all solutions proposed (http://james.apache.org/ or http://subethasmtp.tigris.org/) 
 aim to replace existing smtp servers, I guess. It could be tricky  
to integrate in an existing infrastructure. Or do I miss something ?


Philippe


On 15 juil. 08, at 02:38, Pascal Robert wrote:

One solution would be to store the emails to an account and fetch  
it by IMAP. Works great, I have 3 apps who's doing this.



Hi,

I was wondering if anybody could recommend an open source package  
for processing incoming e-mails.


Basically, we need a way to receive an e-mail body (the mail  
server by piping it directly into a java app on STDIN or a socket)  
that processes it, putting attachments as blobs into the database,  
tagging it as 'owned' by the recipient if the recipient already  
exists in the database, etc.


I can find all kinds of stuff out on the net for delivering e- 
mail, but very little about receiving it.




Michael DeMan



___
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/prabier%40mac.com

This email sent to [EMAIL PROTECTED]


___
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/mdeman%40ubermind.com

This email sent to [EMAIL PROTECTED]







 ___
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 [EMAIL PROTECTED]

processing incoming e-mails

2008-07-14 Thread Michael DeMan

Hi,

I was wondering if anybody could recommend an open source package for  
processing incoming e-mails.


Basically, we need a way to receive an e-mail body (the mail server by  
piping it directly into a java app on STDIN or a socket) that  
processes it, putting attachments as blobs into the database, tagging  
it as 'owned' by the recipient if the recipient already exists in the  
database, etc.


I can find all kinds of stuff out on the net for delivering e-mail,  
but very little about receiving it.




Michael DeMan



___
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 [EMAIL PROTECTED]


Re: WO 5.4.2 is out

2008-07-01 Thread Michael DeMan
ADC reports it as a 'nightly build' as of June 10th 2008, along with a  
nice big disclaimer on 'prelease' software.


This is actually ideal, if they could do prelease for people to get  
feedback to Apple with, and then when the real releases come out they  
are solid.


Question is, what is this?

- mike


WebObjects Nightly Builds

WebObjects 5.4.x, 5.5 nightly builds in Maven 2 repository format
Download Name   File Size   Date Posted
WebObjects Nightly Build (Zip)  36 MB   10 Jun 2008


On Jul 1, 2008, at 12:44 AM, Johann Werner wrote:


Hi list,

seems that WO 5.4.2 has gone final now. The knowledge base article  
for the OS X Server 10.5.4 update lists Includes the Web Objects  
5.4.2 Update.
However as I can see the 10.5.4 client update does not include that  
WO update. Unfortunately it is not available as separate download  
yet. Perhaps WO 5.4 will be usable finally? ;-)


jw





___
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 [EMAIL PROTECTED]


Re: WO 5.4.2 is out

2008-07-01 Thread Michael DeMan
The below certainly appears to be the 'real thing' given that  
version.plist file.


The contents of the ADC ZIP file shows it is a different animal, does  
anybody know what this is and/or how to install it?


I would be more than happy to move one of my development machines over  
to one of the prerelease versions and keep an eye out for any  
regression bugs and such.



drwxr-xr-x   2 staff   476 Jun  8 20:00 5.4.2-SNAPSHOT
drwxr-xr-x   2 staff   374 Jun  8 20:00 5.5-SNAPSHOT
drwxr-xr-x   2 staff   374 Jun  8 20:00 5.6-SNAPSHOT
-rw-r--r--   1 staff   474 Jun  8 20:00 maven-metadata.xml
-rw-r--r--   1 staff32 Jun  8 20:00 maven-metadata.xml.md5
-rw-r--r--   1 staff40 Jun  8 20:00 maven-metadata.xml.sha1


- mike



On Jul 1, 2008, at 3:51 AM, Johann Werner wrote:


That is what my version.plist looks like after applying the update:

keyBuildVersion/key
   string21/string
   keyCFBundleShortVersionString/key
   string5.4.2/string
   keyProjectName/key
   stringJavaWebObjects/string
   keySourceVersion/key
   string1034/string

so I would confirm that. Though I don't know if this is still a  
build taken from nightly as Michael suggested, that would be very  
uncommon for Apple to include a beta (or even alpha) version of a  
product in an official OS X update (ok, sometimes the OS itself  
seems in beta stage but you know what I mean... ;-)


jw


Am 01.07.2008 um 12:34 schrieb Miguel Arroz:


Hi!

Does that mean that installing the 10.5.4 update on a Server will  
automatically upgrade WO to 5.4.2? That would be a bit aggressive,  
specially for people who are deploying 5.3 apps on Leopard... Yes,  
I know I should embed the frameworks, but I still didn't have time  
to do so.


Yours

Miguel Arroz

On 2008/07/01, at 08:44, Johann Werner wrote:


Hi list,

seems that WO 5.4.2 has gone final now. The knowledge base article  
for the OS X Server 10.5.4 update lists Includes the Web Objects  
5.4.2 Update.
However as I can see the 10.5.4 client update does not include  
that WO update. Unfortunately it is not available as separate  
download yet. Perhaps WO 5.4 will be usable finally? ;-)


jw

___
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/arroz%40guiamac.com

This email sent to [EMAIL PROTECTED]


http://www.survs.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/mdeman%40ubermind.com

This email sent to [EMAIL PROTECTED]








___
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 [EMAIL PROTECTED]


Re: WO 5.4.2 is out

2008-07-01 Thread Michael DeMan
Yes, I see now -  a little googling shows me that I must have ignored  
some e-mail threads about all this a while back.


- mike

On Jul 1, 2008, at 12:11 PM, John Huss wrote:

You know, if you want to test the prerelease builds you can use  
Apple's new nightly Maven repository and get new nightly builds  
every night.


John

On Tue, Jul 1, 2008 at 12:31 PM, Michael DeMan [EMAIL PROTECTED]  
wrote:
I would be more than happy to move one of my development machines  
over to one of the prerelease versions and keep an eye out for any  
regression bugs and such.









 ___
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 [EMAIL PROTECTED]

Re: Backtracking and Safari

2008-06-06 Thread Michael DeMan

Hi,

Ironically, I  just bumped into some back tracking issues as well.

Setting the appropriate headers in the response, plus adding the  
little iFrame per the apple FAQ works great for session based pages  
where a form has been submitted, and such, but does not work at all  
for direct actions.


Use case is something like:

(A) User goes to a DirectAction for a customer execute a purchase.

(B) Customer executes the purchase, a 'Thank You' page is returned  
(via pageWithName, session got created) and the session is terminated.


(C) In Safari, but not Thunderbird or IE6, the back up button allows  
anybody who comes to that computer to view the prior page, including  
credit card information.


I played a lot with even setting the page cache to zero, forcing a URL  
key/value pair on the link to the direct action, all to no avail.


Does anybody know a workaround for this?

If the user says has a field validation error, and additional pages  
are inserted between (A) and (B) above from reporting validations and  
having the user correct mistakes, those pages operate as expected, but  
even then, it is still possible for a determined user to back up all  
the way to the very first direct action page and see all the data on  
that original page.  Seems maybe Safari is filling in the field values  
itself from some sort of local cache?


Thanks,

- mike

On Jun 6, 2008, at 12:24 AM, Joe Moreno wrote:


Chuck,

	When I start wondering if Safari is caching a page or if it's my  
own bug I add something useless to the end of the URL (i.e. either  
server side or client side via JavaScript). Usually, I'll just tag  
on a key/value pair such as ?t=1212726377311 which is simply the  
time. To Safari, and any proxy servers, this appears as a new request.


- Joe


On Jun 3, 2008, at 17:24:12, Chuck Hill wrote:


Hi,

Safari, at least as of version 3.1.1 (5525.20) does not seem to  
respect the headers that control local page caching.  The Safari  
FAQ claims to show how to do this:

http://developer.apple.com/internet/safari/faq.html#anchor5

Returning
last-modified = (Wed, 04-Jun-2008 00:10:53 GMT);
cache-control = (no-store, no-cache, must-revalidate, max-age=0,  
post-check=0, pre-check=0);

expires = (Mon, 26 Jul 1997 05:00:00 GMT);
date = (Wed, 04-Jun-2008 00:10:53 GMT);
pragma = (no-cache);

still results in Safari using the local cache instead of making a  
trip back to the server.  The Web Inspector in Safari show that it  
is getting these headers, but it seems to ignore them. I have  
reported this to Apple.


Obviously, this has rather serious implications for those of use  
deploying dynamic web applications.  The back button is hard enough  
to deal with when the browser works correctly!


Any suggestions for work arounds gratefully attempted.

Chuck








___
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 [EMAIL PROTECTED]


Re: WO 5.4 / Axis 1.4 / Deserialization

2008-02-28 Thread Michael DeMan

Hi,

Yes, running a separate web-services layer to restrict the API  
available via SOAP/XML and not vending the EOs out directly is the way  
to go.


However, it is nice to have EOs that know how to serialize themselves  
for different kinds of purposes so those methods are available to be  
used elsewhere, or if there is any business logic in to be done during  
the serialization process, that can be handled in the EO itself not in  
the web services application.



Here is the scenario I am thinking about, maybe I'm missing something...


Say, a custom report showing detailed online sales for the day before.

The first array, the list of purchases can be fixed touching only the  
web services layer only, modifying the POJO class to vend the  
purchases as a WOStringKeyMap.


However, each Purchase object serializes itself, possibly executing  
some business logic while doing it, and inside the Purchase is another  
array of Products that were purchased.


Fixing this up would require modifying the business logic layer - a  
wrapper method in the Purchase EO?


serializeForDetailReport() - is say the pre-existing method and is  
also relied on elsewhere.


serializeForDetailReportUsingWOStringKeyMap() - would have to be made  
as an additional wrapper method in the Purchase EO to implement the  
workaround of not being able to vend out arrays to 5.4.1 web services  
consumers.


Now if for some reason, a Product also has an array inside it, then  
yet another wrapper is needed, etc.


- mike

On Feb 26, 2008, at 3:55 PM, David den Boer wrote:

A slightly better way to use webservices (especially if you expect  
them to be consumed by non-WO applications) is to use primitive types.
For instance, if you need to return an array of Foo, the return type  
for the service method would be Foo[].
We never expose our EO's via webservices, we usually wrap them in  
POJOs which have very specific attributes for the service and non- 
required attributes are not exposed.


David.

On Feb 26, 2008, at 7:22 PM, Michael DeMan wrote:


Okay,

This workaround seems to work.  On the server side I put my array  
elements in as keys for a WOStringKeyMap and modified the client to  
get the result array back out via allKeys().


This is a huge problem however as every service, including EOs that  
contain arrays, would need methods changed/wrapped to return  
WOStringKeyMap instead of arrays, and this of course would have to  
be done for both the server and client applications.


Does anybody know if Apple has a prioritization on getting this  
fixed?


From what I can tell so far this basically makes WO5.4/5.4.1  
unusable as a web services consumer (unless of course you never  
need to use arrays).


- mike


On Feb 25, 2008, at 1:41 PM, Art Isbell wrote:


On Feb 25, 2008, at 9:09 AM, Michael DeMan wrote:

Does anybody know if the item noted on the posting below is fixed  
in 5.4.1, and if not, could anybody describe the workaround?


http://www.mail-archive.com/webobjects-dev@lists.apple.com/msg15103.html


It is apparently not fixed in 5.4.1.

	A workaround would be to rewrite each Web service method that  
returns NSArray to return WOStringKeyMap.  Each Web service client  
would then need to extract the array from the WOStringKeyMap.  Not  
ideal, but this should work.


Aloha,
Art



 ___
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/ddenboer%40apple.com

This email sent to [EMAIL PROTECTED]




 ___
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 [EMAIL PROTECTED]

Re: WO 5.4 / Axis 1.4 / Deserialization

2008-02-26 Thread Michael DeMan

Okay,

This workaround seems to work.  On the server side I put my array  
elements in as keys for a WOStringKeyMap and modified the client to  
get the result array back out via allKeys().


This is a huge problem however as every service, including EOs that  
contain arrays, would need methods changed/wrapped to return  
WOStringKeyMap instead of arrays, and this of course would have to be  
done for both the server and client applications.


Does anybody know if Apple has a prioritization on getting this fixed?

From what I can tell so far this basically makes WO5.4/5.4.1  
unusable as a web services consumer (unless of course you never need  
to use arrays).


- mike


On Feb 25, 2008, at 1:41 PM, Art Isbell wrote:


On Feb 25, 2008, at 9:09 AM, Michael DeMan wrote:

Does anybody know if the item noted on the posting below is fixed  
in 5.4.1, and if not, could anybody describe the workaround?


http://www.mail-archive.com/webobjects-dev@lists.apple.com/ 
msg15103.html


It is apparently not fixed in 5.4.1.

	A workaround would be to rewrite each Web service method that  
returns NSArray to return WOStringKeyMap.  Each Web service client  
would then need to extract the array from the WOStringKeyMap.  Not  
ideal, but this should work.


Aloha,
Art

 ___
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 [EMAIL PROTECTED]

WO 5.4 / Axis 1.4 / Deserialization

2008-02-25 Thread Michael DeMan

Hi All,

Does anybody know if the item noted on the posting below is fixed in  
5.4.1, and if not, could anybody describe the workaround?


http://www.mail-archive.com/webobjects-dev@lists.apple.com/msg15103.html



Basically, I have a fairly simple application that runs fine with WO  
5.3 client against 5.3 and 5.4 server.


Running the client on WO 5.4 however fails the same way with the  
server running on either 5.3 or 5.4.



I get the following exception on an array of String objects..  It  
seems related to the list posting described above?



 org.xml.sax.SAXException: Deserializing parameter  
'authenticateReturn':  could not find deserializer for type {http://schemas.xmlsoap.org/soap/encoding/ 
}Array



Thanks,

Michael DeMan

 ___
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 [EMAIL PROTECTED]

quick question

2006-02-20 Thread Michael DeMan
Does anybody know if:validateForSave() calls validateForInsert() if an object is not in the database yet?I need to do some transaction oriented stuff and want to validate all my object fields so I know its okay, execute a transaction on a 3rd party system, then insert/save my object.I was thinking that calling validateForSave() before my 3rd party transaction would work, but it seems to be calling validateForInsert() somewhere.I'm not 100% sure if it is, and if it is, whether that is the correct behavior or whether I have some custom validation code that is causing it to do that.- mike Michael DeMan   ___
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 archive@mail-archive.com

command line EOF + WOContext

2006-02-04 Thread Michael DeMan
Hi All,I have a new (old for me) twist on the old WebObjects command-line start up type stuff.We run nightly jobs for accounting and other things, and I need to be able to mail out WOComponents for statements, trouble ticket reminders, etc.The only way I have ever been able to get a command line WOApplication to be able to do this was to have it send itself a bogus WORequest and then call session() from the direct action in order to get it to instantiate a session, and thereby, a WOContext.I am wondering if there is a clean programmatic way to do this.I have taken numerous tries at this issue over a couple of years and cannot figure out any other way to do it.  I always get NULL WOContext in the ways that I have tried, etcI know it may seem odd to even want a WOContext from a command line batch job, but I gotta have that in order to get my e-mail WOComponents, at least it seems that way to me.Thanks, Michael DeMan   ___
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 archive@mail-archive.com

Re: Managing EOF caching

2006-01-20 Thread Michael DeMan

Hi Jerry,

A couple of other items off the top of my head in order to manage  
your memory utilization as you start trying to take advantage of the  
EOF caching...


1. assuming you are not using undo().

defaultEditingContext().undoManager().setLevelsOfUndo(1);


2. On your snapshots, the method you want to drop that to less than  
an hour for refresh is:


defaultEditingContext().setFetchTimestamp()

It used to be that EOF still did not flush out the snapshots  
correctly but I believe that was fixed a couple of years ago.



Apple badly needs to get a Tech Bulletin on EOF memory and  
performance optimization.  There are probably a few hundred people at  
most with deep WO/EOF experience on this stuff and they all have  
their bag of tricks and nobody knows each other's tricks that well  
and all the tricks have one caveat or another.  WO works great for  
small apps, but the minute you get a decent sized application the  
tuning becomes an issue.



On Jan 20, 2006, at 10:20 AM, Jerry W. Walker wrote:


Hi, Mike,

Thanks for taking the time to do this.

If I understand your test correctly, in each of the two cases,  
you've looped through the 10,000 EOs updating a single one of your  
12 attributes. You then did a saveChanges to update the database,  
resulting in 10,000 individual SQL updates hitting the database,  
correct?


So, the result was 10,000 round trips to the DB, one for each row  
updated?


If all of that is correct, and if it's a trivial change to test,  
would it be possible to test the difference between a SINGLE locked  
column vs all columns locked?


You've taken the time to do something helpful here and I don't want  
to reward you by suggesting you need to do a lot more work, but the  
test I'm suggesting would put the results more in line with the  
original contention, that locking a single attribute saves a  
significant amount over locking all the attributes (in your case, 12).


If you would rather not take the tests any further, would you mind  
sending me a tarball of your current test project? I would be  
pleased to do it.


If all of the above is correct, your results say that the  
difference for a single update is approximately:


27.753 sec / 10,000 = 2.7 ms / update

 vs.

7.111 / 10,000 = .7 ms / update

So we've achieved a 2 ms savings per update between no checking and  
checking 12 columns.


If that's the case, my untested (ignorant?) opinion that the  
difference is insignificant (and is probably less than 10 ms)  
stands corrected. Much as I hate to be wrong, my yearning for facts  
over both my ignorant opinions and other WO old wive's tales  
leads me to offer you unequivocal thanks for your efforts.


Regards,
Jerry

On Jan 20, 2006, at 12:54 PM, Mike Schrag wrote:



I haven't done any timings, but I find it hard to believe that  
this technique will effect any significant savings for most  
databases. As Art indicates, the only effect of reducing the  
number of lock columns is to correspondingly reduce the number of  
columns in the WHERE clause for updates and deletes.
I've always wondered this, too, so I threw together a quick test.   
I created two identical entities which have 3 ints, 3 booleans, 3  
strings, and 3 dates as properties, but one locks all attrs and  
one locks none.  I then inserted 10,000 of each into the db,  
followed by an update of the same attribute for each with the same  
change in value.


This was run on the latest version of FrontBase on an Intel iMac  
with WO 5.3:


Main.main: 1 with all columns locked = 25753ms
Main.main: 1 with no columns locked = 7111ms

So in this test, it is 3.6x faster to not lock any columns in this  
example, with this database, one this hardware.  Obviously db  
benchmarks are never this simple, so take this with a grain of salt.


ms




--
__ Jerry W. Walker,
   WebObjects Developer/Instructor for High Performance Industrial  
Strength Internet Enabled Systems


[EMAIL PROTECTED]
203 278-4085office



 ___
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/michael% 
40geminisolutions.com


This email sent to [EMAIL PROTECTED]


___
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 archive@mail-archive.com


Re: Managing EOF caching

2006-01-19 Thread Michael DeMan

Oh, one more item.

If you can, do saveChanges() frequently.  Don't sacrifice the  
integrity of your sandbox (EOEditingContext), but don't abuse it either.


The best I can tell, nobody at Apple has messed much with the  
saveChanges code and it still runs on a lot original stuff from the  
late 90s.  In essence, my guess is that it is technically correct but  
nobody ever optimized it and its probably so complicated to optimize  
that everybody is afraid to do it.  I know if I worked at Apple, the  
last thing I would want to be responsible for is making 'saveChanges 
() in EOF go faster' and some how introducing bugs.


The catch with saving changes often is transactional.  Wherever  
possible, if you know that you can commit the sandbox to the  
database, do it, it will save massive CPU cycles.  There is something  
really bad in the saveChanges() method that is at least on the order  
of n^2 or worse.


The way to theorize this is to break your stuff into well know  
transactions that have to be committed to the database completely.   
Also, you can avoid saveChanges *AND* blow away your cache by using  
stored procedures on the database side.  Instead of saving changes,  
lock your EOEditiingContext, use the stored procedure to commit, and  
mark the committed objects+tables as 'dirty' in the snapshot.


If you are using nested editing contexts and a bunch of those fancy  
'out of the box widgets' then even this may not help without some  
detailed time spent on the code.



On Jan 19, 2006, at 1:35 AM, Michael DeMan wrote:

The cheezy option is always hardware.  Quick fix, and usually  
pretty cheap.  Definitely not elegant.


If this is a production application, I would check swap utilization  
on the server, and if its low, and especially if there are some  
bucks for a few extra GB of RAM, do as follows:


1. Get the production system working, deferring the elegant work  
with a crappy fix.  i.e., make sure you have lots of RAM and toss  
parameters into your shell or Monitor startups like:

-Xms512m -XX:NewSize=4m -Xms256m

right along with your -DWOAutoOpenInBrowser=false statements, etc.

Your apps will get huge, but keep in mind that on a decent UNIX  
system with WebObjects (and nearly any server-side java app) you  
can expect a good 100MB+ of RAM to be unused, shared, and swapped  
out forever.  When you look at RAM utilization, only look at whats  
resident.


2. In regards to more elegant solutions, look at some of the  
fetches and/or 1:M relationship accesses you do in the  
application.  You can take some of those subroutines and when  
they're done, have them discard only those objects from your  
primary editing context and snapshot that they brought in for their  
local use and that you expect will not be needed in the near future.


3. Even if they are needed in the near future, have your database  
do the work and optimize your fetches to include only the columns  
of data you need and where possible use stored procedures.   
Obviously on this one 'near future' means minutes not milliseconds.


4. If you need the stuff in RAM, buy more RAM!

5. If you're running multiple instances, implement a global cross- 
instance EODatabaseObjectStoreCoordinator (or whatever the class is  
called, I forget right now), that will cache all your data in one  
spot across all your instances on the same host.  You need to do a  
little bit of inter-process notification, but its a well understood  
methodology and you can find snippets at www.wosource.com.


My 2-cents anyway.

- mike

On Jan 18, 2006, at 10:20 AM, Ken Anderson wrote:


Dave,

It depends.  If it's a to-one relationship, and either:

a)  The object is already in your current editing context from  
your fetch, or
b)  The object is in a different editing context, but the database  
snapshot is recent enough for your editing context to accept it


then yes, there will be no database activity.  This is because the  
object can be found or created purely based on the global ID,  
which can be constructed because a to-one relationship requires  
you to know the entire primary key.


However, if the snapshot is old, your editing context might refuse  
the snapshot and request a fresh one (it depends on that context's  
timestamp or the default timestamp lag).


Lastly, to-many faults will always require a trip to the database,  
since the set information is not known.  You can always improve  
this by setting the to-many relationship to batch fault.  Don't  
forget though, if only one instance of a to-many fault exists at a  
particular time in the context, no amount of batch faulting will  
help you.  Another way to improve this is to have a method in your  
class that determines the to-many grouping via an in-memory  
qualification (if you already have a group of objects you know are  
the superset).  This of course gets dicey, because you're doing  
EOF's job...but some circumstances might warrant it.


To answer your original

Re: Managing EOF caching

2006-01-19 Thread Michael DeMan

Hi,

Sounds like your hardware situation is okay.  Doesn't matter what the  
specs are, as long as its got plenty of unused memory.  You can  
always trade RAM for CPU cycles.


You are correct on blowing away your editing contexts impacting  
performance heavily.  Of course, the other side of the coin is that  
if you never do that over time EOF will try to cache the entire  
database in RAM...


Here's a couple small things to look at...

#1.  Review your EOModel and make sure you are locking only on  
columns you need to.  On fresh applications I've always put in a  
dateLastUpdated column in each object and lock only on that.  A super  
class called GSGenericRecord implements the following as part of  
validateForSave().  There is overhead in EOF with the snapshot code  
in locking.  I'm not 100% sure, but I think the snapshot only tracks  
the columns that you have marked as used for locking in your model.   
This will save your memory in your snapshot and and reduce the  
overhead in saveChanges() when EOF has to review the current data  
against the snapshot.


You can actually add this code to your GenericRecord super class and  
add the column to all your tables on the fly, and defaulting the  
column to NULL if 3rd party applications are inserting into the  
database.  If 3rd party apps are updating other columns live, then  
you''ll have to keep those as locked columns anyway though.


public void validateForSave() throws  
NSValidation.ValidationException ()
  if (dateLastUpdated()==null) setDateLastUpdated(new NSTimestamp 
());

... do rest of validation...
  }


#2. If you have certain objects with many columns and you need to  
only work with some of those columns, make a subclass of your main  
class in EOModeler.  The subclass will include only the columns you  
need plus of course the columns you lock on.  This way EOF will not  
pull in the extra columns of data, reducing SQL overhead and again  
RAM utilization.  This is only helpful once you've identified which  
columns are needed for locking - if you lock on every column, then  
your 'mini' class has to include every column otherwise


#3. As you are doing now, review each and every place that you do  
invalidateAllObjects() or whatever else that blows away the data.   
Comment out everywhere that you think it is not absolutely needed and  
perhaps even make a session method wrapper for EZ maintenance for  
invalidateAllObjects() that also logs out your application memory  
size, number of objects in the editing context (total, changed,  
inserted, deleted), etc, so you can review those logs later on to see  
exactly how much work is being done with each call.  Again, I usually  
subclass EOEditingContext for these handy-dandy wrappers and  
implement defaultEC() in MySession to return MyEditingContext and ec 
() in my GenericRecord to return MyEditingContext() for convenience  
methods.


You also have to modify your Session constructor to instantiate  
MyEditingContext instead of EOEditingContext when it first gets created.


Subclassing EOEditingContext is extremely useful as you can do a lot  
of magic there, and at minimum, have a quick and easy way to override  
the standard methods to get some high quality logging information.



I'd be interested in staying in touch on your progress with this as  
performance/memory utilization is always tricky business with larger  
WO applications and its interesting to see what works in what kinds  
of conditions.  Another common workaround I've seen is using raw row  
fetches on 'search' and 'list' pages to avoid bringing in large  
numbers of objects into the editing context.  However, since your app  
is transactional not a web-application, that probably wouldn't work  
here.


- mike


On Jan 19, 2006, at 7:27 AM, Dave Rathnow wrote:



This application runs on a dual processor (2GHz I think) machine  
with 4GB of RAM so memory isn't much of an issue.  Also, throwing  
hardware at this problem hasn't resulted in any great improvements  
so we have to start doing opitimization of the code.  The good news  
is that we are currently using very little for the 4GB so enabling  
EOF caching should enable us to get by for the short term.


The app has all the -X options to give it lots of memeory but,  
because we are waxing the EC, we use very little memory.  This, of  
course will change.  The app also runs on a Windoz box so the  
options for tuning are limited.


Thanks,
Dave.

-Original Message-
From: Michael DeMan [mailto:[EMAIL PROTECTED]
Sent: January 19, 2006 02:36 AM
To: Ken Anderson
Cc: Dave Rathnow; 'webobjects-dev@lists.apple.com'
Subject: Re: Managing EOF caching


The cheezy option is always hardware.  Quick fix, and usually pretty
cheap.  Definitely not elegant.

If this is a production application, I would check swap utilization
on the server, and if its low, and especially if there are some bucks
for a few extra GB of RAM, do as follows:

1. Get

Re: license

2005-11-11 Thread Michael DeMan

I think mostly this is clarification relevant to java-client stuff?

Apple's interest would most likely be the server-side components?

Either that, or Steve Jobs is planning to roll out 'slabs' or 'thin  
clients' or 'the next great thing' again?  This time with a little  
broader support than being the crazy kid.



- mike


On Nov 11, 2005, at 4:01 AM, Mike Schrag wrote:

or is it the license.rtf in WebObjects.mpkg/Contents/Resources/ 
English.lproj/license.rtf:


D.  WebObjects Software.  Subject to the terms and conditions of  
this License, you may use, install and permit others to access the  
WebObjects deployment software included with the Developer Software  
to deploy application programs developed using Apple’s WebObjects  
Software.  You may also reproduce and distribute:  (1) over a  
network, components of the WebObjects deployment software for  
installation and use by others (“Java Client End Users”) on any  
remote computer’s volatile memory (e.g. RAM) to enable Java Client  
functionality for the sole purpose of communicating with Apple’s  
WebObjects Software that may be installed and executed on the same  
Apple-labeled computer on which you have installed the Developer  
Software (the Licensed System); and (2) both manually and  
automatically over a network, components of the WebObjects  
deployment software for installation and use by Java Client End  
Users on any remote computer’s non-volatile memory (e.g. ROM) to  
enable Java Client functionality for the sole purpose of  
communicating with Apple’s WebObjects Software that may be  
installed and executed on the Licensed System; provided that all  
distributions to Java Client End Users are made under terms that  
are at least as restrictive as those set forth in this License and  
contain the disclaimers and limitations set forth in Sections 6 and  
7 of this License.  Subject to the terms and conditions of this  
License, you may also deploy server applications built with the  
WebObjects Software on any platform.


I assume it's actually this one, noting the last sentence there  
(and bbum's blog, which matches :) ).


ms

On Nov 11, 2005, at 6:56 AM, Mike Schrag wrote:


Is http://www.apple.com/legal/sla/webobjects.html the new license?

ms
___
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/mschrag% 
40mdimension.com


This email sent to [EMAIL PROTECTED]


 ___
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/michael% 
40geminisolutions.com


This email sent to [EMAIL PROTECTED]


___
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 archive@mail-archive.com