Re: Pushing for WebObjects?
a) Leopard deprecated the Java-ObjC bridge support making the legacy tools fail to function properly without this support being reimplemented somehow. b) The legacy tools were well overdue for a rewrite c) Eclipse + WOLips had gained substantial traction internally and within the WO community and had reached the point of being a viable replacement. d) Xcode was never going to compare with Eclipse as a Java IDE. I have a slightly different take on item d). While I agree exactly with the statement, I think it important to point out that Xcode is a really great IDE. Just not a great Java IDE. I use Xcode for Cocoa/ Objective-C development and it is by far my favorite IDE to use. It was not, and will likely never be a great Java IDE. Transitioning WO development to Eclipse (a true Java IDE) I'm sure has now freed Apple to focus Xcode on Cocoa/Carbon development (C based development). And this focus has gone a long way to allow key improvements to their Macintosh software development tools. ___ 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: Auto Save form data
I haven't really thought this through thoroughly, but I think I would try some like the following: 1. Create a table used specifically for storing the auto-save data. 2. Use a PeriodicalUpdater (something like the one used in Prototype JavaScript library). I recommend this because you probably want to reduce the overhead of an AJAX call every time the field is changed. Maybe a 1 to 5 minute auto-save would work. It sounds like you're trying to replicate an auto-save similar to MS Word (or as you mentioned Google Docs). 3. Make sure you time-stamp the temporary auto-saves and associate them with the user. Now in the case of some failure, you'll be able to look for any unsaved documents allowing the user to have the option of recovering from the last auto-save. Time-stamping will allow you to create a background job to systematically clean out old temporary auto-saves. 4. Once the real document is saved successfully you would then destroy the temporary auto-saves for the user's editing session. In any case you'll need AJAX to accomplish this. Browsers displaying a form just sit there doing nothing until the form is submitted. So your solution will certainly need the assistance of JavaScript (or some other client-side code) to get the job done. On Oct 30, 2008, at 7:52 AM, David Avendasora wrote: I am not an AJAX expert, but... I think the only real choice you have is to use Project Wonder and the AJAX tools contained that it has. http://projectwonder.blogspot.com/ is good reading to learn a bunch about Wonder http://webobjects.mdimension.com/wonder/ is where the actual downloads are. http://wiki.objectstyle.org/confluence/display/WONDER/Tutorials has a bunch of tutorials including how to install. Basically, you'd surround the fields you want to automatically save to the DB with an AjaxObserveField component, then each time a field is changed, the action would submit those values and save them to the database. This will make the save relatively transparent to the user. This will completely mess with any type of validation you may have, including required attributes and relationships, etc. Dave On Oct 30, 2008, at 7:21 AM, shravan kumar wrote: Hello Group, Thought many people already have the below described feature integrated to their apps and whereby I would like to know best practices and ways to achieve the below requirement: We have a fancy need where we need to automatically save some part of data in a form - data entered by user in text area - to database. This save operation should not obstruct user from continuing feeding data to form. Basically save operation should happen seamlessly, some people call it as asynchronously. This is something I see when using Google Docs. Thanks in advance. Thank You, Shravan ___ 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% 40avendasora.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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker Bennett Technology Group [EMAIL PROTECTED] (770) 957-1866 790 ___ 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: [OT] Thanks for the memories …
Art, I also want to wish you the best. You have been an inspiration to me over the years I've known you within this community. Although I hardly touch WebObjects anymore, I do try to keep up with the community in case I ever have the chance to get back into WebObjects development. Enjoy your retirement and your new home. With respect, Robert Walker On Oct 14, 2008, at 2:15 PM, Chuck Hill wrote: Art, I will try and choke back my envy at the thought of retirement long enough to write this. :-) We have been very fortunate to have you as a member of this community. I will sorely miss your wit and technical contributions to the list. I have learned a lot from your contributions over the years and will remain grateful for that. As I have a long held hatred of cold, snow and fish, I look on your decision to move from Hawai'i to Sweden with a sense of awe and, uh, something else I can't quite pin down. I do hope that you enjoy life's next adventure! Chuck Hill P.S. Does Uppsala sound a like OOPSLA? www.oopsla.org On Oct 11, 2008, at 12:42 PM, Art Isbell wrote: It is with some excitement, both of the positive and negative sorts, that I am ending my 18-year career as a software developer. I attended NeXT Developer Camp in May, 1990. However, I was unable to find work using this incredible technology until late 1991 when I quit my Unix programming job to take a 6-week contract programming job with NeXT working at Informix to port WINGZ to NeXTSTEP 2.0 (or was that NeXTstep 2.0? :-). From there, I spent 5 or so years developing and maintaining a large NeXTSTEP/ OPENSTEP desktop application that, in its inception, used beta versions of DBKit, then moved on to ever-increasing versions of EOF. With NeXT apparently heading toward oblivion, I decided that I had better move to their only technology that might have a future, WebObjects, if I wanted software development to remain fun. Fortunately, NeXT saved Apple (or was it the other way around? :-) As a result, WebObjects has had more lives than a cat. I have stuck with it through thick and thin, eventually crossing over to the mother ship in 2001 where I continued with WebObjects development internally while providing WebObjects support for organizations under contract. I have been extremely fortunate to have been able to develop applications using NeXT's and now Apple's technologies. I have not had to deal with the drudgery that most developers face using other technologies. I'm sure that most of you understand. But the time has now come to move on to the next phase of my life: retirement! I have been living in Honolulu since 1997, finally being able to return after 2 wonderful years in the early 1970's. But life in Honolulu and the U.S. in general has deteriorated considerably during my lifetime (and especially during the past few weeks :-( so I have decided to give Sweden a try. My Swedish-born wife and I moved to Uppsala on 22 September and are starting our lives anew. But this time without WebObjects … and without software development of any kind. Time to learn Svenska. So I am signing off webobjects-dev and webobjects-deploy. It has been a genuine pleasure to associate virtually with so many truly talented and generous people. Few outside this community can really appreciate the experience. Lycka till! Aloha and hej då, Art Isbell ___ 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] -- Chuck Hill Senior Consultant / VP Development Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker Bennett Technology Group [EMAIL PROTECTED] (770) 957-1866 790 ___ 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: Open page in a popup window
Also it might be worth while to note that the target attribute is not valid in XHTML strict documents. So JavaScript I suppose is the modern way to open new windows in a browser. On Oct 8, 2008, at 1:30 PM, Chuck Hill wrote: On Oct 8, 2008, at 9:13 AM, Kieran Kelleher wrote: add this binding to your WOHyperlink ... jsut a pass-thru standard HTML attribute... target = _blank; if you are using Wonder and want more control, there is also ERXJSOpenWindowHyperlink, e.g. ShowAd: ERXJSOpenWindowHyperlink { action = showDetails; string = adKey.adKeyString; disabled = isCurrentAdsAdKey; target = ~Ad_ + adKey.adKeyString; id = ~Show_ + adKey.adKeyString; width = 1100; height = 510; positionAtCursor = isSafari; scrollbars = no; titlebar = no; toolbar = no; urlParameters = onCloseJS; } .is ... hmm ... nice to see we have WO developers in Iceland :-) More than one and for quite a while! You have to come to WWDC and see Hugi's hot women attracting ability. There are pictures to prove it too! Chuck -- Chuck Hill Senior Consultant / VP Development Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker Bennett Technology Group [EMAIL PROTECTED] (770) 957-1866 790 ___ 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: Notifications
I'm not sure if this works for what you are trying to do, but will EOEditingContext.ObjectsChangedInEditingContextNotification give you what you want? If so then your should be able to register your class to receive these notifications from the notification center. On Aug 29, 2008, at 4:33 PM, Ted Archibald wrote: I've been racking my brains for a while now and I can't figure out how notifications work. What I want to do is trigger a method in a session(or application) after an ERXGenericRecord has been updated/inserted. I'm pretty certain that I want to use notifications to do this, but I am lost when it comes to setting one up with the NotificationCenter. Any ideas? ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: [OT] video tag
What does it do with the standard embed technique of old? On Aug 28, 2008, at 3:41 PM, Pascal Robert wrote: Anyone here using the video tag with Safari? I don't understand why it's so slow. I have to display a QuickTime movie who is a export of a presentation done with Keynote, and some visual transitions are done between the slides. When I use this : video id=BoiteVideo src=http://localhost/calendriers/videos/ direction_x.mov autoplay/video Safari take +95% of CPU on my MBP when the transitions are displayed. If I run the same video directly in Safari or QuickTime Player, the transitions runs smoothly and take ~45% of CPU time :-/ So beware if you use this tag, it look like it's not optimized (and I also tried a WebKit version from June 9, same result). --- Pascal Robert http://www.macti.ca http://www.linkedin.com/in/macti Skype: MacTICanada AIM/iChat : MacTICanada ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Getting Eclipse to build a project imported from CVS
Create those directories. It may be that CVS does not automatically create empty directories. I don't recall. This is correct as far as I can remember; CVS does not track empty directories. Also, how do I move the build output outside of the project? I don't know or even know if you can. Couldn't you use svn:ignore property to ignore the build directory? SVN should be happy enough with that. On Aug 27, 2008, at 2:15 PM, Chuck Hill wrote: On Aug 27, 2008, at 10:03 AM, Roger Perryman wrote: I recently converted a project from Xcode to Eclipse (3.3.2). After some initial hurdles, I had the application up and running. I still have many warnings to clear up but the major errors from the conversion are cleared up. The next step was to get the new project under version control. I had been using CVS but decided to switch to SVN. I was able to get Subversion (or is that Subclipse? Or Subversive? it all gets so confusing!) to mostly work from the command line (using svnserve and ssh) but not from within Eclipse. I was able to successfully check out the Subclipse source to verify that the plug-in was working. I want to use SVN with ssh but have not been able to find a working example. It should just go if your svn repository is setup correctly. See File - Import - SVN Since there have already been several delays due to the whole conversion process, I decided to stick with CVS for now. It took about 10 minutes to get CVS working. I checked in the converted project. Another person then checked out the project (using the CVS Repository perspective, expand the tree, select the module I checked in and choose Check Out). Everything appeared to work OK. However, the project wont build. It is missing the bin and build directories and the Build option is grayed out. How do I get the project to build again? Create those directories. It may be that CVS does not automatically create empty directories. I don't recall. Also, how do I move the build output outside of the project? I don't know or even know if you can. I also checked out a fresh copy of the project with the same results. I'm sure it is something simple, but I'm just not seeing it. Any and all help would be appreciated. Chuck -- Chuck Hill Senior Consultant / VP Development Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Safari default, but Firefox for development tip....
So, what about any plugin architecture for Safari? Anyone have experience with this? I also really like the new dev tools built into Safari/WebKit, so that takes care of at least most of what you get with Firebug. However, for the other plugins and tools available for Firefox I was wondering if anyone had any experience with plugin support for Safari. Not that I'm expecting a huge plugin community for Safari as there is for Firefox, but who knows what the future may bring. I am very impressed with the latest builds of WebKit/Safari 4.0. In my opinion Safari has now surpassed all other browsers. I've run the benchmarks myself and the latest web standards tests, and Safari is beating all other browsers I've tested, hands-down. The new SquirrelFish JavaScript engine is really impressive beating Firefox 3.0 by around 75% (SunSpider benchmark). And Safari's latest builds are passing the ACID 3 test 100% with a pixel perfect rending (compared to the reference image). I'm not sure about the animation must be smooth requirement of the test, but that seems very subjective anyway. What constitutes smooth and who's the judge of that? That being said I was impressed with the results. And if I remember correctly, I believe that Safari is the only browser I've tested that actually handles display: inline-block; correctly. I remember having to resort to floats, where it would have made more sense to use inline-block recently. It looked fine in Safari, but only in Safari. Note: before I get a stream of replies to this about Opera, or your favorite browser, it is not among my tested browsers. I have only checked these things in Safari 4.0 (Developer Preview)/WebKit, Firefox 2 and 3, and Internet Explorer 6 and 7 (which should be banned from the internet due to stupidity). On Jul 30, 2008, at 1:02 PM, Kieran Kelleher wrote: Thanks John . WebKit has come a long way since I last looked nice yes, the devtools are nice there And if WebKit is not your default everyday browser, but you want to use it for WebObjects app development, just change the WOOpenURL script to: snip #!/bin/bash # Open argument with firefox /usr/bin/open -a WebKit $1 /snip Cheers, Kieran On Jul 30, 2008, at 10:55 AM, John Huss wrote: Have you seen the new developer tools in the WebKit nightly builds? They are at least on par with Firebug or, I daresay, even better. http://nightly.webkit.org/ John On Tue, Jul 29, 2008 at 11:55 PM, Kieran Kelleher [EMAIL PROTECTED] wrote: I like Safari as default for general web-surfing, but I prefer Firefox for WebObjects development I just like the HTML/CSS/ Firebug/Selenium/etc/etc tools/plugins in FireFox for web development. However WOLips/Eclipse always autoopens in the default system browser ... well this was bugging me, so here is a tip if u want to hardcode which browser is auto-opened when you launch your WebObjects app in Eclipse . simply replace current file (was a soft link on my system) at: /System/Library/WebObjects/Executables/WOOpenURL with an executable shell script containing the following: snip #!/bin/bash # Open argument with firefox /usr/bin/open -a Firefox $1 /snip You can specify any application you want with the -a argument. (Firefox or Xylescope or Webkit for example) Regards, Kieran ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/johnthuss% 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/kieran_lists% 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Design Question: Hiding inherited attributes?
Maybe I'm misinterpreting your question, but couldn't you just make another Entity on the same table that only included the columns you're interested in? On Jun 18, 2008, at 3:14 PM, James Cicenia wrote: Hello - I would like to somehow make an object that subclasses an EO but only the subclass's attributes are visible. Is this possible? Thanks James Cicenia ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: More efficient web service choice
I would also recommend taking a look at Representational State Transfer (REST). I have not made any attempt myself to implement REST in WebObjects, but it has become part of my daily routine when working in Ruby on Rails. The following, rather comical, look at SOAP vs REST is what actually got me interested in REST. And, this was before the RoR team had fully embraced REST as the way to do web services. The S Stands for Simple I'm not saying that REST is absolutely the option for you, I'm saying that it's just as viable as SOAP for doing web services, and that I find it to be a good lightweight alternative to SOAP. P.S. This is NOT intended to be a plug for RoR. All I'm saying is that RoR is opinionated software, and their preference is REST over SOAP. In this regard I agree. On Jun 17, 2008, at 3:34 PM, Andrew Lindesay wrote: Hello John; You may be interested in my JSON-RPC infrastructure in LEWOStuff; http://homepage.mac.com/andrewlindesay/le/page_lestuff.html See subsection 0.5.23 JSON-RPC of the overview PDF and then read around other areas of the PDF where you can find JSON-RPC. When the WOWODC videos come out I also did a talk this year on this material as well. In my work, I have found this to be substantially more enjoyable and straight-forward to work with in comparison with AXIS/WO, but I am not 100% sure what .Net or Win32 JSON-RPC libraries there are. cheers. I'm going to be implementing a web service with WO and was wondering if there was a way to do this using something other than the extremely verbose SOAP messages. It's a private service, so I can do whatever I want, but ideally it would be easy to setup both the client and server. And the clients will be native windows applications. SOAP seems to be the easy path, but I'm worried about the size of the messages since there are going to be a LOT of them. Any suggestions? ___ Andrew Lindesay www.lindesay.co.nz ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Looking forward to 5.4.2
I can make a prediction that is probably as accurate as anything you'll likely get from Apple. I'd say sometime soon after June 9. I wouldn't expect to see anything before that date. On May 29, 2008, at 6:30 AM, Gennady Kushnir wrote: Hello, All Does anybody know when WO 5.4.2 is going to be officially released? It seemes to have numerous bugfixes, some of which I really need. People say it is already a part of iPhone SDK... but I'm afraid, it can not be considered as release. And I'm not shure it would be a good idea to experiment with my employers server trying to merge those libraries there witout an official installer. Gennady ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: iPhone and WebObjects
* There is no drag event or hover event on the iPhone, so any UI that you use that expects to receive them is out of luck. I _believe_ this extends to scrollable divs, btw. One quick note: Scrollable divs can be scrolled on the iPhone using 2 fingers similar to the MacBook[Pro] trackpad. On May 21, 2008, at 9:40 AM, Mike Schrag wrote: I was thinking about playing around with iPhone to my WO apps and was wondering if anyone on the list was doing this now and if there were any suggestions, best practices, or even starting hints. I would say the big decision is whether you're making an iPhone Interface or a Mobile Interface. We went for a mobile interface that is heavily tested on the iPhone (meaning we didn't constrain ourselves to the iPhone user experience and look). Random tidbits: * General consensus seems to be that you should not require people to use the mobile version if their user-agent is a mobile, or rather you can send them by default, but you should allow them to get back to the full version (since the iPhone is a real browser, someone may want to use the non-mobile version, which is usually restricted in some way). * The iPhone can change aspect ratios, so test in both portrait and landscape to be sure your site doesn't look silly. * There is no drag event or hover event on the iPhone, so any UI that you use that expects to receive them is out of luck. I _believe_ this extends to scrollable divs, btw. * The iUI Project ( http://code.google.com/p/iui/ ) can give you a head start if you're trying to make an iPhone-looking interface, but just know that it's fundamentally unsuited for use with component actions and will be a complete disaster if you try to use it like that. You can either 1) choose to use it DA-only, 2) steal their CSS and make a version of your own (also know that the full- screen slidey effect is actually sort of tricky to pull off this way, so potentially you will sacrifice that effect or spend a lot of time reproducing it for component actions), 3) ERIUI framework is going to be committed one of these days, but it's just not cleaned up and finalized yet -- it's basically a rewrite of the iUI Javascript, but based on the iUI CSS, but with support for component actions, and provides a bunch of component wrappers for all the iPhone widgets. The interesting part here is that you actually may end up making a BETTER user experience by NOT trying to be an iPhone app because people will have such demanding expectations of what the iPhone native interface looks like (not to mention iPhone 2.0 comes out and who knows if they will change the user experience, potentially obsoleting all your hard work emulating it). But this is just a decision you have to make. * Apple has some content on developing web apps for the iPhone on their iPhone dev site. * Javascript is not nearly as fast as it is on your desktop. If you're doing lots of animation effects (other than with the brand new CSS animation stuff in WebKit, which is natively optimized), you're probably going to be a sad panda. * Get the iPhone Dev Kit ... It's REALLLY handy to be able to test your app in Safari inside the iPhone Simulator rather than on your phone all the time. * Profit 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Need WWDC 08 ticket [OT]
There you guys go passing on FUD again.. Hehe. Just kidding! I'd be pretty concerned too, if I actually got to go to WWDC this year. I'm going to really miss being there. Oh well, maybe next year. On May 20, 2008, at 12:49 PM, Mike Schrag wrote: I can confirm that you are fully registered to attend WWDC 2008. This E-Ticket appears on the ADC Member Account Active Assets page It appears that they DID count all the Premier members as attending WWDC. I also retract all my leveled accusations :) Kudos, Apple ... 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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]
WO problem on Windows Server 2003
Hello list, I need some help with a problems deploying an application to a Windows 2003 Server box. WO seems to be running fine and we install a very simple WO test application that seems to be starting and running fine. But, when trying to connect directly to the application on port 2001 I'm getting this error in Safari: Safari can’t open the page “http://10.1.17.86:2001/” because the server unexpectedly dropped the connection, which sometimes occurs when the server is busy. You might be able to open the page later. This is a clean installation of WebObjects 5.2.3. We have not setup IIS yet but wanted to make sure the direct connect worked first. Any ideas what what's causing the connection to drop. By the way this error is immediate there is no delay before getting the error. It seems the connection is dropped immediately on access. Robert Walker [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 problem on Windows Server 2003
Art, I thought the same thing and asked our system admin if they were running a firewall. They say they aren't, but that definitely sounds like what's going on here. I'll double check with them to make sure. On May 16, 2008, at 3:27 PM, Art Isbell wrote: On May 16, 2008, at 9:22 AM, Robert Walker wrote: I need some help with a problems deploying an application to a Windows 2003 Server box. WO seems to be running fine and we install a very simple WO test application that seems to be starting and running fine. But, when trying to connect directly to the application on port 2001 I'm getting this error in Safari: Safari can’t open the page “http://10.1.17.86:2001/” because the server unexpectedly dropped the connection, which sometimes occurs when the server is busy. You might be able to open the page later. Is port 2001 open to external access? I.e., might a firewall be blocking external access to port 2001? 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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 problem on Windows Server 2003
According to our system admin the firewall on this test box is disabled. On May 16, 2008, at 3:27 PM, Art Isbell wrote: On May 16, 2008, at 9:22 AM, Robert Walker wrote: I need some help with a problems deploying an application to a Windows 2003 Server box. WO seems to be running fine and we install a very simple WO test application that seems to be starting and running fine. But, when trying to connect directly to the application on port 2001 I'm getting this error in Safari: Safari can’t open the page “http://10.1.17.86:2001/” because the server unexpectedly dropped the connection, which sometimes occurs when the server is busy. You might be able to open the page later. Is port 2001 open to external access? I.e., might a firewall be blocking external access to port 2001? 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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 problem on Windows Server 2003
Port 1085 responds normally with XML response. Port 2001 is open using port scan. On May 16, 2008, at 3:44 PM, Art Isbell wrote: On May 16, 2008, at 9:37 AM, Robert Walker wrote: I thought the same thing and asked our system admin if they were running a firewall. They say they aren't, but that definitely sounds like what's going on here. I'll double check with them to make sure. Do you have any better luck with http://10.1.17.86:1085/? You could use OS X Network Utility to do a port scan of 2001 to see whether it's open. 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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 problem on Windows Server 2003
The app was launched from JavaMonitor and happens to be running on port 2001. This entire machine is a test box and is being used to train a system admin on setting up WebObjects on Windows 2003. We normally run WO on Xserves, but for one of our applications we must run on Windows 2003. The reason for that is we needed to provide an API to a Windows only program, which we communicate directly to from WO and provide an API though web services. The program we are integrating with otherwise cannot be access over a network.So rather than running a development instance we are just setting up a test program using JavaMonitor. It just happens to start assigning ports from 2001 "out-of-the-box." By the way we are not setting the argument to disable direct connect mode.I've tried everything I know, but most of my experience is deploying to Xserves. I'm not a Windows guy so I don't know what might be blocking access to the program on port 2001.On May 16, 2008, at 4:00 PM, Chuck Hill wrote:And you launched the app with -WOPort 2001? That is NOT by default a direct connection port or a development mode port.On May 16, 2008, at 12:57 PM, Robert Walker wrote: Port 1085 responds normally with XML response. Port 2001 is open using port scan.On May 16, 2008, at 3:44 PM, Art Isbell wrote: On May 16, 2008, at 9:37 AM, Robert Walker wrote: I thought the same thing and asked our system admin if they were running a firewall. They say they aren't, but that definitely sounds like what's going on here. I'll double check with them to make sure. Do you have any better luck with http://10.1.17.86:1085/? You could use OS X Network Utility to do a port scan of 2001 to see whether it's open.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/robert.walker%40bennettig.comThis email sent to [EMAIL PROTECTED] Robert Walker[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/chill%40global-village.netThis email sent to [EMAIL PROTECTED] -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.http://www.global-village.net/products/practical_webobjects Robert Walker[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: Versioning ... CVS or Subversion?
I just scanned though this thread and, unless I missed it, I didn't see any mention of Mercurial (hg for short). I recently stared using hg and have also begun experimenting with git. Both are really great and have some minor pros and cons between each other. But, IMHO either is far superior to SVN for my workflow and development style. SVN for me was a huge step up from CVS, which often made me want to shoot myself trying to resolve conflicts that other team members threw at me on a nearly daily basis. I have always hated the virtual tether that centralized SCM impose. If you not connected to your repository directly, you can't commit your changes. That drove me nuts every time I was working away from the office. Distributed SMS like hg or git make all those headaches go away. I can freely branch, commit, checkout or whatever all completely isolated from any central repository. It's really wonderful. Now for my thoughts on SCM plugins for IDEs: Frankly, I really don't care if they are there or not. I do all my repository work in one of the greatest tools ever invented; the UNIX command line. Nearly all IDE plugins for SCM are limited in a least some way. They don't tend to support everything you really need. The command line is different. Every feature the SMC system has to offer is available and there's no question of the maturity of some plugin. But, that's just me. :-) +2 hg +1 git -1 svn -999 cvs On May 14, 2008, at 2:54 PM, Chuck Hill wrote: On May 14, 2008, at 10:56 AM, Gennady Kushnir wrote: Are they hiring? :-P Russian citizens only. ;-) Ah well... someone wants to spend a workday without Internet? :-o I have an almost endless list of reading, writing, and experimenting that I would like to do. This work thing keeps getting in the way. Chuck 2008/5/12 Chuck Hill [EMAIL PROTECTED]: On May 12, 2008, at 12:23 PM, Gennady Kushnir wrote: P.S. For those who are stunned about lacking internet on the workplace of web-developer =) My web development is not done for them - they don't care about it (so they won't implement repository for me in LAN). They don't much care about my activities there - I could even play games. I just should be on my place in time... well occasionolly someone may need me also... Are they hiring? :-P -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Inheritance...
Agreed, The only time vertical inheritance makes sense if when you always fetch against leaf nodes of the inheritance tree and only if the inheritance tree is very shallow. Take that to mean one level deep of inheritance with an abstract root entity that you never fetch against. Anything more complex than that I would recommend single-table. My 2 cents. On May 7, 2008, at 3:54 PM, Chuck Hill wrote: On May 7, 2008, at 12:48 PM, Florijan Stamenkovic wrote: Hi all, In the [slightly OT] data modeling question there is some talk of drawbacks of inheritance, specifically of vertical inheritance... Since I am currently contemplating implementing a reasonably complex system, and have thought of using vertical inheritance, this has got me worried. So, what's the deal??? My situation: a structure of over 10 entities (15ish), inheritance up to 4 levels in depth. The amount of records per entity will be quite small (ranging from 5 - maybe 30), so I do not worry about performance. Many operations will be defined on the topmost entity. Relationships will almost always relate to the topmost entity, which will be abstract. I might want to define additional subentities in the future. Subentities will have a sufficient amount of their own properties to discourage me from single table inheritance. Horizontal might do, I do not think I will be changing the existing structure once made. I've never done inheritance till now. Am I going to commit suicide over this? You might want to check for suicide exclusions in your life insurance policy. :-) David Avendasora was using Vertical with JC. He stopped. Maybe he can provide some pointers. My advice would be to ignore that Subentities will have a sufficient amount of their own properties and use Single Table. Or, failing that, Horizontal. Vertical is the least efficient and the least used hence has a higher probability of bugs. Chuck -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Inheritance...
Vertical or horizontal? With vertical this will still select on the root, won't it? That's actually a good question. It will have to select against the root, obviously, to pick up those attributes, but I don't think it then calls all the other siblings if you call against a leaf node, but I could be wrong about that. I think it has a similar performance hit as a one-to-many relationship when accessing leaf node. But, if you call the root node I thought it would then access the entire tree, which can be really bad. On May 7, 2008, at 4:27 PM, Chuck Hill wrote: On May 7, 2008, at 1:14 PM, Robert Walker wrote: Agreed, The only time vertical inheritance makes sense if when you always fetch against leaf nodes of the inheritance tree and only if the inheritance tree is very shallow. Take that to mean one level deep of inheritance with an abstract root entity that you never fetch against. Anything more complex than that I would recommend single-table. My 2 cents. Vertical or horizontal? With vertical this will still select on the root, won't it? Chuck On May 7, 2008, at 3:54 PM, Chuck Hill wrote: On May 7, 2008, at 12:48 PM, Florijan Stamenkovic wrote: Hi all, In the [slightly OT] data modeling question there is some talk of drawbacks of inheritance, specifically of vertical inheritance... Since I am currently contemplating implementing a reasonably complex system, and have thought of using vertical inheritance, this has got me worried. So, what's the deal??? My situation: a structure of over 10 entities (15ish), inheritance up to 4 levels in depth. The amount of records per entity will be quite small (ranging from 5 - maybe 30), so I do not worry about performance. Many operations will be defined on the topmost entity. Relationships will almost always relate to the topmost entity, which will be abstract. I might want to define additional subentities in the future. Subentities will have a sufficient amount of their own properties to discourage me from single table inheritance. Horizontal might do, I do not think I will be changing the existing structure once made. I've never done inheritance till now. Am I going to commit suicide over this? You might want to check for suicide exclusions in your life insurance policy. :-) David Avendasora was using Vertical with JC. He stopped. Maybe he can provide some pointers. My advice would be to ignore that Subentities will have a sufficient amount of their own properties and use Single Table. Or, failing that, Horizontal. Vertical is the least efficient and the least used hence has a higher probability of bugs. Chuck -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/ robert.walker%40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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/chill% 40global-village.net This email sent to [EMAIL PROTECTED] -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects Robert Walker [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: OT: RoR
How about let's not be drones and propagate FUD. A bit of research and the truth can be known: http://twitter.com/ev/statuses/801530348 From what I can tell the issue that caused this FUD in the first place had nothing to do with the framework. They appear to have lost a database server. So maybe it was poor planning, or possibly the wrong architecture for the particular job. Now maybe RoR had something to do with it, but none of use here are involved enough to truly know. All that being say I still say, Go WebObjects. But, just because we have something great doesn't give us the right to bash others and spread FUD. On May 3, 2008, at 10:37 AM, David LeBer wrote: On 3-May-08, at 8:40 AM, James Cicenia wrote: http://www.techcrunch.com/2008/05/01/twitter-said-to-be-abandoning- ruby-on-rails/ Maybe we should start write-in campaigns. Go WebObjects GoOo. Or maybe not (considering the source): http://ismikearringtonadick.com/ ;david -- David LeBer Codeferous Software 'co-def-er-ous' adj. Literally 'code-bearing' site: http://codeferous.com blog: http://davidleber.net profile: http://www.linkedin.com/in/davidleber -- Toronto Area Cocoa / WebObjects developers group: http://tacow.org ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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
Also, isn't the whole iPhone SDK still under NDA protection anyway? None of it is publicly released is it? On May 1, 2008, at 10:21 AM, Mike Schrag wrote: As far as I'm concerned, if it's not an official release, it's not final. I'm not even sure the legality of deploying frameworks from the iPhone SDK, but why take the chance. I would consider it beta even if it technically isn't. ms On May 1, 2008, at 10:12 AM, Ricardo Parada wrote: Is WebObjects 5.4.2 that is in the iPhone SDK a beta version of WebObjects or is it gold version of 5.4.2? I was asked that during a presentation I had about Eclipse, WOLips and WO 5.4.2 and I did not know the answer? :-) ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Leaving WebObjects
Am I missing something? How can anyone say that OpenLaszlo is any less proprietary than WO. WO is a framework of some Java classes. At my office we use ADF/BC an Oracle framework of some Java classes. OpenLaszlo is a framework of, well I don't know what, but it certainly isn't any less proprietary. Code written in OpenLaszlo would still need to run with dependency on that framework correct? I guess what I'm asking is to define what you mean by proprietary. Or do you really mean open source? I'm guessing that OpenLaszlo is open source, but does that make it any less proprietary? On Apr 9, 2008, at 12:44 PM, Robert B.Hanviriyapunt wrote: Man, I really wish the problem were resources. I, myself, am a supporter, a fan, a experienced developer of, an advocate of WebObjects. I personally have some issues with the fact that the native tools are gone (when and if I get to WO5.4). But as far as the business's decisions to nix WebObjects are the first two items: 1. WebObjects is proprietary 2. New versions of WebObjects are not supported on Windows If Apple would just take care of ONE of these two, the company would be super happy! *I'D* be happy! And we could get on with our lives. THEN, with the continued development with WebObjects I could ask you, James, for help and whatnot, or even get the ok to get another WebO guy in here! (Sorry, somehow people have been starting to say WebO to the chagrin of many) As for your response, Jeff, we have 3 developers (including me). The main developer is the director of technology. She's big on POJO, big on standard Java development, interested in RIA w/ OpenLaszlo, big on opensource stuff (I think her next plan is to use Java Server Faces w/ Struts), and has inherited an app that uses WebO for just session management and HTML rendering (UI). And she has decided to go OpenLaszlo w/ Struts on top of the existing Java-based core. Tools (for others, not me -- I requested a Mac) are Eclipse/WOLips. She let me have a Mac but often pops up the questions of unknown [Mac] platform issues even as I report that I account for any issues (which are really none -- I use XP on Parallels to run our apps and setup is a bit convoluted -- don't get me started). Yep, I'm a Mac guy thru and thru. I agree with you that WebO is much better designed, but somehow that is not evident to the powers that be. As for Linux, we have a .NET (black box) app we interface with and got a deal on DELL servers (I don't think XServes are ever getting in here). In general, we ARE in good shape ... with the exception that I've started working on an OpenLaszlo/Struts app (which is on hold) and am now on JSFaces development. I would LOVE to get back to WebO and even show them EOF! But perhaps it's too late. The only thing that can turn it around is the changes mentioned above (proprietariness and/or Windows support). = Robert = Robert Walker [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: Leaving WebObjects
of sense. ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Google App Engine
I don't know if it would be possible to integrate EOF and such a data store, as EOF is very tight to the relational model, without doing some heavy trickery Speaking of that, why do we continue the Cargo Cult of the relational database? Isn't it about time to move past them, and begin moving to persistent storage that makes sense in the modern age of objects? That's all I'll say on the subject. I'm not trying to start a long discussion that will all end in tears. On Apr 8, 2008, at 12:00 PM, Miguel Arroz wrote: Hi! Of course I was! :) I don't know if it would be possible to integrate EOF and such a data store, as EOF is very tight to the relational model, without doing some heavy trickery (ie, bugs, instability, limitations, etc). And there's also the problem of not being able to access it outside of the python sandbox. But being able to do queries against the google infrastructure is very very interesting, specially considering my permanent performance concerns with traditional DBs... Interesting note, they also use OL to handle concurrency. I hope their implementation actually works! :) Yours Miguel Arroz On 2008/04/08, at 16:54, Mike Schrag wrote: . but then i think you were only semi-serious ;) On Apr 8, 2008, at 11:53 AM, Mike Schrag wrote: I actually looked at this ... I'm not sure if you can access the datastore outside of the python API's running in the cluster. Amazon's is a possibility also, but the query capability is very limited, and joins would have to be implemented inside the adaptor. Google's at least appears to expose a SQL-like API, though I don't know how extensive it is. ms On Apr 8, 2008, at 11:46 AM, Miguel Arroz wrote: Hi! FYI: http://code.google.com/appengine/docs/ whatisgoogleappengine.html I bet Mike can't write an adaptor for the Datastore in a weekend... ;) Yours Miguel Arroz Miguel Arroz http://www.terminalapp.net http://www.ipragma.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/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/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/arroz% 40guiamac.com This email sent to [EMAIL PROTECTED] Miguel Arroz http://www.terminalapp.net http://www.ipragma.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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Google App Engine
I do agree, I hate relational DBs. The problem is that I still didn't find any other persistent store that: 1) Can scale and handle high load (in a real environment, not just on the spec sheet); 2) Is affordable/free; 3) Integrates well with powerful frameworks like WO. http://www.intersystems.com/cache/index.html I don't yet know a lot about this, but from reading their feature list, systems like this may be in our near future. Feature and Benefits: http://www.intersystems.com/cache/technology/fb/fb_02.html On Apr 8, 2008, at 12:24 PM, Miguel Arroz wrote: Hi! On 2008/04/08, at 17:12, Robert Walker wrote: Speaking of that, why do we continue the Cargo Cult of the relational database? Isn't it about time to move past them, and begin moving to persistent storage that makes sense in the modern age of objects? That's all I'll say on the subject. I'm not trying to start a long discussion that will all end in tears. I do agree, I hate relational DBs. The problem is that I still didn't find any other persistent store that: 1) Can scale and handle high load (in a real environment, not just on the spec sheet); 2) Is affordable/free; 3) Integrates well with powerful frameworks like WO. When something comes up that meets these criteria, I will move on the first day. I feel the same as you, it's incredible how little databases have evolved in the last decades. But if making a good alternative was easy, we would have lots of them around, I guess. Yours Miguel Arroz Miguel Arroz http://www.terminalapp.net http://www.ipragma.com Robert Walker [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: Google App Engine
One of our suppliers used this DB and it was, to use a technical term, a bag of crap. That was a few years back now, so it may have moved on a bit, but it's one of those things filed under avoid at all costs in my brain. Exactly why I made it very clear that I don't have any details on that database. I was merely suggesting that there is work being done in this area, and that I feel we will benefit from it sometime in the not-so-distant future. To me relational = reliable. It's a bit like EOF vs Ruby on Rails. Yeah, there's stacks of whizzy new bits of kit out there, but at the end of the day would you lay your life on something that's got just a few months under it's belt, or stick with something that's been running heavily used systems for years ? That's also the thinking that brings innovation to crawl. Sometimes that's necessary, and a very good thing. But, not everything must be absolutely bullet-proof stable. Plus there's nothing in either EOF or RoR that is inherently more stable or unstable. Poor, unstable code is as easy to write in WO as it is in RoR. At least in my experience anyway. It's interesting that you bring up the EOF vs Rails argument. If RoR was a completely unstable pile of crap, then its popularity would have faded long before now. There's some real innovation going on in that space. There's a lot of things to learn from looking at competing framework. I'm a big fan of EOF, but I'm also a big fan of RoR. I'll use the tool that best fits my requirements. Making blanket statements about a framework, based on hearsay, simply because it may compete with what you're using doesn't really do anyone any good. This is a trend that seems to be perpetual. I just try to step outside the arguments and take advantage of what each language and framework has to offer. My apologies, I will be quiet now. I didn't mean to start anything, but I want my point of view to be clear. On Apr 8, 2008, at 1:09 PM, Simon McLean wrote: One of our suppliers used this DB and it was, to use a technical term, a bag of crap. That was a few years back now, so it may have moved on a bit, but it's one of those things filed under avoid at all costs in my brain. To me relational = reliable. It's a bit like EOF vs Ruby on Rails. Yeah, there's stacks of whizzy new bits of kit out there, but at the end of the day would you lay your life on something that's got just a few months under it's belt, or stick with something that's been running heavily used systems for years ? Simon On 8 Apr 2008, at 17:55, Robert Walker wrote: http://www.intersystems.com/cache/index.html I don't yet know a lot about this, but from reading their feature list, systems like this may be in our near future. Feature and Benefits:http://www.intersystems.com/cache/technology/ fb/fb_02.html On Apr 8, 2008, at 12:24 PM, Miguel Arroz wrote: Hi! On 2008/04/08, at 17:12, Robert Walker wrote: Speaking of that, why do we continue the Cargo Cult of the relational database? Isn't it about time to move past them, and begin moving to persistent storage that makes sense in the modern age of objects? That's all I'll say on the subject. I'm not trying to start a long discussion that will all end in tears. I do agree, I hate relational DBs. The problem is that I still didn't find any other persistent store that: 1) Can scale and handle high load (in a real environment, not just on the spec sheet); 2) Is affordable/free; 3) Integrates well with powerful frameworks like WO. When something comes up that meets these criteria, I will move on the first day. I feel the same as you, it's incredible how little databases have evolved in the last decades. But if making a good alternative was easy, we would have lots of them around, I guess. Yours Miguel Arroz Miguel Arroz http://www.terminalapp.net http://www.ipragma.com Robert Walker [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: Leaving WebObjects
Robert, Welcome to my world. Our company recently completed just such a transition. We went to Oracle ADF/BC (A JSF implementation). All I can say is to prepare yourself to see your nice clean EOGenericRecord subclasses replaced by thousand plus line class and XML configuration files. But, the good news is those classes are a little easier to learn, because they do a whole lot less than enterprise objects. On Apr 8, 2008, at 2:50 PM, Robert B. Hanviriyapunt wrote: For some time now, my company has been set on leaving WebObjects. We have been running WebObjects 5.2 on Windows servers. We haven't moved 100% yet, but my next project will be using JavaServer Faces. And another fairly new project will be using OpenLaszlo with our existing J2E back-end. Company's reasons for leaving: 1. WebObjects is proprietary 2. New versions of WebObjects is not supported on Windows 3. Perceived lack of knowledgeable WebObjects programmers (I'm in the Chicago suburbs -- Northbrook, IL, to be precise) We do NOT use: 1. Xcode/WebObjects tools [Xcode or WOBuilder or EOModeler] (except for me on a MacBook Pro -- only because I requested it) 2. EOF 3. WONDER 4. Servlet container (which I do not prefer anyway) I personally enjoy WebObjects development and wish that WebObjects would be more palatable to companies such as mine. Please excuse the ranting, but I want someone at Apple to know that as great as WebObjects technology is [I personally think it is the BEST I've seen anywhere], it is losing ground because if it's lack in thet top 3 items mentioned. I wish so bad that Apple would do something about it. I'm guessing people's response will be: Don't hold your breath. Pity. :( = Robert = ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Why no 1to1 relationships?
Yes, it is possible to create one-to-one relationships, joined on the primary keys. One side of the relationship will need Propagates primary key, as has been mentioned. I just wanted to add one caveat to this configuration: The relationship will always be 1-to-1 and will never be 1-to-0. In other words if you created an instance of the entity on the side propagating the key, you will get an instance of the other side of the relationship. This will happen even if no fields are set on the other side. This means that if any attributes (other than the PK) on the other side of the relationship are set to required, neither object will save. Also if you attempt to create a new instance on other other side (not propagating the key) you will also have problems saving. As far as I recall this is the experience that I've had when attempting to do this. Because of these complications I now opt for the more flexible one-to-one style by setting it up in the model as a one-to-many relationship. Then force the many-side to allow only one or zero related rows though validation logic. This also makes me think of the Ruby on Rails associations mechanism for creating one-to-one relationships: One-to-one Master: has_one :detail Detail: belongs_to :master as opposed to the one to many setup... One-to-many Master: has_many :details Detail: belongs_to :master It seems to me that adding something along this line to EOF would be very useful, and not particularly difficult. I don't mean in the syntax above, but rather having a built-in way to constrain the many-side to allow only one. Come to think of it: Core Data supports this in its relationship configuration. It even goes a step further by allowing you to specified the number of related objects allowed. On Apr 2, 2008, at 1:48 PM, Jacky Gagnon wrote: Hi Jeff, I've decided to fully EOize my app to replace my current use of flat files, mainly to better deal with concurrency issues. In creating my analogous tables, I found that there's no way to specify a 1 to 1 relationship between tables using the Entity Modeler tool. Is there a specific reason for this? Or is it just figured that you might as well make it one to many anyway even if it is just one to one? You can specify «1 to 1» relationship with Entity Modeler. If the destination cannot be null, use the same id in the two tables. -In Properties Basic select : the cardinality «To One», your destination, and add your primary keys. -In Properties Advanced select : for the source object, check Propagates primary key and Owns Destination (if the destination object cannot exist without an owner). Good luck! Jacky If you're wondering why I want to do this, it's to hopefully reduce conflicts of multiple people updating the same record in a table. Is that generally a good reason to split 1 to 1 data into two tables? Thanks, Jeff ___ 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/jgagnon% 40druide.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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: DTJC running on the iPhone
I realize that I'm probably in a minority here, but I am not looking forward to Java, of any sort, coming to the iPhone. If you're interested in writing iPhone applications, use the native iPhone SDK and build a real iPhone application. Objective C is not that far a leap from Java and you would have native access it all the iPhone APIs. The fear I have of Java coming to the iPhone is that if it exists, people might think about using it. I've felt the same way about desktop applications to be honest. The only time I ever choose to use a Java application on the desktop is when there's absolutely no other choice. However, I do understand the appeal of write once, run anywhere. In practice, though, it generally makes for a less than stellar user experience. For example, I've been less than impressed with any Java based IDE I've used. I'm amazed at what the developers have been able to accomplish with these IDEs, but every time I open one I wish it was a native application. I miss the responsiveness of Xcode and wish there existed a Mac OS X native IDE that understood the Java language to the depth of Eclipse or NetBeans. I'm not holding my breath waiting for one though. Anyway, I'm sure we'll see Java come to the iPhone, I just hope it is made clear for any apps using it so that I can avoid them. I wouldn't want anyone installing a Java VM on my iPhone without making it very clear that it's happening. On Mar 9, 2008, at 12:05 PM, David Avendasora wrote: Java Client on the iPhone/iPod Touch could be really cool, but without custom UI extensions to deal with the touch interface, I think you'll end up with a very non-Touch feel and therefor alien- feeling app. Sure it would be functional, but not really a Touch application. Now, with Swing/SWT/Whatever-Touch extensions, that has possibilities... As far as Direct To Java Client, unfortunately I think it is all but dead. It's deprecated, even though I've had some success getting it running under 5.4.1, it is no longer supported and the number of people out there using it numbers in the handful. D2JC was wonderful and I'm really not looking forward to building every piece of my JC UI from scratch, but I think it's time to move on, to more robust and supported Java Client technologies. Florijan Stamenkovic's, Paulo Sommaruga's or similar new JC framework should really be at the core of any WO Java Client app moving forward. Dave On Mar 8, 2008, at 11:30 PM, Baiss Eric Magnusson wrote: Subject: Re: State of WO Java Client To: Development WebObjects webobjects-dev@lists.apple.com Your templates are converted and posted! http:// wiki.objectstyle.org/confluence/pages/viewpage.action?pageId=2655245 What's the word on JBND's WO 5.4.1 compatibility? Any issues that you know of? Dave Any thoughts from out there on running DTJC on the iPhone. I spent three months with DTJC and although the project went nowhere it was interesting to experience the native client feel. Sun announced they were going to make a J2ME for the iPhone. Objective-C might be more fun but that seems too much of a stretch. Baiss Eric Magnusson http://www.Track-Your-Finances.com http://www.CascadeWebDesign.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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Lifebeat
The lifebeat has nothing to do with your long running response problem. There are adaptor settings to adjust the send and receive timeouts. That being said, I am in complete agreement with Miguel. Adjusting the timeouts is not the best way to solve the long response issues. If your response takes more than a few seconds your users will assume something is wrong and will either start clicking on things, click their bookmark to get back to the sign-in page, or simply close the browser window. I you need to use a long running response, you need a way to inform your users that something is happening. A progress bar is nice, but if not possible, you need at least something to indicate that something is happening. The long response page is one way to do this, but an even better way could be to use an asynchronous AJAX request. In either case run the long processing in a separate thread as previously suggested. On Mar 4, 2008, at 2:22 PM, Miguel Arroz wrote: Hi! You are trying to solve the problem in the wrong way. If you have a long operation, you should do it on a separate thread, and use WOLongResponse or the Ajax similar to handle the user interface. That way, you won't have any problem with lifebeat. Yours Miguel Arroz On 2008/03/04, at 19:16, Valerio Luccio wrote: Hello, I have a WebObject application running on a Mac. Recently some operations have taken more than 30 seconds, which forces the application to restart. I've increased the lifebeat value to 60 through WOMonitor and when I look at how the process was launched, sure enough, I see -WOLifebeatInterval 60, yet the application still shuts down if it takes more than 30 seconds. Why is that ? How can I get this guy to behave the way I want ? Thanks, -- Valerio Luccio (212) 998-8736 Center for Brain Imaging4 Washington Place, Room 156 New York University New York, NY 10003 In an open world, who needs windows or gates? ___ 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] Miguel Arroz http://www.terminalapp.net http://www.ipragma.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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: Lifebeat
Oops, I wasn't thinking straight. Thanks Chuck for the correction. However, I am pretty sure handing the long response in a separate thread is the right way to go to solve the root problem right? On Mar 4, 2008, at 3:57 PM, Chuck Hill wrote: On Mar 4, 2008, at 12:06 PM, Robert Walker wrote: The lifebeat has nothing to do with your long running response problem. Hold on there, Valerio said: the application still shuts down if it takes more than 30 seconds That is wotaskd killing an unresponsive app, IIRC. The adaptor timeouts should not affect this. I thought that the lifebeat came through on a different request handler, but if it gets blocked by having concurrent request handling off, that could explain this. Valerio: WOLifebeatInterval controls how often the app is checked, not how long wotaskd waits for a response. I think we need more information: which version of WO, is concurrent request handling on or off, what do you see in the app log when it shuts down? Is the app running out of memory? Chuck There are adaptor settings to adjust the send and receive timeouts. That being said, I am in complete agreement with Miguel. Adjusting the timeouts is not the best way to solve the long response issues. If your response takes more than a few seconds your users will assume something is wrong and will either start clicking on things, click their bookmark to get back to the sign- in page, or simply close the browser window. I you need to use a long running response, you need a way to inform your users that something is happening. A progress bar is nice, but if not possible, you need at least something to indicate that something is happening. The long response page is one way to do this, but an even better way could be to use an asynchronous AJAX request. In either case run the long processing in a separate thread as previously suggested. On Mar 4, 2008, at 2:22 PM, Miguel Arroz wrote: Hi! You are trying to solve the problem in the wrong way. If you have a long operation, you should do it on a separate thread, and use WOLongResponse or the Ajax similar to handle the user interface. That way, you won't have any problem with lifebeat. Yours Miguel Arroz On 2008/03/04, at 19:16, Valerio Luccio wrote: Hello, I have a WebObject application running on a Mac. Recently some operations have taken more than 30 seconds, which forces the application to restart. I've increased the lifebeat value to 60 through WOMonitor and when I look at how the process was launched, sure enough, I see -WOLifebeatInterval 60, yet the application still shuts down if it takes more than 30 seconds. Why is that ? How can I get this guy to behave the way I want ? Thanks, -- Valerio Luccio (212) 998-8736 Center for Brain Imaging4 Washington Place, Room 156 New York University New York, NY 10003 In an open world, who needs windows or gates? ___ 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] Miguel Arroz http://www.terminalapp.net http://www.ipragma.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/ robert.walker%40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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/chill% 40global-village.net This email sent to [EMAIL PROTECTED] -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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
Re: Lifebeat
In the case that the delay is caused by the connection to the database, would the instance lock waiting on the response? Isn't the EOF stack essentially single threaded anyway? I'm guessing that even using a WOLongResponse page would not fix this problem. Would that be correct? Same would go for concurrent request handling right? On Mar 4, 2008, at 4:18 PM, Valerio Luccio wrote: Chuck Hill wrote: Are you running with concurrent request handling turned off? Which version of WO? Chuck WO 5.3.3. This is a Tiger machine, going to migrate to a Leopard and WO 5.4 in a few weeks. As for concurrent request handling ... you're testing the limit of my knowledge, how do I control that ? Miguel Arroz wrote: Hi! You are trying to solve the problem in the wrong way. If you have a long operation, you should do it on a separate thread, and use WOLongResponse or the Ajax similar to handle the user interface. That way, you won't have any problem with lifebeat. Of course you're right Miguel, but this is an exceptional case, that operation usually takes between 1 and 4 seconds and I didn't think it was worth separate threads. I don't feel like making the changes for something that has happened once in 3 years. If it happens more often I'll have to do some re-design. Chuck Hill wrote: Hold on there, Valerio said: That is wotaskd killing an unresponsive app, IIRC. The adaptor timeouts should not affect this. I thought that the lifebeat came through on a different request handler, but if it gets blocked by having concurrent request handling off, that could explain this. Valerio: WOLifebeatInterval controls how often the app is checked, not how long wotaskd waits for a response. I think we need more information: which version of WO, is concurrent request handling on or off, what do you see in the app log when it shuts down? Is the app running out of memory? Chuck OK, the WO version is above. I was under the impression that the WOLifeBeatInterval was supposed to control how long to wait between checks. The message in the log is: Exception while sending response: java.net.SocketException: Broken pipe The program would shut down after exactly 30 seconds of course today the operation is taking only 3 seconds so I cannot duplicate the error. In case you're wondering about the disparity in response time, the database is on a server that, over the years, has taken on more and more tasks. I've already ordered another server to offload all the file serving operations, but for the moment this baby had to endure and yesterday it was very busy. -- Valerio Luccio (212) 998-8736 Center for Brain Imaging4 Washington Place, Room 156 New York University New York, NY 10003 In an open world, who needs windows or gates? ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] Robert Walker [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: How to fetch eo with a specific relationship
For no reason other than I like its expressiveness, if you use Wonder you can just do this: EOFetchSpecification fs = new EOFetchSpecification(Product, ERXQ.equals(category, aCategory), null); Yes, I figured WOnder would have a better way. rant But, unfortunately I don't use WOnder, because I don't actually do WebObjects anymore. Certainly not by choice, but there it is. I now live in a dark, dark world of Oracle ADF/BC/SOA/BPEL/WSDL/WS-*/ JDeveloper. Example: Yesterday I generated a web service proxy for one service. When going to checkin the new files to Subversion I was amazed to see 84 new files. They talk a lot about SOA and how it's going to save the world through decoupling. But 80-100 files per web service (none of which contain any custom code, those are just auto-generated support files). How can that not be a complete nightmare to maintain? /rant The only glimmer of light in my dark existence is my personal projects that I do in Rails. Hopefully, one day soon, I'll be able to break free from the chains of Java EE and SOA. I do try to keep in touch with the WO community, although I admit that's getting more difficult as things have progressed past my recent experience with WO. Thank Mike. Thanks Mike! On Feb 6, 2008, at 3:34 PM, Chuck Hill wrote: On Feb 6, 2008, at 12:09 PM, Louis Demers wrote: Thanks to all for quickly educating me on this subject. On 6-Feb-08, at 11:32 , Robert Walker wrote: 1) that is a specific case where exposing/using primary keys is OK ? Well, you CAN use PK, even it is not a good idea to manipulate it directly. ERXGenericRecord, from Project Wonder, has the method primaryKey () that return a string with the value of the PK, you do not need to set the field as manipulated (I don't know how to say it) in the EOModel. EOFetchSpecification can use EOs. EOF will take care of performing the fetch using the object's PK. 1. Find the Category object you're interested in. 2. Build a fetch specification using that category instance to find the related products. Example: Category aCategory; // assume this exists EOQualifier qual = EOQualifier.qualifierWithQualifierFormat (category = %@, new NSArray(aCategory)); EOFetchSpecification fs = new EOFetchSpecification(Product, qual, null); For no reason other than I like its expressiveness, if you use Wonder you can just do this: EOFetchSpecification fs = new EOFetchSpecification(Product, ERXQ.equals(category, aCategory), null); Thank Mike. Chuck that is exactly what I was trying to figure out. My intuition was steering me away from 2) but I could not remember why or find the message where I had read about this performance issue. Thanks again Robert and the others. 2) setup the reverse to-many relationship ? IMHO, this is the best way to do it: always set a inverse toMany relation for every ToOne, well, if you know that you'll never use it, you can avoid to set an inverse relationship, but in this case, you should find it usefull. At least if using standard EOF classes, having the reverse to- many relationship as a class properly on the EO can cause very major performance problems because the to-many fault can get fired when you don't expect it. This can happen even if you never directly access the to-many relationship. I've had nightmares about this very problem in the past. I now consider the implication of adding the to-many side as a class property. If I expect it could return more than a few hundred objects then I don't use it. I still model the to-many side, I just don't set it as a class property. It's entirely possible that Project WOnder classes take care of this problem. I just wanted to make sure you were aware of it. You could also add method to the Category class using the above fetch specification that returns the related parts in an array. This way you can use it just like you had a relationship, but you would not have to worry about the fault firing problem. This is the approach I generally take when I'm concerned about the number of related objects. On Feb 6, 2008, at 10:26 AM, Daniele Corti wrote: 2008/2/6, Louis Demers [EMAIL PROTECTED]: Hi, I have 2 EO, Part and Category. Part has a to-one relationship to Category. Category does not have a reverse to-many relationship. Through a search/listing page of categories, the user can select a Category and I wish to present all of the parts from this category. I was hoping to not used the fields of the categories (like name, type...) to do the search, and really use the EO itself as the selection criteria. That lead meto consider using the primary key, but every book /messages I looked through discourages one to use primary keys/global ids. My guesses are: 1) that is a specific case where exposing/using primary keys is OK ? Well, you CAN use PK, even it is not a good idea to manipulate it directly
Re: How to fetch eo with a specific relationship
: advertising, can't log in, power switch and what backup? --Alistair Young ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: How to fetch eo with a specific relationship
Yea, the reason I like to have the to-many in the model but not as a class property is so that I can do this. - User model - public void validateForDelete() throws NSValidation.ValidationException { super.validateForDelete(); // Deny delete rule for driverLogs relationship if (Utilities.countRelatedEnterpriseObjects(this, driverLogs).intValue() 0) { throw new NSValidation.ValidationException(Delete was denied! This user has related driver logs. Disable login instead.); } } - Utility class - /** * Convenience method that returns the count of related records using raw SQL */ public static Number countRelatedEnterpriseObjects(EOEnterpriseObject sourceEO, String relationshipKey) { // First make sure the relationship is to-many and has unary keys EOEntity sourceEntity = EOModelGroup.defaultGroup ().entityForObject(sourceEO); String modelName = sourceEntity.model().name(); EORelationship rel = sourceEntity.relationshipNamed (relationshipKey); NSArray destAttributes = rel.destinationAttributes(); if (rel == null || !rel.isToMany()) { throw new RuntimeException(No to-many relationship found for key: + relationshipKey); } if (destAttributes.count() != 1) { throw new RuntimeException(This method can only be used with entities having unary primary keys.); } //-- // Count the number of related rows using raw SQL //-- EOEntity destEntity = rel.destinationEntity(); NSArray destPKAttributes = destEntity.primaryKeyAttributes(); String destPK = ((EOAttribute)destPKAttributes.lastObject ()).columnName(); String destFK = ((EOAttribute)destAttributes.lastObject ()).columnName(); // Build the SQL statement to return the row count String sql = SELECT COUNT( + destPK + ) FROM + destEntity.externalName() + WHERE + destFK + = + unaryPKValueForObject(sourceEO) + ;; NSArray rows = EOUtilities.rawRowsForSQL(sourceEO.editingContext (), modelName, sql, new NSArray(rowCount)); if (rows.count() 0) { Number rowCount = (Number)((NSDictionary)rows.lastObject ()).objectForKey(rowCount); return rowCount; } return null; } /** * Returns the PK of the object as a string value. */ public static String unaryPKValueForObject(EOEnterpriseObject eo){ NSDictionary d = EOUtilities.primaryKeyForObject (eo.editingContext(), eo); Number n = (Number)d.objectForKey(oid); return n.toString(); } On Feb 6, 2008, at 1:56 PM, David Avendasora wrote: I agree with this completely. WO will load ALL the to-many-related objects from the database when you try to set the inverse to-one relationship on a new object, which when there are thousands of related objects, this can cause a huge delay, especially in Java Client applications where the client then requests all the objects be sent to the client from the server. Ouch. I have always just not modeled the inverse, unless I discovered a compelling reason to _expect_ all the related objects to be in memory. I didn't realize that if the relationship isn't marked as a class attribute that it wouldn't fetch them. That is interesting and would make the model much more intuitive. Using a FetchSpec to go get the to-many-related objects manually has worked well for me as it only incurs the often substantial overhead if and when I explicitly ask it to. Dave On Feb 6, 2008, at 11:32 AM, Robert Walker wrote: At least if using standard EOF classes, having the reverse to-many relationship as a class properly on the EO can cause very major performance problems because the to-many fault can get fired when you don't expect it. This can happen even if you never directly access the to-many relationship. I've had nightmares about this very problem in the past. I now consider the implication of adding the to-many side as a class property. If I expect it could return more than a few hundred objects then I don't use it. I still model the to-many side, I just don't set it as a class property. It's entirely possible that Project WOnder classes take care of this problem. I just wanted to make sure you were aware of it. -- Robert Walker [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: Unexpected awakeFromInsertion() behaviour
(WOComponentRequestHandler.java:196) at com.webobjects.appserver._private.WOComponentRequestHandler._dispatc hWithPreparedSession(WOComponentRequestHandler.java:287) at com.webobjects.appserver._private.WOComponentRequestHandler._dispatc hWithPreparedApplication(WOComponentRequestHandler.java:322) at com.webobjects.appserver._private.WOComponentRequestHandler._handleR equest(WOComponentRequestHandler.java:358) at com.webobjects.appserver._private.WOComponentRequestHandler.handleRe quest(WOComponentRequestHandler.java:432) at com.webobjects.appserver.WOApplication.dispatchRequest (WOApplication.java:1244) at com.webobjects.appserver._private.WOWorkerThread.runOnce (WOWorkerThread.java:167) at com.webobjects.appserver._private.WOWorkerThread.run (WOWorkerThread.java:248) at java.lang.Thread.run(Thread.java:484) ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: New podcasts and iTunes
I've used a bunch of programs for making podcasts, for screen captures with audio you could try Snapz Pro X and Quicktime Pro will export anything to a podcast. There's also ProfCast for Powerpoint/Keynote presentations with audio. Just my opinion, but I would recommend skipping Snapz Pro X and go with iShowU. I found it to be much nicer and more geared toward screencasts. Find it here if interested: http://www.shinywhitebox.com/home/home.html On Jan 10, 2008, at 8:58 PM, Gordon Belray wrote: I've used a bunch of programs for making podcasts, for screen captures with audio you could try Snapz Pro X and Quicktime Pro will export anything to a podcast. There's also ProfCast for Powerpoint/Keynote presentations with audio. The mailing list is great but it's not the same as a good visual tutorial. Gordon On 10-Jan-08, at 7:44 PM, Pascal Robert wrote: Actually, using Podcast Producer is really easy to us. The problem is that you need the server part. If you are brave enough to install leopard then you probably have podcast producer somewhere on your machine. But i'd stick to contributing to the mailing list. It's so much easier :-) Simon On 10 Jan 2008, at 23:54, Chuck Hill wrote: So, uh, how do you make a podcast? ___ 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/gordon.belray %40utoronto.ca This email sent to [EMAIL PROTECTED] Gordon Belray Information Architect and Imaging System Manager Information Technology Services Robarts Library 416.946.8617cell: 416.427.7007 [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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Need some advice on handling EO validation errors
Pierre, I think this is one of the clearest explanations of the EOEditingContext I've seen. That used to trip me up a lot when first learning WO. I used the session's defaulting editing context for all kinds of stuff. I just thought that was the right way by reading the documentation on EOF. It wasn't until later that I discovered all the problems that created. I agree use the default editing context sparingly, and then only to read not write. Even then only use it to store data that really doesn't change much. Thanks for this, not necessarily for my sake, but for others that may fall into this not-so-obvious trap. On Dec 7, 2007, at 3:56 PM, Pierre Bernard wrote: It is important to see the EOEditingContext as a sandbox. It's the EC that contains your unsaved changes. It's not the EOF stack that is clogged with pending updates. Other clients of the EOF stack will not even see your local changes until they are committed. When saving fails over a validation error, you get a chance to modify your sandbox until it is in a valid state. This also implies that your EC should preferably have a rather short lifespan and a limited scope. E.g. it should no live for as long as your application instance and carry uncommited data between unrelated bits of code. I for one consider the session default editing context to be mostly a convenience for smaller applications. I use it only to load data that shares the lifespan of the session. And I never ever use this context for write operations. Pierre On Dec 7, 2007, at 5:03 PM, Alan Ward wrote: The unsaved objects(s) are still in your EOEditingContext and thus any future attempts to save will try to save them again (along with any subsequent changes). The approach that you describe below is not the best one. What you want to do is to catch the exception from ec.saveChanges() and depending on what caused it either a) fix your code to prevent it happening, b) modify the EO's in your EC such that they can be saved or c) revert the EC and abandon the unsaved changes. If you do none of the above and keep trying to save that editingContext then you'll just keep getting the same error as EOF tries to persist your changes to the database. Alan On Dec 7, 2007, at 8:48 AM, Greg Lappen wrote: Hi all, I just recently ran into an issue where my application tried to save a new object to the database, the save failed, and every subsequent save failed with the same error. It seems that WebObjects maintains a queue of updates/saves to write to the database, and when one fails, it essentially clogs up the queue because WO keeps trying to save it eveytime someone calls saveChanges() on an editing context. What I'd like to do is set up a global exception handler in my application that runs whenever an exception is not caught by my code, and in that error handler I want to reset the whole EnterpriseObject stack - the cache, the update/save queue, everything - so that other work in the application can continue and not worry about cache corruption or anything like that. Is this possible to do? Anyone know how to do it? Thanks so much for any help. 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/award% 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/webobjects- lists%40houdah.com This email sent to [EMAIL PROTECTED] - - - Houdah Software s. à r. l. http://www.houdah.com HoudahGeo: One-stop photo geocoding HoudahSpot: Powerful Spotlight frontend ___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: how can I return form results in a new window?
Only the really angst filled ones that block ALL popups regardless of their origin. And if that's the case then nothing he does is going to work. However, most good popup blockers will recognize that this is the direct result of a user action (submitting a form) and allow the popup. true I should have said may instead of will. On Dec 6, 2007, at 4:51 PM, Galen Rhodes wrote: On Dec 6, 2007, at 4:31 PM, Robert Walker wrote: function doFormSubmit(theForm) { theForm.target = NewWindow; newWindow = window.open (,NewWindow,width=650,height=600,resizable=yes); newWindow.focus(); return true; } Also be aware that popup blockers will block window.open(...) in the JavaScript. Only the really angst filled ones that block ALL popups regardless of their origin. And if that's the case then nothing he does is going to work. However, most good popup blockers will recognize that this is the direct result of a user action (submitting a form) and allow the popup. On Dec 6, 2007, at 12:38 PM, Galen Rhodes wrote: On Dec 6, 2007, at 1:40 AM, Kevin Windham wrote: I want to load the results of a form into a new window and then redirect the original form page to a different location. I can do this with a regular link using the technique described here http://en.wikibooks.org/wiki/Programming:WebObjects/ Web_Applications/Development/Examples/Open_Link_in_New_Window, but I haven't figured out how to do it with a form result. Essentially what you're going to do is trap the onSubmit message of the form or the onClick message of one of the buttons. Then what you have to do is open a blank window and then make sure the target for the form is the same as the new window. You can do this last part in one of two ways: 1) set the target in the form tag or 2) (if you only want it to happen under certain conditions) set the target in the javascript just before you open the window. Here's a brief example: The HTML: webobject name=TheForm.../webobject The WOD: TheForm : WOForm { action = myAction; onsubmit = return doFormSubmit(this); } The Javascript: function doFormSubmit(theForm) { theForm.target = NewWindow; newWindow = window.open (,NewWindow,width=650,height=600,resizable=yes); newWindow.focus(); return true; } Anyone got any ideas how to do this? Thanks, Kevin ___ 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/grhodes% 40thissmallworld.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/ robert.walker%40bennettig.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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/grhodes% 40thissmallworld.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Migrate from WO5.2 to Eclipse
___ 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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Static component question
And what is this supposed problem with storing these values in an NSArray of your component? You say you want to store them somewhere in your component. A WO component is made up of HTML, WOD, WOO and a Java class. So I would consider storing the list in an NSArray of the component's Java class somewhere in the component. That being said. Why do you need a dynamic component to store static information. You could always just write the popup button in pure static HTML. There's nothing stopping you from doing that. Of, course it's going to be extra work on your part to get at that data from your component's Java class. Something that WO component bindings just nicely take care of for you. On Nov 7, 2007, at 3:24 PM, Shagor Ghani wrote: WOMasters, I have a feeling this is a fairly basic WO question, so advanced apologies if my hunch is correct. Basically, I'm looking to populate a pulldown menu, inappropriately titled WOPopUpButton in WOBuilder, with a set of values, e.g. Red, Blue, and Green. Problem is, I don't want to accomplish this by building an NSArray of Strings with these values and then binding the NSArray to the 'list' attribute in the WOPopUpButton. Is there a better way to do this whereby I don't have to store these values in code, DB, etc, but directly in my HTML or somehow in the component itself? If I take the approach of a static WOPopUpButton component, how would I access the selection in my code? Thanks, [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/robert.walker% 40bennettig.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: D2W does not do addObjectToBothSidesOfRelationshipWithKey
Johan, Is this truly a one-to-one relationship as modeled? I mean are the tables joined PK PK? Or is this modeled as a one-to-many with the many-side limited to one related object in the array? If this is a true PK to PK one-to-one relationship, which way have you set Propagates Primary Key? If it's a true one-to-one it's that property of the model that is responsible to setting the destination PK. If it's the latter case, and D2W is not properly calling addObjectToBothSidesOfRelationshipWithKey, then it wouldn't be doing that for any relationships in the system. To be honest I'm not sure if D2W actually does, or does not, use that method to manage it's relationships. Thinking about how D2W uses the browser style input control to set an entire array of objects on a to-many relationship, I have my doubts that it is using addObjectToBothSidesOfRelationshipWithKey. It may instead just simply use the accessors to set the array. On Jul 12, 2007, at 2:16 PM, Johan Henselmans wrote: I am updating a old D2W app to the latest and greatest Wonder/ Eclipse combo, and after adding some records to a database, I noticed that the table on the other side of the relationship did not get an update in it's foreign_id key field (it's a one-to-one relationship with with relationships defined on both sides). I seem to remember that normally, in D2W both sides would get updated. Or is that some romantic idea I had about the D2W taking care of that kind of mundane activities? If D2W does not take care of it, how should I then take care of it? Regards, Johan Henselmans http://www.netsense.nl Tel: +31-20-6267538 Fax: +31-20-6273852 ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: D2W does not do addObjectToBothSidesOfRelationshipWithKey
Then it is not a true 1:1 as one a may have many b’s and one b may have many a’s. Thats what Robert meant by not being a true 1:1. If you join a PK to an FK you always have a 1:n Exactly. Since this is not one of the two relationships is not an inverse of the other then addObjectToBothSidesOfRelationshipWithKey won't work, because it will not find an inverse relationship. What you have are two separate, unidirectional, relationships that D2W won't manage for you. a-pk--b-fk a-fk -- b-pk not the same as: a-pk--b-pk (true one-to-one) not the same as: a-pk--b-fk (one-to-many) D2W/EOF should manage these properly using addObjectToBothSidesOfRelationshipWithKey because it can find the inverse relationships using: public String inverseForRelationshipKey(String relationshipKey) or whatever magic it uses to find the inverse. On Jul 12, 2007, at 5:19 PM, Alexander Spohr wrote: Am 12.07.2007 um 22:56 schrieb Johan Henselmans: On 12-jul-2007, at 21:58, Robert Walker wrote: Johan, Is this truly a one-to-one relationship as modeled? I mean are the tables joined PK PK? Or is this modeled as a one-to- many with the many-side limited to one related object in the array? it is like: a-pk--b-fk a-fk -- b-pk So the foreign key of table a points to the primary key of b and vice versa, so one can find a via b and find b via a. If this is a true PK to PK one-to-one relationship, which way have you set Propagates Primary Key? If it's a true one-to-one it's that property of the model that is responsible to setting the destination PK. I think we're not talking about the same type of relationships. Bot tables exist, they can not have one of the primary keys propagated, as it is not know beforehand which one of the records will relate to which record in the other table. Then it is not a true 1:1 as one a may have many b’s and one b may have many a’s. Thats what Robert meant by not being a true 1:1. If you join a PK to an FK you always have a 1:n Anyway, D2W should always call addObjectToBothSidesOfRelationshipWithKey. If it does not, it has a bug. atze -- Robert Walker [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: EOAndQualifier order
Miguel, Yes, it can make a difference and it's not just PostgreSQL that's affected. I recently did some testing with MySQL. I had a case where I had an index spanning three fields. I found that it made a huge difference which field was at the beginning of the index due to string comparison performance. It was something like value, key, template. There was an index across these three fields. I found a significant difference which order these fields were indexed. The order shown had the best performance. In this case value changed the most out of the three fields since there was a fixed number of keys, and even smaller number of templates. Take this example index { 54321, orderNumber, standardTemplate }. Now if the index contained template, key, value in that order the index would look something like standardTemplateorderNumber54321 So if you have many rows using the same template and key then it takes a while for the system to perform a string comparison of the compound index. However if the value is place first 54321orderNumberstandardTemplate the string comparison performance is quite a bit better. This is a contrived example in the real world the key and template are actually integer values representing foreign keys to other tables. I think this depends on how intelligent the SQL parsing engine is. I'm no database expert on that end of things, but it's my understanding that some engines do some optimizations based on available indices and other criteria. Generally speaking conditional statements would be evaluated in order. If the first part of an AND evaluates to false the second part is skipped. But, like I said that may depend on the database engine being used. Sorry I don't know if EOF generates the WHERE clause in any particular order, or if it's just random. On Jul 11, 2007, at 5:29 PM, Miguel Arroz wrote: Hi! I'm looking and the generated SQL from an EOAndQualifier, and it looks like the order of the anded stuff is the inverse one I write on the code. If I write a qualifier like bananas = %@ and apples = %@ and oranges = %@, the generated SQL will be the reverse (t0.oranges = (...) AND t0.apples = (...) AND to.bananas = (...). Is this normal? Is the order random? What's happening here? I'm asking this, because from what I understand form the PostgreSQL docs, the order of the stuff in ANDs (and ORs) may have cause a really big difference in performance when indexes (and multi- indexes) are envolved. Yours Miguel Arroz Miguel Arroz http://www.terminalapp.net http://www.ipragma.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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Missing WORealEstate database for WebObjects tutorial
If you've upgraded OpenBase are your sure that your databases aren't located in: /Users/Shared/OpenBase/Databases/ That the default database location for new versions of OpenBase. On Jun 27, 2007, at 9:55 AM, Philippe Duvivier wrote: Hello, I am following the Direct to Web Service tutorial from the ADC library (http://developer.apple.com/documentation/WebObjects/ Web_Services/index.html) and I am stuck in the WebServicesAssistant trying to query the WORealEstate database. This last is a sample file which should have been installed with the javaRealEstate framework during the WebObjects installation but is missing on my system. I suspect another software installation which did install an upgrade of the OpenBase engine to have removed the sample WO database, but anyway... Before reinstalling the whole Xcode (which may be problematic because I made several updates since the first installation) I was wondering whether some of you could have a copy of this sample database on your system. Its name should be WORealEstate.db and on my system, OpenBase databases are located under /Library/OpenBase/Databases. Thanks in advance, Philippe. ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Missing EOModeler component in WOLips?
Mike, Does this mean the stable release has been updated to the most recent nightly just before it became unstable? Maybe it's time to begin tagging stable releases with release numbers so we can keep better track of changes? On Jun 27, 2007, at 12:05 PM, Mike Schrag wrote: The install instructions currently say to install of of the nightly repository. Until yesterday that would have been fine. However, nightly is now officially unstable as it is transitioning to support Eclipse 3.3 and is not backwards compatible with Eclipse 3.2. Install instead off of stable. ms On Jun 27, 2007, at 11:35 AM, Tarun Reddy wrote: I started up Eclipse for the first time in a long time, trying to get some more work on pet project, and dutifully applied the updates that were available and lost the EOModeler component of WOLips. Thinking that I had done something wrong with the update, and unable to find the component to install from the Eclipse updater, I redownloaded the base Eclipse distro and followed these instructions: http://wiki.objectstyle.org/confluence/display/WOL/Installing+WOLips And am still missing it. Am I doing something wrong? Or is it gone in favor of something new (or old, like the old Cocoa EOModeler)? Thanks, Tarun ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Java Client : who is using it ? What kind of organisation ?
First, as I told in a precedent msg, it's important that Apple knows that JC is used and by whom. Maybe we can hope to get the source code of JC palettes to rewritte them for IB v3... It's not likely that we'll ever have access to the source code for JC (snowballs and hell come to mind). Even if we had the code, I just don't see any practical way to use that code without the Cocoa-Java Bridge. So IB 3.0 is out, whatever the case, unless someone wants to create some new Cocoa-to-Java bridge technology. I'm certainly not volunteering for that. I saw the signs of JC's possible demise at least three years ago. When Apple (or any vendor) begins putting hints in the documentation that you should start to think about moving away from some technology, we should really listen. Yet, all we seem to do is complain that they have finally done what they said they were going to do. My fear is that if a commitment is made to keep JC alive, that might limit resources that have been committed to making WO the best server- side technology that it can possibly be. It could also hinder efforts on making IB 3.0 the best that it can possibly be for building Cocoa user interfaces. Neither of which are good for Apple nor for us. I think Chuck had a very good point about alternatives. It seems to me like it's time to find a better way to do client-side applications than to build more JC applications. If we want Swing user interfaces, IB is NOT the way to do it IMHO. In case some are wondering, I do have several JC applications that I maintain. But, I'd still be glad to see it go. It has some interesting features, but I've found it so annoying to work with that I have to say: JC rest in peace, you will not be missed. At least not by me. My future plans for maintaining JC apps is to keep a machine around running Tiger, WO 5.3.3/JavaSE 5.0 just long enough to get my applications ported to some other alternative. Who knows, but I'm betting someone comes up with something really great. There are lots of really smart people on this list, and I look forward to seeing what they come up with. On Jun 26, 2007, at 11:02 AM, Philippe Rabier wrote: On 26 juin 07, at 15:30, [EMAIL PROTECTED] wrote: Since you and a few more people are interested, I will make it. At the moment I am too busy to put much time into it, but that should change in a week or two. Cool I have two questions still: 1. How and where to most effectively lobby for JC future with Apple, or at least for an answer??? There seems to be enough interest for it for some of us to work together in documenting this and exchanging info, techniques and code, but we NEED TO KNOW (hint to Apple people) is there any point in it ? First, as I told in a precedent msg, it's important that Apple knows that JC is used and by whom. Maybe we can hope to get the source code of JC palettes to rewritte them for IB v3... With the different mails, I have now a small list of people involved by JC. I don't know yet how we can organise ourself (maybe a dedicated mailing list ?) 2. To all WO users, not only JC, shall we make this effort a part of some big WO site? I must admit I am not sure what sort of consensus was reached on centralizing resources. Or do we start another standalone thing? If not, with whom should we coordinate this? We discussed about that during last WWDC. One developper from Google told us that it's not easy for a newbie to begin with WO because there is not a single place where you can find everithing to begin. From my perspective (and not only mine), the good place is to put more information in the wiki book (http:// en.wikibooks.org/wiki/Programming:WebObjects). That's the reason why David LeBer has initiated a WO get started web site with links to different websites like the wiki book. Some of us could be surprised by this discussion about JC. I agree with Chuck that it's not a good idea to begin a new project with JC but the projects, I know, are very big so the lack of support in a maintenance mode is a big problem. And maybe we could create a dynamic to invert the processus (requires a lots of works ;-)) if we are able to show how we can use effectively JC. Philippe ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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
Re: svgobjects 2.0: First Beta
Ravi, Wow! That's excellent news. Looking forward to trying it out. On Jun 25, 2007, at 3:03 PM, Ravi Mendis wrote: Now that many of you are back from WWDC and have had time to play around with Leopard beta, you might be ready to check out (v.3.0) Safari’s excellent native SVG support. I’m pleased to release the first beta of svgobjects 2.0. It’s just in time for the release of the iPhone next week. Take a look at the DirectToiPhone example. It’s a 100% D2W application generating a Web 2.0 interface for SVG enabled mobile devices. (FYI: I am currently reviewing the SVGObjects 1.0 examples to see if they maybe updated to be compatible with Safari before re- including them in the svgobjects distribution). I hope to release the final svgobjects 2.0 to coincide with the release of WebObjects 5.4. Thanks, Ravi --- http://www.svgobjects2.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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Java Client refuses to use Client-Side classes once deployed
David, Just to be sure, you do have the Client-side class set properly in your EOModel right? If you happen to be using EOModeler you may have to add the column from the popup menu (since it's hidden by default). I realize this is a basic thing, but I'd hate for you to waist a bunch of time due to something silly like this. On Jun 22, 2007, at 7:04 AM, David Avendasora wrote: On Jun 21, 2007, at 6:03 PM, Johan Henselmans wrote: On 22-jun-2007, at 0:24, Pierre Bernard wrote: That's one of the bad things of JavaClient. The little bits that make it hard to debug. In this instance, JavaClient silently falls back to EOGenericRecord when it doesn't find the appropriate class. You should check the JAR downloaded to the client. Probably your classes aren't in there. I don't exactly know how XCode works for this, but there must be some copying that did not take place during the Deployment build. In XCode this may be a matter of adding classes to the right target or of adding a file copy build phase. I use Eclipse - so should you ;-) Pierre If you are using WebStart (like any Java app should use), then you can take a look in your java cace. On a Mac that is in ~/Library/ Caches/Java/cache/javaws/http/ (or any other folders over there). You might find that not all the jars are downloaded, or not the right ones. Okay, my application JAR is there (in the Cache directory), and it has all the classes in it. I'm guessing the way the WOA file and all the JARs are named (prefixed with DM, RM, etc) is just part of Java WebStart's caching strategy and is normal, yes? If so, maybe it is a class-path thing? Dave On Jun 21, 2007, at 9:52 PM, David Avendasora wrote: A little clarification. The difference isn't Development vs Deployment builds, it is the difference between the application running using the build-and-go functionality of Xcode, and the app running inside of Tomcat. It doesn't call the client-side classes when run inside of Tomcat on either Mac or Windows2000. Does anyone have any idea why the WebObjects would run differently in Tomcat than through build-and-go? Dave On Jun 21, 2007, at 2:35 PM, David Avendasora wrote: Hi all, I have a java client application (I know, I know) that refuses to use my client-side classes when built for deployment. When building for development in Xcode (I know, I know) it uses the client-side classes flawlessly. When deployed, it simply uses EOGenericRecord instead of the classes defined in the EOModel. Oh, and it is deployed as a SSDD to Tomcat. Does anyone have any idea why WebObjects would work differently in deployment than in development? Thanks! Dave ___ 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 %40avendasora.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- lists%40houdah.com This email sent to [EMAIL PROTECTED] - - - Houdah Software s. à r. l. http://www.houdah.com HoudahGeo: One-stop photo geocoding HoudahSpot: Powerful Spotlight frontend ___ 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/johan% 40netsense.nl This email sent to [EMAIL PROTECTED] Regards, Johan Henselmans http://www.netsense.nl Tel: +31-20-6267538 Fax: +31-20-6273852 ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Java Client refuses to use Client-Side classes once deployed
David you're probably right. Java web start uses a time stamp in a file to determine if it need to download a new version of the files from the server. I had this problem once when I tried to revert back to a previous version of the client app by replacing a backup of the deployed file and forgot to touch the file to update it's modification date on the server. Took me a minute to figure out that the clients were not getting the older bug-free and stable version of the client files from the server. On Jun 22, 2007, at 10:27 AM, David Avendasora wrote: LOL. Not the issue, but I do appreciate the take nothing for granted suggestion. :) Dave On Jun 22, 2007, at 8:07 AM, Robert Walker wrote: Just to be sure, you do have the Client-side class set properly in your EOModel right? If you happen to be using EOModeler you may have to add the column from the popup menu (since it's hidden by default). I realize this is a basic thing, but I'd hate for you to waist a bunch of time due to something silly like this. -- Robert Walker [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: WOPopUpButton
Interesting (somewhat off-topic) discussion. I just wanted to inject that I've recently been writing some Ruby code, which uses the underscore convention for identifiers. At first it felt really strange using the underscore identifier style. However, I very quickly came to prefer it. It actually does make a difference in readability and flow. Ruby has an interesting mix of CamelCase for class names and underscore_style for method names. So you have lines that look something like: MyClass.some_method or self.some_method This seems to be an interesting compromise to what might otherwise look very bizarre like: MY_CLASS.some_method or myObject.some_method In any case, I still use the conventional style of whatever language I'm coding whether that is CamelCase, underscore_style, or SomeMixture.of_both. To me the worst case is to have mixed styles in a single language that goes against whatever standards the language sets forth. I agree that consistency is king. This is especially true when trying to adhere to pragmatic principles that make heavy use of code generators (like EOGenerator and similar tools). One side note on the getValue() vs. value() accessor convention in WO. Some may recall that this convention is a holdover from it's Objective-C history. Accessing a getter in Objective-C looks something like: NSString *myName = [object name]; not NSString *myName = [object getName]; This later statement would have a completely different meaning in Objective-C convention. This would mean that object is getting the name attribute by some form of indirect access to the value. Maybe through delegation or some other technique. In other words object would have no name instance variable, so getName is not really an accessor method. On Jun 22, 2007, at 9:08 AM, David LeBer wrote: On 22-Jun-07, at 8:56 AM, Ken Anderson wrote: I always type 2 spaces after a period. I thought everyone did! The Mac is not a typewriter: http://www.amazon.com/Mac-Not- Typewriter-Professional-Level-Macintosh/dp/0938151312 ;david -- David LeBer Codeferous Software 'co-def-er-ous' adj. Literally 'code-bearing' site: http://codeferous.com blog: http://davidleber.net profile: http://www.linkedin.com/in/davidleber -- Toronto Area Cocoa / WebObjects developers group: http://tacow.org ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Java Client refuses to use Client-Side classes once deployed
David, Oh, and thanks to everyone that didn't go off on how Java Client is dead. I know it was hard for you (Chuck). :D lol, hey I'm right there with you man. I have several Java Client applications currently being used in a big way. I'm just begging the process of figuring out another way. It's starting look like that way is a combination of AJAX and Cocoa (where possible). I'm making some important strides in the process of this. However, it is my opinion that dropping Java Client is the right thing to do. It is technology that was deeply rooted in the Objective-C version of WO in the pre-version 5.0 days and really has not translated very well to the Java world. It's crazy building swing application using Interface Builder and translating Cocoa controls to Swing controls. It just makes programming Java Client really difficult and it's quite bug-prone. That may sound strange from someone who relies so heavily on Java Client, but that was not by my choice. On Jun 22, 2007, at 10:49 AM, David Avendasora wrote: Okay, just a little perspective on this problem. While it wasn't Robert's suggested simple thing, it was another insanely simple thing. Just delete the Java WebStart Cache at ~/Library/Caches/Java. This has been a problem for me for OVER A YEAR! Waste a bunch of time, indeed! My first post on the issue was back in May of last year, and as of August 2006, with the help of lots of people on the list, I had gotten close to figuring it out, but ended up giving up and shelving Java Client. I stopped using doing JavaClient development just because I couldn't get this to work correctly, even with help from the list. After 9 months of trying to get a good Web UI to function as smoothly (for my purposes) as the Java Client, I went back to the Java Client version to see if I could figure it out again. Having a year more of WO experience certainly helped me more quickly narrow down where the problem was and post much more informative requests for help, but without the continued help of the list, I'm sure I would have never figured it out, and all it was, was deleting a directory. Ahhgg! Oh, and thanks to everyone that didn't go off on how Java Client is dead. I know it was hard for you (Chuck). :D Thanks again! Dave On Jun 22, 2007, at 8:07 AM, Robert Walker wrote: David, Just to be sure, you do have the Client-side class set properly in your EOModel right? If you happen to be using EOModeler you may have to add the column from the popup menu (since it's hidden by default). I realize this is a basic thing, but I'd hate for you to waist a bunch of time due to something silly like this. -- Robert Walker [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: Java Client refuses to use Client-Side classes once deployed
I feel it is important to point this out, as the whole dropping of WO Java Client by either Apple or users of it, can imply different things: 1. Dropping direct-to stuff 2. Dropping Nib to Swing 3. Dropping ALL of the JavaClient code including data distribution classes Point well taken. On the other hand I've been seeing some amazing things taking place in web technologies that have the potential to obsolete much of the need for a client-based solution. AJAX is almost by definition much easier for IT departments to support. They only have to be concerned with one (or a small group) of servers. Here we have several dozen client machines using the Java client-side application. I can't tell you the support nightmare this places on our IT group. A really great AJAX app would solve that particular problem. I would prefer to see Apple, and the community, place their efforts on AJAX solutions rather than getting sides-tracked advancing Java Client. Maybe my frustrations fighting Java Client have tarnished my impression of it, but there you go. Not to say that there isn't some workable solution to extend the life of parts of Java Client. As long as it doesn't impede the efforts going on in other areas. On Jun 22, 2007, at 2:45 PM, Florijan Stamenkovic wrote: Hi all, There seems to be a lack of distinction in different ways to use WO JavaClients. It seems that most people see this being done as either the direct or non-direct approaches described by Apple. BUT, there is another approach that does not utilize large portions of WO's JavaClient support code, where most trouble comes from. This approach comes down to using client side EOF only for data persistence, within any kind of a Java app. There is no D2JC auto- generated GUI, rule systems, translations from nib to Swing etc. All the places where WO's JavaClient capabilities become difficult and error prone. I feel it is important to point this out, as the whole dropping of WO Java Client by either Apple or users of it, can imply different things: 1. Dropping direct-to stuff 2. Dropping Nib to Swing 3. Dropping ALL of the JavaClient code including data distribution classes The first two causes most of the trouble (IMHO), but dropping it does not have to imply dropping the third. I also think that part of the JC code base is relatively small, not difficult to maintain, and yet opens a door for WO to be used in a not very popular, but powerful way. I know that I am speaking for a very small percentage of a very small community, but I hope Apple has mercy on us there. Two cents, Flor However, it is my opinion that dropping Java Client is the right thing to do. It is technology that was deeply rooted in the Objective-C version of WO in the pre-version 5.0 days and really has not translated very well to the Java world. It's crazy building swing application using Interface Builder and translating Cocoa controls to Swing controls. It just makes programming Java Client really difficult and it's q -- Robert Walker [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: Getting Started With WO site
David, This all sounds great to me. I believe history has shown that open source projects live or die by the efforts of the core contributors. WebObjects is obviously moving to a community based developer environment, which has a great core team that has contributed much to the platform. It's always great when I see posts to this list about some issue with WOLips/WOnder and a day or two later see that the issue has been resolved. That's what open source is all about in my opinion. Keep up the great work guys, I look forward to the future of WebObjects/WOLips/WOnder. You guys have also done much this week to help with my migration to Eclipse/WOLips and I look forward to seeing you later in this morning's WO lab. On Jun 14, 2007, at 8:28 AM, Pascal Robert wrote: Hi David, if you want, you can use the wocommunity.org domain for that. Hey all, For those of you who are not attending WWDC, there has been a lively discussion about many things WO. Motivated by this I whipped together a WO Getting Started page http:// gettingstartedwithwo.codeferous.com/ and I'd like to get your feedback. This is just a baby step, but please let me know if you think I'm heading in the right direction. This the first of what I hope will be a trio of sites: I would like to create a general WO news blog (with multiple core contributers) so there is a central clearing house for news of interest to the WO community (new features in Wonder or WOLips, announcements from Apple, significant additions to the wikkibook, good blog posts, etc). I would also like to create a tutorial blog where short clear graphical task-oriented tutorials could be posted - I have some ideas of how I'd want these tutorials to be presented, but I still have to work out the style guidelines (I'm thinking: short on text, long on screenshots or maybe screencasts). I approach this with some trepidation - because someone seems to try and do something like this once a year - but my goal is to present unified (a dare I say) inviting front to new developers to the WebObjects platform. We have a ton of outstanding material in the various wikis and lists, and I have no interest in replacing that, but I'd like to give new users a way to find and make sense of what is there. Again, feedback (and offers of assistance) is welcome and appreciated. -- ;david -- David LeBer Codeferous Software 'co-def-er-ous' adj. Literally 'code-bearing' site: http://codeferous.com blog: http://davidleber.net profile: http://www.linkedin.com/in/davidleber -- Toronto Area Cocoa / WebObjects developers group: http://tacow.org ___ 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%40os.ca 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Oracle timestamp error
FYI: Here is a bit more detail of why T value type is important for Oracle TIMESTAMP data type: Following is an excerpt from java.sql.Timestamp API Doc: - public class Timestamp extends Date A thin wrapper around java.util.Date that allows the JDBC API to identify this as an SQL TIMESTAMP value. It adds the ability to hold the SQL TIMESTAMP nanos value and provides formatting and parsing operations to support the JDBC escape syntax for timestamp values. Note: This type is a composite of a java.util.Date and a separate nanoseconds value. Only integral seconds are stored in the java.util.Date component. The fractional seconds - the nanos - are separate. The Timestamp.equals(Object) method never returns true when passed a value of type java.util.Date because the nanos component of a date is unknown. As a result, the Timestamp.equals(Object) method is not symmetric with respect to the java.util.Date.equals(Object) method. Also, the hashcode method uses the underlying java.util.Date implementation and therefore does not include nanos in its computation. Due to the differences between the Timestamp class and the java.util.Date class mentioned above, it is recommended that code not view Timestamp values generically as an instance of java.util.Date. The inheritance relationship between Timestamp and java.util.Date really denotes implementation inheritance, and not type inheritance. On Jun 6, 2007, at 12:49 PM, Chuck Hill wrote: On Jun 6, 2007, at 9:43 AM, Ken Anderson wrote: Chuck, jdbc2info is for Oracle...that's what I meant below by 'typeinfo in the model is correct'. I'm using TIMESTAMP, which I would greatly prefer to use. What should the valueType be? I don't have anything for it... Try 'T' See details at bottom of http://developer.apple.com/documentation/ WebObjects/UsingEOModeler/4WorkingWithAttributes/ chapter_4_section_3.html#//apple_ref/doc/uid/TP30001018-CH204-BABFGECE Chuck On Jun 6, 2007, at 12:29 PM, Chuck Hill wrote: Still have jdbc2info from Sybase in the model's connection dictionary? What is the vlauetype in the model? IIRC, EOF needs a special type to deal with date only fields. IME, timestamps are a safer bet. Chuck On Jun 6, 2007, at 9:11 AM, Ken Anderson wrote: Everyone, As you all probably know by now, I've been porting our Sybase app to Oracle. I have a table that has a valid date in it in Oracle, but when I fetch from that table, I get this error: [2007-06-06 15:58:36,629] ERROR com.commoditrack.model.CTEditingContext Exception raised prior to save com.webobjects.jdbcadaptor.JDBCAdaptorException: [EMAIL PROTECTED] of type oracle.sql.TIMESTAMP is not a valid Date type. You must use java.sql.Timestamp, java.sql.Date, or java.sql.Time at com.webobjects.jdbcadaptor.JDBCColumn._processValueIfNeeded (JDBCColumn.java:289) at com.webobjects.jdbcadaptor.JDBCColumn._fetchValue (JDBCColumn.java:323) at com.webobjects.jdbcadaptor.JDBCColumn.fetchValue (JDBCColumn.java:307) at com.webobjects.jdbcadaptor.JDBCChannel.fetchRow (JDBCChannel.java:1406) at com.webobjects.eoaccess.EODatabaseChannel._fetchObject (EODatabaseChannel.java:302) Does anyone have any idea what could be causing this? My typeinfo in the model is correct... Thanks, Ken ___ 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] -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Apache FOP and in strings
fo:external-graphic src=url(/Path/12.jpg)/ Since the above line is XML (XML/FO) the parser sees the and will expect the following characters to be either a character reference or a XML entity. So when attempting to parse the string 1.jpg)/ this is obviously invalid XML. So the must be converted to it's entity representation amp; Think of the and ; characters as open and close quotes for literal strings in an expression (i.e. name = John Smith). The XML parser sees and looks for a ; terminating character (in the case of entities). If the string between the delimiters is a recognized entity name like amp, quot, gt, or lt. then the entity is valid and the parsing of the entity should be handled properly. Actually if I try to escape the , it displays the amp; inside the pdf like me amp; you ... So it doesn't work:( You need to check your XML source that is passed to the XML/FO parser and make sure that the string me amp; you is not already escaped in some way. On Jun 5, 2007, at 8:35 AM, WO Dev wrote: Hello Jean-François, Actually if I try to escape the , it displays the amp; inside the pdf like me amp; you ... So it doesn't work:( Xavier Here is a method that 'escape' some chars. We call this method before inserting a string (comming from an eo attribute for example) into a fo-xml stream. static public String transformeCaracteresSpeciaux(String chaine) { if (chaine != null) { String uneSt = chaine.replaceAll(, amp;); uneSt = uneSt.replaceAll(\, quot;); uneSt = uneSt.replaceAll(, lt;); uneSt = uneSt.replaceAll(, gt;); return uneSt; } return chaine; } - jfv Le 07-06-05 à 04:49, WO Dev a écrit : Hello, I couldn't find the answer on the FOP archives, so I'm posting to this list as some of you know FOP (a lot better than me;)) I'm trying to figure out how to make a pdf using FOP... Well actually I think I'm pretty close, but I don't even know how it looks like as there's still one crash: I have some text with inside, so I was able to make them to work by using ![CDATA[my_string]]. But I also have some images with a in their names like: fo:external-graphic src=url(/Path/12.jpg)/ So FOP crash on that... I can't change the name of the images, how can I make FOP to work with this name? Thanks for your help Xavier ___ 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/ jean_francois_veillette%40yahoo.ca 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: vertical inheritance
Mike, There is an example of all three types of inheritance models located in /Developer/Examples/JavaWebObjects/WOInheritanceExample. It does show examples of deep inheritance for all three types including vertical. Basically, I just sort of despise vertical inheritance :) I definitely agree with you on this one. I have used it, but only in a shallow inheritance (one level deep) and only fetching on leaf nodes. This was also earlier in my WO days before really understanding it's disadvantages. Although in my case I never really ran into any particular problems with it. I got lucky in other words. On the plus side it does make for a clean database schema to represent the inheritance, but in most cases that just not worth the potential problems it can cause. On May 21, 2007, at 8:03 AM, Mike Schrag wrote: Is anyone using: 1) vertical inheritance with a to-one relationship in the parent? or 2) vertical inheritance two levels deep? If so, I would love to see the plist files for the parent and child entities. I'm trying to make Entity Modeler's vertical inheritance wizard legit, but I personally don't use vertical inheritance at all, and the EOModeler manual is pretty light on specifics regarding the actual modeling of them. If you can't send the actual plists, I'm interested to know: * Are non-class attributes supposed to be flattened into the subclass just like class attributes? * ... non-class relationships? * Do the flattened attributes need to be the same name as the attributes from the parent class? * When you vertically inherit two levels deep ... WTF flattens? Do you flatten from the top level parent and only new attributes from each class along the way? Do you (can you even?) flatten the flattened attributes from your direct parent? Basically, I just sort of despise vertical inheritance :) 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: vertical inheritance
Wow .. The vertical example in here is CRAZY. They actually override a relationship with a different definition of the same name. I would never have the balls to try this with EOF :) hehe. Yes, I know, but I was hoping it would at least answer some of your questions. I always thought that it was a bit CRAZY myself. I don't think I would trust the example in full, but hopefully it will be somewhat useful to you. On May 21, 2007, at 11:52 AM, Mike Schrag wrote: Wow .. The vertical example in here is CRAZY. They actually override a relationship with a different definition of the same name. I would never have the balls to try this with EOF :) ms On May 21, 2007, at 9:21 AM, Robert Walker wrote: There is an example of all three types of inheritance models located in /Developer/Examples/JavaWebObjects/WOInheritanceExample. ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Deleting objects causes OutOfMemory...
Here's one more thing that I can see taking a look at ds() The objects in this array are likely getting copied in memory 3 times. 1. The ds() fault fires fetching data and creating EOs for each object in the array. 2. dObjs is a full copy of the ds() array. 3. dObj is creating a third copy of each object likely before the garbage collection thread has time to take care of the dereferenced objects. It would be useful to know, on average, how many objects are contained within ds()? On May 16, 2007, at 11:25 AM, Shravan Kumar.M wrote: public void deleteDs(){ NSArray dObjs = new NSArray(ds());//ds is a to-many relationship from A to D , A D for ( int i=0, count= dObjs.count(); i count; i++ ) { D dObj = (D) dObjs.objectAtIndex(i); removeObjectFromBothSidesOfRelationshipWithKey(d, ds); } editingContext().saveChanges(); } -- Robert Walker [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: Poor Oracle performance?
Ken, Have you logged the SQL to see if your pause is occurring during, or after the SELECT completes? Whenever I've had performance problems that seemed like database problems it was generally happening after the select while building the objects, rather than the actual request performance. On May 15, 2007, at 2:13 PM, Ken Anderson wrote: Everyone, I'm performing queries against Oracle using the thin style of connecting: jdbc:oracle:thin:@addr:port:SID When I use iSQL-Viewer to perform a query, the result set comes back in under 100 milliseconds. When I do the same query with EOF, it takes 16 seconds. When I break during this long period, it's always here: EODatabaseChannel._selectWithFetchSpecificationEditingContext (EOFetchSpecification, EOEditingContext) line: 878 JDBCChannel.selectAttributes(NSArray, EOFetchSpecification, boolean, EOEntity) line: 185 JDBCChannel.evaluateExpression(EOSQLExpression) line: 261 JDBCChannel._evaluateExpression(EOSQLExpression, boolean, boolean) line: 303 JDBCChannel._bindInputVariablesWithBindingsAndExecute(NSArray, String, Connection, boolean, boolean) line: 230 T4CPreparedStatement(OraclePreparedStatement).execute() line: 2976 T4CPreparedStatement(OraclePreparedStatement).executeInternal() line: 2885 T4CPreparedStatement(OracleStatement).doExecuteWithTimeout() line: 984 T4CPreparedStatement.execute_maybe_describe() line: 694 T4CPreparedStatement(OracleStatement).execute_maybe_describe() line: 913 T4CPreparedStatement.execute_for_rows(boolean) line: 785 T4CPreparedStatement.doOall8(boolean, boolean, boolean, boolean) line: 182 T4C8Oall.receive() line: 435 T4CMAREngine.unmarshalSB1() line: 951 T4CMAREngine.unmarshalUB1() line: 979 NetInputStream.read() line: not available NetInputStream.read(byte[]) line: not available NetInputStream.read(byte[], int, int) line: not available NetInputStream.getNextPacket() line: not available DataPacket.receive() line: not available DataPacket(Packet).receive() line: not available SocketInputStream.read(byte[], int, int) line: 129 SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method] Any thoughts as to why it's performing so poorly? I'm using the same connection style and performing the exact same query... Thanks, Ken ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Poor Oracle performance?
Ken, Interesting. We also use the thin driver for Oracle and don't seem to be having this trouble. We are using version 14 of the JDBC driver I think. You've exhausted my ideas on what the problem might be. Wish I could help further. On May 15, 2007, at 2:57 PM, Ken Anderson wrote: Robert, It spends the entire time at the socket read. The query is only returning 43 rows... Ken On May 15, 2007, at 2:53 PM, Robert Walker wrote: Ken, Have you logged the SQL to see if your pause is occurring during, or after the SELECT completes? Whenever I've had performance problems that seemed like database problems it was generally happening after the select while building the objects, rather than the actual request performance. On May 15, 2007, at 2:13 PM, Ken Anderson wrote: Everyone, I'm performing queries against Oracle using the thin style of connecting: jdbc:oracle:thin:@addr:port:SID When I use iSQL-Viewer to perform a query, the result set comes back in under 100 milliseconds. When I do the same query with EOF, it takes 16 seconds. When I break during this long period, it's always here: EODatabaseChannel._selectWithFetchSpecificationEditingContext (EOFetchSpecification, EOEditingContext) line: 878 JDBCChannel.selectAttributes(NSArray, EOFetchSpecification, boolean, EOEntity) line: 185 JDBCChannel.evaluateExpression(EOSQLExpression) line: 261 JDBCChannel._evaluateExpression(EOSQLExpression, boolean, boolean) line: 303 JDBCChannel._bindInputVariablesWithBindingsAndExecute(NSArray, String, Connection, boolean, boolean) line: 230 T4CPreparedStatement(OraclePreparedStatement).execute() line: 2976 T4CPreparedStatement(OraclePreparedStatement).executeInternal() line: 2885 T4CPreparedStatement(OracleStatement).doExecuteWithTimeout() line: 984 T4CPreparedStatement.execute_maybe_describe() line: 694 T4CPreparedStatement(OracleStatement).execute_maybe_describe() line: 913 T4CPreparedStatement.execute_for_rows(boolean) line: 785 T4CPreparedStatement.doOall8(boolean, boolean, boolean, boolean) line: 182 T4C8Oall.receive() line: 435 T4CMAREngine.unmarshalSB1() line: 951 T4CMAREngine.unmarshalUB1() line: 979 NetInputStream.read() line: not available NetInputStream.read(byte[]) line: not available NetInputStream.read(byte[], int, int) line: not available NetInputStream.getNextPacket() line: not available DataPacket.receive() line: not available DataPacket(Packet).receive() line: not available SocketInputStream.read(byte[], int, int) line: 129 SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method] Any thoughts as to why it's performing so poorly? I'm using the same connection style and performing the exact same query... Thanks, Ken ___ 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/ robertwalker1%40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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/kenlists% 40anderhome.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: StoredProcedures triggered by the model
1. Is this the technique you are using to trigger your stored procedures: http://developer.apple.com/documentation/WebObjects/UsingEOModeler/ 6WorkingWithEntities/chapter_6_section_5.html#//apple_ref/doc/uid/ TP30001018-CH206-BABGBCJE 2. Are your stored procedures doing something more complex than assigning a simple incrementing integer primary key? I'm only asking in case you are unaware that OpenBase provides a plug-in for supporting native primary key generation. You can specify the OpenBasePKPlugIn in your connection dictionary, and include the OpenBasePKPlugin framework in your project. Doing so will eliminate the need for the EO_PK_TABLE and have OpenBase provided PKs natively to EOF. On May 14, 2007, at 11:22 AM, Florijan Stamenkovic wrote: Hi all, I am trying to get some stored procedures performing after insertion of new records. The stored procedures generate unique number for records. That reason why I am using stored procedures is that the generation can only be done properly on the SQL level. The procedures themselves are functional. I ran them many times from the OpenBase cmd line, no problems. Now I am trying to get WO to automatically invoke them, by defining and triggering them in the model. However, when I call saveChanges () on an editing context, which should trigger the stored procedure, I get the following exception: com.webobjects.eoaccess.EOGeneralAdaptorException: evaluateExpression: com.webobjects.jdbcadaptor.JDBCChannel [EMAIL PROTECTED]: illegal attempt to evaluateExpression while a fetch is in progress at com.webobjects.eoaccess.EODatabaseContext._exceptionWithDatabaseContex tInformationAdded(EODatabaseContext.java:4685) at com.webobjects.eoaccess.EODatabaseContext.performChanges (EODatabaseContext.java:6393) at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditing Context(EOObjectStoreCoordinator.java:415) at com.webobjects.eocontrol.EOEditingContext.saveChanges (EOEditingContext.java:3226) at com.havaso.dvis.server.AdminUserCreator.createAdminUsers (AdminUserCreator.java:181) at com.havaso.dvis.server.Application.init(Application.java:43) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) at com.webobjects.appserver.WOApplication.main(WOApplication.java: 323) at com.havaso.dvis.server.Application.main(Application.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.webobjects._bootstrap.WOBootstrap.main(WOBootstrap.java:71) No changes are saved to the database. Separately, both the code and the stored procedure perform as expected. But after adding the trigger in the model, this is the outcome. Anyone has an idea why? Thanks, Flor ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: StoredProcedures triggered by the model
Yes. Ever used that approach? Did it work for you? Sorry, no I've not ever tried it myself. I try to limit myself to simple integer PKs (except in extreme circumstances like when dealing with legacy system, which in my case stored procedures we're practical anyway). Yes, they are generating IDs relative to a relationship. Nothing very complex though, the stored procedure only does the following: I assumed that was the case, but just wanted to verify. Sorry I couldn't help further, but I don't really understand why that technique didn't work for you. Unless, stored procedures are somehow broken in the latest version of WO. I can't imagine that's true though. On May 14, 2007, at 3:14 PM, Florijan Stamenkovic wrote: Hi Robert, 1. Is this the technique you are using to trigger your stored procedures: http://developer.apple.com/documentation/WebObjects/UsingEOModeler/ 6WorkingWithEntities/chapter_6_section_5.html#//apple_ref/doc/uid/ TP30001018-CH206-BABGBCJE Yes. Ever used that approach? Did it work for you? 2. Are your stored procedures doing something more complex than assigning a simple incrementing integer primary key? I'm only asking in case you are unaware that OpenBase provides a plug-in for supporting native primary key generation. You can specify the OpenBasePKPlugIn in your connection dictionary, and include the OpenBasePKPlugin framework in your project. Doing so will eliminate the need for the EO_PK_TABLE and have OpenBase provided PKs natively to EOF. Yes, they are generating IDs relative to a relationship. Nothing very complex though, the stored procedure only does the following: Statement s = connection.createStatement(); s.executeUpdate(UPDATE PUNCH_ITEM p1 SET UNIQUE_NUMBER = (SELECT MAX(UNIQUE_NUMBER) FROM + PUNCH_ITEM p2 WHERE p1.STRUCTURE_ITEM_ID = p2.STRUCTURE_ITEM_ID) + 1 WHERE UNIQUE_NUMBER = NULL); return null; Flor -- Robert Walker [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: user obstacles to WOLips adoption (was: Apple's Support of WebObjects)
Ashley, I hate to break it to you, but along with the deprecation of the Xcode based tools, comes the deprecation of D2JC (and also non- direct to Java Client as well). Again as mentioned in some previous posts, this was pure conjecture. It's really unclear whether or not this is true, and I don't believe any public statement exists to clarify this. Maybe we'll know more after WWDC this year. I'm not in the know on this issue. I apologize for the poor wording in my original post. InterfaceBuilder was never a good tool for building Java GUIs, and it amazed me (in a weird way) that they could even, or would want to, do it. There are plenty of other tools for building GUIs in Java that would work with JavaClient. Here I was referring to JavaClient as implemented in WO/EOF. That is to say by distributing objects between the server and client though the EO distribution channel, and using IB to create Swing interfaces by translating Cocoa UI components. This includes the binding technology used in IB to build these interfaces. This was, sort of, a leftover from before WO was converted to Java. IB was the tool to write client-side applications that were written in Obj-C using a form of binding technology. The only way to make this work in Java was to translate some portion of the Cocoa controls to Swing using the Cocoa-Java bridge. I did not intend to refer to pure Java Swing development. On May 9, 2007, at 11:30 PM, Ashley Aitken wrote: Hi All, On 09/05/2007, at 9:14 AM, Robert Walker wrote: At least that's my understanding. I could be wrong about that. But, I'm pretty certain that being able to create Java Client applications with custom interfaces using Interface Builder has no future. I believe David (correct me if I am wrong) was not referring to using InterfaceBuilder but the ability for D2JC to automagically build an entire Java thick client without any coding - this still blows my mind! InterfaceBuilder was never a good tool for building Java GUIs, and it amazed me (in a weird way) that they could even, or would want to, do it. There are plenty of other tools for building GUIs in Java that would work with JavaClient. I hate to break it to you, but along with the deprecation of the Xcode based tools, comes the deprecation of D2JC (and also non- direct to Java Client as well). Now with regards to the underlying technologies, that may be true, can someone confirm this? JavaClient and D2JC never really took off, I believe, mostly because it was way ahead of its time (like WO was too). Just wait though, rich clients are the hot topic at the moment in the Enterprise world, and soon they will realise its a bonus to be able to do real client-side business processing (a la JavaClient). It seems, Apple innovates and tries to lead developers who (generally speaking) have a hard time keeping up. Whereas, Microsoft only goes where it gets pulled by the market (although things are changing with .Net). Cheers, Ashley. -- Ashley Aitken Perth, Western Australia mrhatken at mac dot com Skype Name: MrHatken (GMT + 8 Hours!) -- Robert Walker [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: Framework deployment
Bruno, Is there a way to only put it in /Library/Framework?? /Library/Framework is not available to your web server, thank goodness! You really don't want that. What you have here is what's called a split-install. Web server resources are separated out so they can be made available in a directory under your web site's document root directory. Which in your case is /Library/WebServer/ Documents. Your web server will, and should, only have access to files and folders contained within this directory. It's a security thing. On May 10, 2007, at 7:21 AM, WIESEN Bruno wrote: Hello, I recently deployed a framework which contains pictures in WebServerResources. At the beginning, pictures weren't displayed, I had to put the framework in /Library/WebServer/Documents/WebObjects/Framework/ myFramework.framework in addition to in /Libray/Framework/ myFramework.framework... Is there a way to only put it in /Library/Framework?? Thanks. Bruno. ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: A custom way to sort EOs by key ?
You could also add an ordering column to the EO. Then you sort on the ordering column. Does anyone know if WO or WOnder has build-in support for this. If so that would be nice to have available included. Ruby on Rails does have this feature built-in. It's called acts_as_list and the Rails framework completely automates this feature, with a very simple setup on the developer's end. On May 10, 2007, at 1:06 PM, David Holt wrote: You could also add an ordering column to the EO. Then you sort on the ordering column. David On 10 May 2007, at 8:27 AM, Ken Anderson wrote: Fabrice, I would suggest, if possible, to separate the number from the name in the EO. That way, you could just sort on the number, or a combination of name and number. Even with your own sorting, you're going to have to pull the number off the end of the string to sort it properly. Do you want to do this with a database query, or in memory? If in memory, you could create a method that pulls the number off and returns that number, then use that method as the key for sorting in memory. Ken On May 10, 2007, at 11:21 AM, Fabrice Pipart wrote: Hi Dear List ! I have been looking for way to sort my EOs in a custom way for hours and did not find any solution. I wondered if someone had a solution for this. I only want to do that sorting in memory with EOSortOrdering .sortOrderingWithKey(String key, NSSelector selector) Let's say I have a Screen EO Screen has a name Let's say I have EOs with names Screen1, Screen2, Screen11, Screen22, Screen3 WebObjects using EOSortOrdering.CompareAscending allows me to an array of those EOs sorted like this : Screen1 Screen11 Screen2 Screen22 Screen3 Wouldn't it be great to be able to sort them like this? Screen1 Screen2 Screen3 Screen11 Screen22 So I tried to understand how to subclass something, create a corresponding NSSelector like are EOSortOrdering.CompareAscending and such... no luck :-( Does anyone have an idea of how this could be done??? Regards www.easyshadow.com International Corporate Consulting Palais de la Scala 1 avenue Henri Dunant Suite 1155 MC - 98000 Monaco Skype: fabrice.pipart Tel. +377 97 98 21 04 (direct) Fax. +377 97 70 88 07 ___ 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/kenlists% 40anderhome.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/ programmingosx%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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Merits of D2JC (was: user obstacles to WOLips adoption (was: Apple's Support of WebObjects))
David, Come to think of it, maybe it's just the Xcode Project templates that will no exist in future versions of Xcode. Maybe the underlying technologies will still work, but they are not being actively developed. Which, I guess, is no huge deal since they haven't been enhanced in years anyway. This means that you will no longer be able to select New Project from the menu in Xcode and ask for a Java Client application of any type. But, I am quite sure that new versions of Interface Builder will have no facility to build user interfaces for Java Client. That facility relies heavily on the Java-Cocoa bridge. So you'll be stuck with the XML custom interfaces, which may be fine in some cases, but I know I never enjoyed working with them. We are actually using several Non-direct Java Client applications using IB. We are in the process of migrating these applications to other alternatives. Like I said before, I may have my wires crossed on some of this, but I know I'm not counting on Java Client being available in the future at all. On May 9, 2007, at 9:36 AM, David Avendasora wrote: I can't find anywhere where anything talks about Direct-To or Non- Direct Java Client being depreciated. But I can't find anything that says otherwise either. I don't believe that the Java-Cocoa bridge (which, if I understand correctly, is what was depreciated and therefore all of the Apple WO Dev tools that used it were too) is in anyway involved in WO Java Client (Direct or otherwise) development or deployment. Out-of-the-box D2JC apps Xcode builds are using a Swing interface, not a Cocoa one that makes calls to underlying Java code. I am somewhat unclear on the use of Interface Bulder for Non-Direct Java Client as this page: http://developer.apple.com/documentation/ WebObjects/DesktopApplications/index.html#//apple_ref/doc/uid/ TP30001017 states that the nib files are translated directly to Swing by WO. So it sounds to me like WO parses the nib file and determines how to build the Swing interface. Since you aren't building a Cocoa UI, I don't think the bridge is involved. But you aren't dependent upon using IB to build your client interface anyway. It's just the Apple way of doing it. But, with all that said, note I said quickly mock-up and prototype. D2JC is a great tool to make sure my model is valid and that the entities and relationships, delete-rules, and optionality I thought were proper on paper, actually work in practice. If they don't work (generate exceptions or are just clunky), I can make a change to the EOModel, rebuild and have a new app based on the new structure _literally_ within seconds without writing/rewriting/ refactoring ANY code. The only thing better than Eclipse's refactoring tools, is not needing to refactor at all. Once I have tested and proved the model, it makes web development so much easier because I can simply concentrate on the logic and the UI. I think that even if D2JC is dead from the perspective of making deployable applications, it is an incredibly powerful prototyping/ proof-of-concept tool that will keep me using Xcode for the initial stages of a project, until at least I can create a new D2JC project in WOLips, point it at a EOModel and click build-and-go. I just wish it weren't dead. (I know, wish in one hand...) Dave On May 8, 2007, at 8:14 PM, Robert Walker wrote: David, I hate to break it to you, but along with the deprecation of the Xcode based tools, comes the deprecation of D2JC (and also non- direct to Java Client as well). At least that's my understanding. I could be wrong about that. But, I'm pretty certain that being able to create Java Client applications with custom interfaces using Interface Builder has no future. On May 8, 2007, at 12:42 PM, David Avendasora wrote: The whole point of _my_ use of Xcode and especially D2JC is that it is nearly zero work to quickly mock-up and prototype object model and have it as a running application (D2JC) in a mater of seconds with no configuration of the development environment. It either Just Works™ or I have a problem in my model somewhere. I don't ever have to question if the problem is somewhere in the configuration of the IDE or the numerous third-party plugins. To me the reason WO-newbies would shy-away from WOLips is that they are already trying to learn WO and Xcode does an excellent job of just getting out of the way and letting you get an initial project up and running quickly. With WOLips, you likely have to learn not only WO, but you have to learn Eclipse's interface and jump through all sorts of hoops like figuring out how to download and install plugins and such before you can even start a project, and I don't think anyone can say that the Eclipse UI is not intimidating when you first get started. Xcode is not intimidating, it holds your hand and asks you some
Re: NSTimer replacement?
Keiran, I do something very similar to this except I typically use an external scheduler such as cron or launchd, which calls direct actions using curl to handle each task. This way the scheduling databases becomes a simple crontab or launchd style schedule. There are many options to this, but I do agree that the scheduling is best done outside your application. Things get much simpler that way, especially where multiple instances are involved. Otherwise you have issues with ensuring the timer is running in only a single instance of your application and other related issues. On May 9, 2007, at 9:35 AM, Kieran Kelleher wrote: I'll try and be brief .For stuff like this I create scheduled tasks in the database. ScheduledTasks have a start date (1/1/2007 0:00 for example) and end date(12/31/2008 10:00 for example) and a frequency (1, 2 ... n) and an interval (minutes, hours, days, weeks, months) and a class name that implements ScheduledTask interface. Related to that are many ScheduledTaskEvents, one for each time the task has executed. Since I run multiple instances, I have a standalone app (ScheduleManager.woa for example) that regularly (every 60 seconds for example) checks the schedule table for tasks to be executed, creates new ScheduledTaskEvents in the db for tasks that are to be executed, and then issues a direct action to the multiple instance app with the ScheduledTaskEvent ID. The task is executed and that's it. The ScheduledTaskEvent entity has STATE such as INIT, PROCESSING and DONE. The ScheduledTaskManager only sends DA's for ones with INIT state. That's the strategy anyway... it has worked solid for a very long time. If you try and go the simple route with a simple java Timer, then AFAIK you will lose that task if you restart your app before it gets executed. So, if you want persistence and reliability, I think you have to consider a way to persist your scheduled tasks in the database and have Singleton style app in your cluster that triggers the scheduled task events. The to-many tasks events allows me to ensure that every task is absolutely executed which is critical since many of the tasks are related to automatic subscription payments and credit card charges. HTH, Kieran On May 9, 2007, at 5:47 AM, Johann Werner wrote: I recently looked at the NSTimer documentation where a note came up stating that it is obsolete and should not be used for new development. Unfortunately there is no mention of alternatives. I have a WO app running that should execute a function at certain dates automagically ;) More precisely: people can register for an event and put in different information. At a certain date (to make sense a couple of days ahead of the event) the app should check if all mandatory information has been entered and sends a reminder email to that person if not. By searching the web the only way if found to implement such behaviour is using a cronjob with wget and a direct action. But by this the app loses control of when the action gets called as it is hardcoded. Additionally I would have to add this call manually in a system config file. I think that's no good as it is not directly related to the app and therefore adds to the install/maintenance complexitiy. What is the common practice to implement such timing needs? 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/kieran_lists% 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Getting a project started right
] ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: NSTimer replacement?
Johann, I think that would be fine if you have a fixed schedule that doesn't change over long periods of time so you could set it manually. The biggest drawback I see in using cron/launchd is that it is way more difficult to change these schedules by your WO apps in response to an user action (file access to sensitive files, need to parse and change the config files, file permissions). It could get even more complex if you deploy on several servers with failover in mind. Then you had to be carefull where to put in the cron/launchd config files to not having more than one server running the system schedule. Putting that information in a db alleviates the problem when using db clustering. Yes, you are correct. I use this in simple cases where I do some periodic processing on a fixed schedule. For more complex, or dynamic, scheduling I use the cron/curl to simply trigger the system to periodically read the schedules configured in the database in a similar fashion to Kieran's solution. On May 9, 2007, at 10:47 AM, Johann Werner wrote: Am 09.05.2007 um 16:34 schrieb Robert Walker: Keiran, I do something very similar to this except I typically use an external scheduler such as cron or launchd, which calls direct actions using curl to handle each task. This way the scheduling databases becomes a simple crontab or launchd style schedule. I think that would be fine if you have a fixed schedule that doesn't change over long periods of time so you could set it manually. The biggest drawback I see in using cron/launchd is that it is way more difficult to change these schedules by your WO apps in response to an user action (file access to sensitive files, need to parse and change the config files, file permissions). It could get even more complex if you deploy on several servers with failover in mind. Then you had to be carefull where to put in the cron/launchd config files to not having more than one server running the system schedule. Putting that information in a db alleviates the problem when using db clustering. jw -- Robert Walker [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: Fetchspec of average related field
Uhm, *something like* this, I am not sure this is correct. RETURN RESULTS is OpenBase specific I think, I don't really know the standard keyword for limiting the number of returned results. You don't know the standard keyword because there is no standard keyword for limiting results. This is one of those parts of SQL that is vendor specific. You are correct that RETURN RESULTS 10 works in OpenBase. In MySQL LIMIT 10 would be the syntax. Other vendors may have even different syntax. - Now, understanding that there will be different camps of thinking on this, here is an alternative: Your query could get much simpler, and way more efficient, if you cache the average review value in your Item table. This would allow you to write your raw SQL against a single database table. This could drastically improve the performance of your query. The downside is that you must ensure that your model keeps this value up-to-date with any changes in your reviews. This is actually a fairly common design pattern that, slightly, breaks the Don't Repeat Yourself (DRY) principal in favor of performance. Anytime you can avoid having to join tables will make your queries much more efficient. Just a thought, but if it were my code I'd seriously consider this alternative. On May 7, 2007, at 1:20 PM, Florijan Stamenkovic wrote: Hi Drew, I have two objects: Item and a to-many child, review. Review has an attribute called rating. I'm trying to use a fetchspec (which appears to be an impossibility) that returns the top 10 reviewed items. Basically, I'd like to sort by [EMAIL PROTECTED] and have only 10 items returned. Is there a way to do this in EOModeler? AFAIK, the only way you could do this in EOModeler is to use raw SQL and modify your select statement to do the appropriate sorting and result number limiting. Careful though, your SQL most likely then becomes vendor specific, and your fetch specification will not update if you make changes in your entity. If not, I can return *all* item objects, sort by [EMAIL PROTECTED], and create an array with only the top ten items in it. This seems like a lot of activity compared to allowing the database to only return the top 10 items. Maybe you could in code add a sort ordering and a result number limit to your fetch specification. That only would work assuming that the eo adapter can translate [EMAIL PROTECTED] to appropriate SQL. Something you would have to try out. Looking at EOModeler though, this is not supported. As it is not there in the fetch spec builder. Still, might be worth a try. Or, you could use a combination of those approaches... Something like: 1. Fetch the itemID values from the RATING table with SQL, using something like: SELECT ITEM_ID FROM RATING GROUP BY ITEM_ID ORDER BY AVG(RATING) DESC RETURN RESULTS 10 Uhm, *something like* this, I am not sure this is correct. RETURN RESULTS is OpenBase specific I think, I don't really know the standard keyword for limiting the number of returned results. 2. Use an EOModel created fetch specification that has a qualification binding on item.itemID and bind the previously fetched IDs to it in code. This is sweet as there is only one place where you have to worry about SQL maintenance. Hope this helps, Flor ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Unable to map destination
but I propagated the primary key and still got the same error , anyone had any problems like this before ? Check you model. Your to-one relationship is not connected to the destination entitie's primary key. Simply checking Propagates Primary Key won't solve your problem. If you are attempting to create a one-to-one relationship between Schedule and Attempt then you will have a the to-one relationship in whichever entity is your Source will need to propagate it's primary key to the Destination entity. You will not propagate the primary key from the Destination entity back to the Source entity. As a side-effect of this type of setup is that your Destination will have empty rows for every Source entity. I don't think most developers use this type of setup in EOF. As a side note: I'm not really sure why Schedule Attempt would constitute a one-to-one relationship. Seems like it would be one-to-many, but since I'm not familiar with your model maybe it is. On May 7, 2007, at 5:43 PM, Guilherme melo wrote: hello all , I am trying to access a field in a to one mandatory relationship and i am getting the following error : java.lang.IllegalArgumentException: Unable to map destination Schedule for relationship schedule in entity Attempt. To one relationships must be joined on the primary key of the destination. I googled about it and got the following answer : Note: For to-one relationships, Enterprise Objects Framework doesn't support primary key to foreign key joins. The destination join attribute in a to-one relationship must be the destination entity's primary key. If you want To One relationship in both directions, you may want to consider a mandatory To One and Propagate Primary Key. but I propagated the primary key and still got the same error , anyone had any problems like this before ? thx in advance - \o/ Guilherme Melo , Moleque de Idéias Educação e Tecnologia Ltda | Phone: 55-21-2710-0178 E-mail: [EMAIL PROTECTED] / \ http://www.moleque.com.br ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: WOLongResponsePage: odd wishes / false usage?
] -- Robert Walker [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: Using WOPopupButton for filtering an array
Carter, The first question I must ask is if your WOPopupButton is inside the form you are submitting? If it's not, then it's selected value will not be submitted by your JavaScript submit. Assuming that it is, you could rely on the component binding system by putting your code in the accessor methods for the value bound to your popup's selection binding. WO will take care of calling these methods at the proper time during the request-response cycle. ... ... protected String popupSelection; public String popupSelection() { return popupSelection; } public void setPopupSelection(String newPopupSelection) { popuselection = newPopupSelection; // do whatever you want here WO will take care of calling this method when the time is right } This is just off the top of my head so hopefully it will be useful to you. On May 2, 2007, at 10:25 AM, Carter Wojcik wrote: Hi All - I would like to use a wopopupbutton to limit the objects that are to be displayed to the the user from a list/repetition. I have created a default eofetchspecification that returns a list. I would then like for the users to be able to pare down the list by selecting from the wopopupbutton. I am using onChange = 'this.form.submit()' to reload the page once a selection is made. I tried to use awake() and takeValuesFromRequest() but the popup is still null. The first time that I am able to get an actual value (instead of null) is during invokeAction, but I don't want to override this method. At what point in the request-response loop will I be able to use the value that has been selected in the wopopupbutton to filter my results? Thanks for the help. Carter __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: WOLongResponsePage: odd wishes / false usage?
Serethos, As far as I know your approach is generally impossible. Nesting one component as an inner class of another seems to me that it would totally screw up WOContext and the entire request-response cycle. The errors you are seeing are likely due to WO context confusion. WO is going to look in your page cache for components using the WOContext, which I'm guessing is getting mangled by the nested classes. I don't see why it's a problem to leave Main a normal WOComponent and add a separate page to your project that subclasses WOLongResponsePage and do your long processing there. Then when complete just return back to Main as the resultPage(). If you choose not to fight the system you'll be a happier programmer. On May 2, 2007, at 9:36 AM, [EMAIL PROTECTED] wrote: Thx for your reply. The main problem is that I am fully aware of using the LRP in a different (and definitely crappy) way. The main question for me is, if my way is generally possible, therefore I have to understand the errors, which occur. In your example terms I want to achive that A contains the main and long processing code, which can/shall _not_ be moved into B. I know, there are several ways and easy methods to get a clear design which would follow apple's example. But for now I have to focus on a bad design. The inner class is the main quickdirty idea of leaving the long processing code int A but starting it within B (possible through the easy and full access to the enclosing A class). ___ SMS schreiben mit WEB.DE FreeMail - einfach, schnell und kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192 -- Robert Walker [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: Upgrade xerces?
Personally, I've had MUCH better success with SOAP web services in WO 5.3.x. As long as upgrading doesn't cause you any problems with other things I'd say it would be well worth it. Just make sure to have your WO 5.2.4 projects tagged in your version control system and a way to roll your system back to WO 5.2.4 in case you need to do that. On May 1, 2007, at 6:52 AM, Corin Lawson wrote: Hi List, I have recently encountered the following error using WO 5.2.4: java.lang.NoSuchMethodError: org.apache.xerces.xni.XMLResourceIdentifier.getNamespace()Ljava/ lang/String I take this to mean that a third party api that I'm using requires xerces 2.6.0 and the distribution provided in JavaXML.framework doesn't provide the required interface. What are my options here? Can I remove the JavaXML.framework and use xercesImpl-2.6.0.jar and xmlParserAPIs-2.6.0.jar libs instead? Can I place the 2.6.0 libs higher in the classpath? I have tried this and I don't encounter this particular problem but what consequences does this have for the rest of the frameworks? Is it backward compatible? What other libs are needed to replace JavaXML.framework? Can I specific some factory somewhere (and what/how)? Should I upgrade to WO 5.3? Will this improve the web services I have implemented or cause headaches? (Or am I just looking forward to headaches whatever the option?) Thanks in advance. Cheers, Corin.___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Problem: WOActionResult with ObjectOutputStream
WOActionResult is a Java interface. Does ObjectOutputSteam implement WOActionResult? No. Therefore you cannot return ObjectOutputStream from a direct action. A direct action, like a component action, needs to know how to participate in the request-response loop. It would do you good to study, and have a clear understanding of, the request-response cycle. This includes methods like appendToResponse(), invokeAction (), and takeValuesFromRequest(), among others. This is explained in the Apple Documentation, as well as in several books on WebObjects. WOResponse would be an example of a class implementing WOActionResults. If you're serialization is working then put that serialization as the contents of a WOResponse and return that instead of trying to return the ObjectOutputStream. WOComponent is another class that implements WOActionResults. On Apr 25, 2007, at 9:56 AM, Frederico Lellis wrote: I'm trying to have a WOActionResult called from a directAction return an ObjectOutputSteam but i haven't had much luck , the serialization is working fine , but i cant seem to send the object . can anyone give me a hand ? thanks in advance -- -- ** Frederico L. Albuquerque \o/ |Moleque de Idéias Educação e Tecnologia Ltda / \ e-mail: [EMAIL PROTECTED] [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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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]
[ANN:OT] For this that have not seen this...
Hi group, For those how don't receive the JDJ Newsletter here is an article I found that I think is very cool... http://java.sys-con.com/read/363691.htm Now we need to introduce this guy to WebObjects. I think he would freak and I bet he is completely unaware of Core Data's history. -- Robert Walker [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: How do I refresh a many-to-many?
http://developer.apple.com/documentation/WebObjects/ Enterprise_Objects/Fetching/chapter_6_section_7.html#//apple_ref/doc/ uid/TP30001011-CH206-BADDGFAG This is a page that explains how to Ensure Fresh Data. Warning: It's not for the feint of heart. This is actually more complicated that it initially seems. By default snapshots are cached for 60 minutes. This is typically too long unless your data is pretty static and stale data isn't a major problem. In cases like your you will need to balance the benefits of the snapshot caching and data freshness using the mechanisms described in the above document. The place to start is with the method on EOFetchSpecification called setRefreshesRefetchedObjects(true); On Apr 18, 2007, at 12:49 PM, Kevin Windham wrote: I have an app with users and clubs. There is a many-to-many between these objects. I allow one user to add another user to their club through a page that fetches the particular user they want to add and then calls the new users addToClubs method. This much works fine. I can go look in my DB and see that the user has been added. However, when I redisplay the original user's club page, the new user does not show up. If I log out of the app and log back in, the new user shows up. I tried adding a refreshObject call on the original user, but that doesn't seem to help. How can I refresh the many to many on my original user? Thanks, Kevin ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Detecting Client's JVM Version
Are you talking about a Java Web Start client or a browser plug-in client for applets? Are you trying to access the client from the server? I don't think you can do that. If you are talking Java Web Start you can send a recommended version inside your JNLP file. But, it's still up the client to respect your request. If you could access this kind of information in the client from your server, that could be a security risk (meaning there is some hole in the client's firewall). If you are trying to detect the Java version from inside a browser, there might be some JavaScript trick for that, but I even doubt that. I could be wrong, but it seems to me that this kind of capability would be going against what I know about security. On Apr 18, 2007, at 3:20 PM, Jonathan Miller wrote: Hi Does anyone have an example on how to detect which version of Java the client is using? Thanks in advance Jon Miller ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: FetchSpecs over derived attributes
I know you can use derived attributes in Raw Row fetches (I do this all the time). I don't see why they wouldn't work in regular fetches too. The exception explains why you can't do that. It's one thing to included derived columns in the results of a query, and quite another to make a derived column part of your qualifier. The derived column is defined in the model, but how would EOF generate a WHERE clause using a derived attribute, since there's no column in the database to access? On Apr 16, 2007, at 2:08 PM, John Huss wrote: I know you can use derived attributes in Raw Row fetches (I do this all the time). I don't see why they wouldn't work in regular fetches too. John On 4/16/07, Ken Anderson [EMAIL PROTECTED] wrote: No. Fetch specs work directly against the database, so if the column doesn't exist (as with derived attributes), it can't work. You would have to do a fetch on a superset, then use an in-memory qualifier to include your derived attribute. Ken On Apr 16, 2007, at 10:45 AM, Catarina Vieira Simoes wrote: Hi! Is it possible to do a FetchSpecification over derived attributes? I tried and I got the error: java.lang.IllegalStateException: sqlStringForAttribute: attempt to generate SQL for attribute 'attributeName' on entity 'EntityName' with undefined column name. You must define a column name for this attribute before attempting a database operation. Since the derived attribute doesn't have a real column it should work, no? :) Thank you in advance. Sincerely, Catarina ___ 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/kenlists% 40anderhome.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/johnthuss% 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: FetchSpecs over derived attributes
Fetch spec qualifier = totalTaxes 0 Interesting. What does the generated SQL look like? On Apr 16, 2007, at 3:45 PM, John Huss wrote: Here's an example: Attribute name = totalTaxes Attribute derived definition = productTax1 + productTax2 + productTax3 (productTax* are attribute names in the same entity, not the column names) Fetch spec qualifier = totalTaxes 0 This works for any kind of fetch spec. John ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: FetchSpecs over derived attributes
Well, how about that. Learn something new everyday. I tried this myself in a quick test. Here's the full SQL from my test fetch specification: Fetch Spec: EOQualifier qual = EOQualifier.qualifierWithQualifierFormat(value3 50.0, null); EOFetchSpecification fs = new EOFetchSpecification(Person, qual, null); value3 is the derived attribute... SQL output: SELECT t0.first_name, t0.last_name, t0.id, t0.value_1, t0.value_2, value_1 + value_2 FROM people t0 WHERE value_1 + value_2 ? withBindings: 1:50.0(value3) So in the simple case this appears to work as expected. I would guess that the derived attribute in question may be too complex for this to work properly. I've run into similar cases where a fetch that can be performed in memory cannot be translated to SQL. This may be what's happening in the case in question. On Apr 16, 2007, at 4:57 PM, John Huss wrote: It resolves the attribute names to the columns names as you would expect, so you get Select ... Where (inm_productTax1 + inm_productTax2 + inm_productTax3) 0 John On 4/16/07, Robert Walker [EMAIL PROTECTED] wrote: Fetch spec qualifier = totalTaxes 0 Interesting. What does the generated SQL look like? On Apr 16, 2007, at 3:45 PM, John Huss wrote: Here's an example: Attribute name = totalTaxes Attribute derived definition = productTax1 + productTax2 + productTax3 (productTax* are attribute names in the same entity, not the column names) Fetch spec qualifier = totalTaxes 0 This works for any kind of fetch spec. John ___ 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/ robertwalker1%40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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/johnthuss% 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: FetchSpecs over derived attributes
In any case I generally avoid using derived attributes altogether and use custom business logic instead for the following reasons documented in the EOModeler user's guild: - Derived attributes are effectively read-only since there is no place to write them back to. You could get the value of a derived attribute and write it back to another column but that requires another attribute. And if you need to store the value of a derived attribute, it’s usually much better to perform the derivation in business logic rather than at the attribute level. (Alternatively, you could use custom read and write formats to accomplish this. See “Read Format and Write Format”). By deriving attributes at the business-logic level, you write the code in Java, you avoid writing database- specific SQL, and you get the full benefits of enterprise objects. One of the most important benefits is the internal update notifications that enterprise objects send and receive. In the previous example, if you change an employee’s monthly salary, the derived attribute that calculates the annual salary is then incorrect. And since the attribute is derived, its value as it exists in the enterprise object is immutable. Unless the object is flushed from the access layer’s snapshot and refreshed, the derived attribute is stale and inaccurate. Derived attributes can be useful but should probably be reserved for read-only applications and can usually be replaced by values derived in business logic. Also, because derived attributes don’t directly map to anything in the database, they cannot be used for locking or as primary keys. - -- Robert Walker [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: FetchSpecs over derived attributes
Chuck, While it sometimes _seems_ like a guild, I don't think we have actually formed it yet. :-P ROFL. You caught me. I spend way too much time in World of Warcraft. :-P On Apr 16, 2007, at 5:49 PM, Chuck Hill wrote: On Apr 16, 2007, at 2:41 PM, Robert Walker wrote: In any case I generally avoid using derived attributes altogether and use custom business logic instead for the following reasons documented in the EOModeler user's guild: While it sometimes _seems_ like a guild, I don't think we have actually formed it yet. :-P -- Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [EMAIL PROTECTED] There are 10 types of people in the world, those who think in binary, and those who don't. ___ 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: Type Number in WO WebServices
Fabrice, element name=height nillable=true type=tns3:Number/ If you look here you can see the your are referring to a Java Number class which is also a complex class and Cocoa is not going to understand. Here is a simple type from one of my WSDL files: wsdl:message name=logsProcessedTodayResponse wsdl:part name=logsProcessedTodayReturn type=xsd:int/ xsd:int will be understood fine by the core services frameworks. Number will not. Make sure that whatever value you are sending for height is one of the known simple types like xsd:int or xsd:float. On Apr 13, 2007, at 11:24 AM, Fabrice Pipart wrote: Hi list ! I beg for some help because I think I will get crazy about this issue. I have a class registered as a WebService : WOWebServiceRegistrar.registerWebService(AssistantResponder.class, true); I have a complex type registered with Bean Serializer and deserializer : QName qname = new QName(http://client.easyshadow.com;, MyClass); WOWebServiceRegistrar.registerFactoriesForClassWithQName(new BeanSerializerFactory(com.easyshadow.client. MyClass.class, qname), new BeanDeserializerFactory(com.easyshadow.client. MyClass.class, qname), com.easyshadow.client. MyClass.class, qname); I can access the WebService without problem from a Cocoa app. I thought it would be even easier to access the same Web Service from another WO app. I tried to base my code on Apple docs : http://developer.apple.com/documentation/WebObjects/Web_Services/ Web_Services/chapter_4_section_3.html No luck. Yes I can list all the methods that can be called. But as soon as I try to invoke one, I get this : javax.xml.rpc.ServiceException: Error processing WSDL document: java.io.IOException: Type Number is referenced but not defined. Here is the header of my generated wsdl file : wsdl:definitions targetNamespace=http://192.168.41.102/cgi-bin/ WebObjects/EasyMediaOnline.woa/-2007/ws/.AssistantResponder xmlns=http://schemas.xmlsoap.org/wsdl/; xmlns:apachesoap=http://xml.apache.org/xml-soap; xmlns:impl=http://192.168.41.102/cgi-bin/WebObjects/ EasyMediaOnline.woa/-2007/ws/.AssistantResponder xmlns:intf=http://192.168.41.102/cgi-bin/WebObjects/ EasyMediaOnline.woa/-2007/ws/.AssistantResponder xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/; xmlns:tns2=http://client.easyshadow.com; xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/; xmlns:wsdlsoap=http://schemas.xmlsoap.org/wsdl/soap/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; wsdl:types ... complexType name=MyClass sequence element name=duration nillable=true type=xsd:anyType/ element name=height nillable=true type=tns3:Number/ ... /sequence /complexType Note that tns3 is referenced but never defined... Is this a WO bug when generating the wsdl? I am not a WebService expert, so I may have misunderstood something... Regards Fabrice Pipart www.easyshadow.com International Corporate Consulting Palais de la Scala 1 avenue Henri Dunant Suite 1155 MC - 98000 Monaco Skype: fabrice.pipart Tel. +377 97 98 21 04 (direct) Fax. +377 97 70 88 07 ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([EMAIL PROTECTED]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([EMAIL PROTECTED]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Type Number in WO WebServices
Fabrice, And now for my real response... Make your life many times happier and forget SOAP and use REST instead. Unless you have a very strong, and compelling, need to use SOAP web services. Life is sweet when running on REST, and is so much cleaner than SOAP. :) On Apr 13, 2007, at 11:24 AM, Fabrice Pipart wrote: Hi list ! I beg for some help because I think I will get crazy about this issue. I have a class registered as a WebService : WOWebServiceRegistrar.registerWebService(AssistantResponder.class, true); I have a complex type registered with Bean Serializer and deserializer : QName qname = new QName(http://client.easyshadow.com;, MyClass); WOWebServiceRegistrar.registerFactoriesForClassWithQName(new BeanSerializerFactory(com.easyshadow.client. MyClass.class, qname), new BeanDeserializerFactory(com.easyshadow.client. MyClass.class, qname), com.easyshadow.client. MyClass.class, qname); ... Regards Fabrice Pipart -- Robert Walker [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([EMAIL PROTECTED]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Type Number in WO WebServices
Humm, Is there any possibility to register that complex type like I did for MyClass ? I guess it would be easier to change my numbers to ints but that app is versioned and I would prefer leaving it like this That is interesting Sorry I don't have an immediate answer for that. On Apr 13, 2007, at 4:45 PM, Fabrice Pipart wrote: Thanks for the answers ! Though I think you missed something : On Apr 13, 2007, at 11:24 AM, Fabrice Pipart wrote: I can access the WebService without problem from a Cocoa app. I thought it would be even easier to access the same Web Service from another WO app. I tried to base my code on Apple docs : http://developer.apple.com/documentation/WebObjects/Web_Services/ Web_Services/chapter_4_section_3.html I am not trying to consume that web service from a Cocoa app (that part works) but from Web Objects. And unfortunately WO itself cannot consume a web service it provides itself :-( But the tips might be useful to improve the Cocoa part ;-) Le 13 avr. 07 à 22:00, Robert Walker a écrit : element name=height nillable=true type=tns3:Number/ If you look here you can see the your are referring to a Java Number class which is also a complex class and Cocoa is not going to understand. Here is a simple type from one of my WSDL files: wsdl:message name=logsProcessedTodayResponse wsdl:part name=logsProcessedTodayReturn type=xsd:int/ xsd:int will be understood fine by the core services frameworks. Number will not. Make sure that whatever value you are sending for height is one of the known simple types like xsd:int or xsd:float. Is there any possibility to register that complex type like I did for MyClass ? I guess it would be easier to change my numbers to ints but that app is versioned and I would prefer leaving it like this Fabrice ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([EMAIL PROTECTED]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([EMAIL PROTECTED]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Converting WO app to Multithreaded WO app...
1) What is the effort required to convert my WO app (or) in general a WO app to a Multithreaded application ? It has been my experience that you likely have a problem with your design in EOF. I seriously doubt that you will see much improvement in performance by multi-threading your application. Yes you can gain a bit by using concurrent request handing, but if you are having serious performance problems it's likely due to improper or inefficient handling of fault firing. On top of that it's my understanding that EOF is single-threaded anyway. So if your issue lies somewhere in EOF, concurrent request handling won't do you any good. EOF will fire faults in sometimes very unexpected ways (at least for those new to WO/EOF). Let's look at an example: Say you have a music store, and are tracking the songs purchased by users. So you create the following relationships: Customer -- Song Now you might want to add a delete rule to prevent the Customer object from being deleted once they have purchased at least one song. You may go months without seeing any issues as long as the average number of songs purchased by customers remain relatively small. However, later when you have some preferred customer that goes out and buys 25,000+ songs suddenly you see tremendous delays when pushing changes for this customer to the database through EOF. The culprit is the to-many relationship from Customer to Song. When EOF begins to save changes, and needs to know if the customer has purchased any songs, in order to satisfy it's deny delete rule or cascade delete the deferred fault in Customer will be fired. The effect of this is a fetch of 25,000+ rows from the database, 25,000+ EOEnterpriseObjects being created just so the system can ask the question: Has the Customer purchased any Songs? And, if you're thinking this would only happen when deleting a Customer object, you would be mistaken. If the relationship exists it will be fired during the save or possibly even before. When I design an EOModel, I keep in mind how many possible objects could be related to another object through a to-many relationship. If I expect that to be more than a few hundred I basically prevent the to-many fault from ever being fired by removing it as a class properly. This means that you cannot use the built-in delete rules that are available in the model. In order to support delete rules I wrote my own set of utility methods that use raw SQL to perform count operations, which can be hundreds of times faster than EOF can do the same count. I then call these methods from my custom EO subclass in validateForDelete(). If I need to deny delete, for example, I get the count using raw SQL and if the result is 0 then I throw an NSValidation.ValidationException. I'm guessing there is probably some tools available in ProjectWonder to deal with these issues, but I have just never taken the time to integrate ProjectWonder in my applications. This is mainly due to the fact that we are really just maintaining some existing WO applications and not currently creating any new ones. But, that's another story. On Apr 9, 2007, at 5:12 AM, Shravan Kumar.M wrote: Hi Group, We have a WebObjects built application. Its performing slow and it becomes even slow when multiple users access the application, it crashes, it times out and so on. Can any one please add their excerpts to my below questions: 1) What is the effort required to convert my WO app (or) in general a WO app to a Multithreaded application ? 2) What are the pros and cons of the Multithreaded WebObjects application ? 3) Also, can you tell me any efficient tips to debug the application for finding out what is sucking the application performance ? 4) Any other directions towards solving this problem are Welcome ? Looking forward to all your help. Let me know in case you need any other info. Thanks Rgds, Shravan Kumar.M Let us learn from the past to profit by the present,and from the present to live better in the future. --William WordsWorth --- ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: No file data from WOFileUpdate
I've seen this problem when the filePath binding is not set. You need to bind this value even if just to a string in your controller class. On Apr 3, 2007, at 2:24 AM, Janine Sisk wrote: I know I've been staring at this for too long; hopefully the answer isn't *too* obvious. Here's what I have: .wod MainForm : WOForm { enctype = multipart/form-data; } ImageFile : WOFileUpload { data = imageFileData; mimeType = imageMimeType; } SubmitButton : WOSubmitButton { action = saveChanges; value = Save Changes; } .java in saveChanges(): if (imageFileData == null || imageFileData.length() == 0) { System.out.println(exiting because there is no file data from the upload); return null; } Consistently, imageMimetype is set (correctly) but imageFileData is null (I have confirmed that it is actually null, not zero length). I haven't been able to find much documentation on this, but what I do have seems to indicate that I'm doing this right, and it seems too simple to screw up anyway. However :) The file I'm uploading is only 152KB so I don't think it's a size problem, unless the file is so small WO can't find it. :) Suggestions welcome! thanks, janine ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: EditingContext/Sorting Problem
David, public NSArray scheduledRoutings() { return (NSArray)storedValueForKey(scheduledRoutings); } If you simple want the array returned in a different order I would suggest creating another method instead of overriding the super- classes method. public NSArray scheduledRoutingsOrdered() { return EOSortOrdering.sortedArrayUsingKeyOrderArray (super.scheduledRoutings(), this.defaultSortOrderings()); } public NSArray defaultSortOrderings() { // return your desired sort orderings here } This is what I do and don't recall ever having a problem with it. One other nice benefit of this is that you can choose to bind to either the unordered or ordered array. If you have a case where the order is not important, calling the unordered list can be more efficient. On Apr 3, 2007, at 10:17 AM, David Avendasora wrote: Hi all, I have what is probably a really basic WO problem, but I have been trying to figure it out for the last couple days with no luck. I have a superclass for my entity (_ManufacturingSchedule) that is generated by EOGenerator. It has the following method to return all the related objects in a to-many relationship: public NSArray scheduledRoutings() { return (NSArray)storedValueForKey(scheduledRoutings); } I am overriding this method in the subclass (ManufacturingSchedule) with: public NSArray scheduledRoutings() { NSArray sortedArray; NSMutableArray sortOrderings = new NSMutableArray(); EOSortOrdering productionSequenceSort = new EOSortOrdering (productionSequence,EOSortOrdering.CompareAscending); EOSortOrdering toolSort = new EOSortOrdering (routing.tool.toolName,EOSortOrdering.CompareAscending); sortOrderings.addObject(toolSort); sortOrderings.addObject(productionSequenceSort); sortedArray = EOSortOrdering.sortedArrayUsingKeyOrderArray (super.scheduledRoutings(),sortOrderings); return sortedArray; } All I am trying to do is sort the results a certain way any time the related objects are requested. The problem is that when I use this method, any objects added to the relationship during the current session (one EditingContext per session right now) don't show up. If I save the EditingContext to the DB, then kill the session and call the relationship again, the objects I added show up. If I simply remove the overriding method in the subclass, everything shows up as expected, just not sorted of course. Why aren't new objects returned when sorted as above? Dave ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: EditingContext/Sorting Problem SOLVED
Okay. I've given the method a new name and it is working perfectly now. I'm assuming that this applies to filtering the array of related objects as well. Yes? Yes. BTW, did I miss something in the documentation where it tells you not to override these? I have several WO books as well, and while the examples always show using a separate method, they don't say it's required. If you were to look deeper at the array return by the relationship methods you would find that they are not simple immutable arrays like the return type indicates. They are treated internally as something like XXCheapCopyMutableArray or some such beast (I can't remember the exact class name). Then the reference to that gets returned to you cast to a basic NSArray. Maybe that has something to do with the problems of overriding those methods in a subclass. I'm not really sure of the internal mechanics of EOF. I just know not to override those methods, but rather use the technique give in the previous response of providing a new method that makes use of the original method. On Apr 3, 2007, at 10:59 AM, David Avendasora wrote: Okay. I've given the method a new name and it is working perfectly now. I'm assuming that this applies to filtering the array of related objects as well. Yes? BTW, did I miss something in the documentation where it tells you not to override these? I have several WO books as well, and while the examples always show using a separate method, they don't say it's required. Thanks again for the help everyone! On Apr 3, 2007, at 9:51 AM, Ken Anderson wrote: Use a separate method instead of overriding the existing method. There are assumptions made about the array returned via KVC, and you are breaking those assumptions by reordering an array that EOF thinks it owns. ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: JavaClient WebClient in one application
David, In my opinion you have already made the correct choice. That is to keep them separate. If you are having data synchronization issues that is separate. You would have exactly the same data synchronization problems simply by running two instances of the same web application. First you need to fix your data synchronization problems then you can happily run your web and client applications separately sharing your business logic framework. I've had some experience trying to mix web and client applications into a single application. IMHO it's just not worth the headaches it causes. Here is a note warning just so you don't run into this problem yourself like I did. DO NOT use concurrent request handing with JavaClient applications. JavaClient expects synchronous handing of request and will break in dramatic ways if the concurrency flag is set. On Apr 3, 2007, at 12:16 PM, David Avendasora wrote: Hi everyone, Does anyone have any information, or can point me to any information, about running both a Direct to Java Client and standard (NOT Direct to Web) Web Client on one instance of an WebObjects application? Right now I have them as two separate applications, both using the core framework pointing to the same DB. This of-course can cause problems with data-synchronization. While running them from one application will not completely eliminate the issues, it should mitigate them to some extent. Thanks, Dave ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: WOForm Question
David, What does your model look like? Is it something like: Routing RoutingStep With a relationship from Routing to RoutingStep named routingSteps. Guessing here, but I suppose you have a form for entering information on an instance of Route: Now your are trying to update an attribute of RoutingStep with a binding like: currentRoute.routingSteps.someAttribute If my guess is correct, well you can't do that because currentRoute.routingSteps would return null if there are no routing steps. I'm making this assumption because I've seen beginners to WO try this. There are a few options for dealing with this case. But most would include creating an interface to display the array of routingSteps and actions to add and remove routing steps from the array. You also need to properly manage the to-many relationship when adding and removing. Generally using addObjectToBothSidesOfRelationshipWithKey. Once you are able to iterate over your routingSteps relationship then you can bind your form controls to currentRoutingStep or whatever you decide to call the iterator reference. On Apr 3, 2007, at 3:39 PM, David Avendasora wrote: Okay, it isn't a nesting problem on the web-component side of things. I think it is a problem with how I'm stepping through the objects to update them. Simple attributes and to-one relationships are easy, to-many relationship updates have me stumped. Can anyone give me an example of how to iterate through the related objects and update them with the values submitted in the form? Thanks, Dave On Apr 3, 2007, at 2:19 PM, Chuck Hill wrote: On Apr 3, 2007, at 12:12 PM, David Avendasora wrote: Okay, I have one form on the page. One submit button in the form. It will update the attributes of Routing (the top level component) but as soon as I try to update attributes of destination of the to-many relationship (RoutingStep) I get a java.lang.NullPointerException. The object that it is finding to be null is the aRoutingStep object that is the item binding of the WORepetition. The list binding of the WORepetition is aRouting.routingSteps. Am I missing something? A nesting problem? webobject name=Repetition !-- here the value of the item binding of Repetition is guaranteed to have a valid value --: ... /webobject name=Repetition !-- here the value of the item binding of Repetition is guaranteed to be null --: 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: WOSortOrderManyKey
Bruno, If I were you I would forget that you ever saw this component. I realize now why I've never seen it used. It is actually a really bad control. It doesn't even seem to be working correctly. I got it half working but even if it did work it's still a really poorly done widget. Your users are going to expect something much nicer than this in the modern age of the web. Have you considered using some AJAX for sorting and batching your table? For one thing it throws exceptions if your WODisplayGroup has no sort ordering set prior to loading the page. Even when used as documented (with the control wrapped in a WOForm) choosing anything but the first item in the keyList has no effect. It doesn't seem to remember what item you chose between page refresh cycles. I'm sure you can come up with a much better way to build what you want. I think you would be better off explaining to us your desired behavior instead of asking how to make this widget work. On Mar 29, 2007, at 4:14 AM, WIESEN Bruno wrote: Hello, I can't deal with this component and I can't find good documentations... Can someone give me a working example? or somewhere to find documentations? Thank you. Bruno. ___ 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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Project architecture
in my opinion, if you can transfer to the modern tools: http://www.amazon.com/WebObjects-Web-Application-Construction-Kit/ dp/ 0672320746 On 29.03.2007, at 11:03, Webobjects Developer wrote: I'm a relative newcomer to WebObjects, but I've built a few applications and feel like I have a good handle on the technology. I'm thinking about using WebObjects for my next online project. My question is about project architecture. I envision the following major components: - The backend database - The administrative web site - The [non-secure] user web site - The [secure] store web site My goals are to: - Hire a non-technical web designer for the user web site and store web site - Use off the shelf tools like Dreamweaver or Go Live for web design - Include some dynamic content in user web site - Provide bookmarkable, non-cryptic links to user web site For instance, it seems unreasonable for my web designers to deal with the WO component .html or .wod files of the WO project. Also, using WO components for the user web site pages makes it harder to provide bookmarkable links for the pages on the user web site that have dynamic content. But if not WO components for the pages, then what? What are the suggested WebObjects techniques for organizing a project to meet the goals above? ___ 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/lists% 40event- s.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/robertwalker1% 40mac.com This email sent to [EMAIL PROTECTED] -- Robert Walker [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: Project architecture
As I see it, there are three types of pages: - static, - non-persistent dynamic, - persistent dynamic. I actually see this list slightly different: - static pages (no dynamic content) - stateless dynamic pages (requiring no session management but still contain dynamic content) - stateful dynamic pages (requiring a session to track user's action, but not to protect content) - stateful secure pages (requiring a session and a login and likely SSL) I haven't worked much with direct actions, but if a web designer adds a non-persistent dynamic page to the site, do I need another WO component to handle it? Or can WO just serve up all pages in a particular directory? If it were me I wouldn't use WebObjects in this manner. In my opinion it's not really the same as a basic page pre-parser like PHP. WebObjects shines when it has direct access to resources such as the database content, static HTML templates, CSS, JavaScript and anything else that makes up the dynamic content. And to have these resources available on the Application Server (whether that is, or is not, the same box as your Web Server). I think about it this way. Most web servers tend to provide content for multiple domains from a single server box. PHP also tends to follow this same pattern given it is so directly connected to the web server itself. WebObjects is different. You tend to think about how many server boxes will be used to serve up the dynamic content from the resources and database (or database cluster). There is really no direct connection to the request hitting the web server. The requests are forwarded by the HTTP Adaptor to the Application server and the web server immediately goes on with it's business until it hears back from the HTTP Adaptor. The adaptor is responsible for redirecting the next request to the proper application server and instance. So WebObjects is a larger solution in that it manages a cluster of servers including load balancing solutions. To do this with PHP requires additional tools to manage the clustering. This also goes for other scripting technologies like Ruby on Rails. Sorry that was a bit of a complicated way to say that PHP templates tend to live in the same realm as the web server, this is not the case with templates in WebObjects, and for good reason. A hammer is great for driving nails, but isn't so great at driving screws. On Mar 29, 2007, at 2:53 PM, Webobjects Developer wrote: You have good advice. The question is how to implement/architect it? As I see it, there are three types of pages: - static, - non-persistent dynamic, - persistent dynamic. But from a web designer perspective, they will be designing all of the pages to look and feel the same. They will share structure and css. The web designer can design using placeholders, of course. But my question is more how to make it easy to take what the web designer has done and integrate it into the WO application. What WO project structure do I use to serve static, non-persistent dynamic, and persistent dynamic pages from a single directory? The default projects have the .html files inside the WO component directories... i.e. distributed into multiple directories. I haven't worked much with direct actions, but if a web designer adds a non-persistent dynamic page to the site, do I need another WO component to handle it? Or can WO just serve up all pages in a particular directory? On 3/29/07, Robert Walker [EMAIL PROTECTED] wrote: Another aspect of site design that you seem to be missing is that a well designed site will isolate the static and dynamic parts of the site. Take Apple's own web site as an example. Browsing around you will quickly notice that the entire site is not wrapped in WebObjects. The home page and many other pages are simple static pages like any other site. But, clicking on the Store tab at the top will immediately redirect the user to the Apple Store WebObjects application which then offers up a set of publicly accessible dynamic pages build using WOComponents. It's not until you wish to check out are you asked to log in with your account credentials. The same thing holds true if a user clicks the .Mac tab from either the static site content or from within the Apple Store application. This will then direct the user to a completely separate and independent WebObjects application to generate all the cool .Mac stuff like the new Mail application within .Mac. You will also notice other non-WebObjects, but still dynamic pages developed in other web application technologies. It's all a matter of choosing the right tool for the job at hand. It really makes no sense to force fit any technology into tasks it's not well suited to service. Also for those areas that cross over between designer HTML and programmer HTML (contrived terms warning) WebObjects offers nice component architecture to help deal
Re: Project architecture
I think it's also noteworthy to mention that WO is not unique in this at all. You would have exactly the same issues with anything based on J2EE. JSPs are not dissimilar to WO Templates. Even some scripting solutions like Ruby on Rails are not immune from this. You're still going to have programmer specific custom tags within the UI that a pure web designer will have to work around. I personally think the real problem is not that HTML is for designers, but that designers are having to deal with HTML code. If the web was build by designers instead of programmers then designers would not ever see the HTML code. Designers working in Adobe InDesign never see, or care anything about, how InDesign keeps track of formatting text and graphics on a page, nor should they. On the contrary a UI programmer cares very much about how the system organizes windows and views within those windows. They need to know specifically how to interact with those objects from within their code. So this is not IMHO a failure in any way of WebObjects or any other solution, it's a failure of the basic design of the Web in general. So we do the best we can by building good communication and cross training between coders and designer to work around this fundamental flaw. CSS is helping, but it's still to much for the programmer and not enough for the designer, this is getting better all the time as the design tools improve. A Web build by the likes of Adobe would have made it a much difference place than it is today. Designer wouldn't be dealing with code and there would be a much more distinct divide between web pages and web applications. On Mar 29, 2007, at 4:08 PM, Webobjects Developer wrote: Using WO, how does one separate the web designer from the programmer? ___ 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