Re: Ant build in WO 5.4 not working (Windows)
Hi Susanne, The WebObjects license is very liberal and the intent is that you can pretty much install it anywhere provided that you don't build a competing dev environment with it. If you have a MacBook why not develop under MacOSX? Pierre -- Pierre Frisch pie...@apple.com On Jul 29, 2009, at 2:49, Susanne Schneider wrote: Hi Chuck, first thank you very much for your patience with such a latecomer like me! Chuck Hill schrieb: On Jul 28, 2009, at 8:16 AM, Susanne Schneider wrote: Hello everybody, today I tempted fate and installed WO 5.4 on an Windows system (based on an MacBook) for development parallel to an existing 5.2 installation. After trying the tutorial for parallel handling from the wiki without any success I simply copied the new Framework directories into the old location. Not very elegant but seems to work: I could compile in Eclipse (3.5, WOLips 3.4.5872). But I did not succeed in making an ant build. I always get the message "There is not root named "C:/Apple" in [[Root: name= Project" when coming to the compile target. Alas I haven't the faintest idea what is meant by that. Could somebody help me, please?? Is the problem related to the new framework/classpath handling I hadn't understand either? Yes, you need to update the build files. The easiest is to create a new project and move the build.xml file over. This will NOT be compatible with older versions of WOLips (pre-New Hotness). Look in the woapplication task for a section like: OK, for starting from scratch and learning I make a fresh new TestApp and tried to build that. At first try the ant build needs a new "wolips.properties" which I created. This took me one step further but now the build fails with the message "Could not find wobuild.properties. Run the buildfile: woproperties.xml first". But I have the normal old-fashioned wobuild.properties in the standard location. And I could not find any "woproperties.xml" file. Do I have to place the wobuild.properties in a special location or to configure it somewhere in Eclipse? At the moment I found it very confusing: I found 3 locations where the installation of framework path are defined: - classpath-variables (Eclipse during startup from NEXT_ROOT?) - wobuild.properties - wolips.properties and even there are multiple properties to the same path in one file. By the way, the licence terms of the 5.4 version leave some points unclear, especially section 4 about termination. I tried to get information from Apple, but at least at the german telephone sites there was no much help. Does anybody knows an email contact at apple for official information ("webobje...@apple.com" did come back)? I don't have the license handy. Do you have a link or can you paste in that section? The legals are here: http://images.apple.com/legal/sla/docs/xcode.pdf The section I found unclear is: "4. Termination. ... In addition, Apple reserves the right to terminate this Licence if a new version of Apple's operating system software or the Developer Software is released wich is incompatible with this version of the Developer Software. Upon the termination of this Licence, you shall cease all use of the Developer Software and destroy all copies, full or partial, of the Developer Software." What is meant by "incompatible"? A update from 5.4.3 to 5.4.4 or to 6.0? Does this imply deployed applications too? There is no mentioning how do you get notice of a termination at all. And as I would interpret this section this would even apply if you do not upate your development system. This is not a very trustable ground for developing to-be-sold software upon. I rather would like to pay for software I am free to use as long as I like (and on any platform I like)! Regards, Susanne -- Susanne Schneider Coordinator secuTrial Development iAS interActive Systems GmbH Dieffenbachstraße 33 c, D-10967 Berlin fon+49(0)30 22 50 50 - 498 fax+49(0)30 22 50 50 - 451 mail susanne.schnei...@interactive-systems.de webhttp://www.interActive-Systems.de Geschäftsführer: Dr. Marko Reschke, Thomas Fritzsche Sitz der Gesellschaft: Berlin Amtsgericht Berlin Charlottenburg, HRB 106103B ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.
Re: WO Deployment [was:A WebObjects article on Appleinsider]
Andrew, There was some test made 3 years ago to use the mod_proxybalancer for WO and it works well. There 2 issues to fix: one is trivial the session id key is "sessionid" and not "wosid" 5.4 and later support changing that key. The other issue is dynamic reconfiguration. Adding an instance require editing the apache config file and restarting apache. We need to add to the mod_proxybalancer a mechanism to dynamically load the configuration, this is not a major endeavor and I am looking for a volunteer… We should contribute this code back to the apache foundation so we don not have to maintain it ourself. I would be happy to work with whoever volunteer. I like the idea of moving to a servlet container bundle. I am not sure what would be required for this to work. Cheers Pierre -- Pierre Frisch pie...@apple.com On Jul 8, 2009, at 19:26, Andrew Lindesay wrote: Hi Mike; Given how close "mod_balancer" is to the traditional WO deployment, it might be a nice approach for "mod_balancer" to take on-board the few additional concepts necessary to support something which works like "JavaMonitor / wotaskd" so that deploying a WO system does not need a special Apache module compiled for it. That would make a whole heap of documentation and confusion go away. Yeah, this is actually exactly what I referring to :) I guess it's the obvious thing to do. :) Something like we're used to with JavaMonitor controlling the proxy balancer module would be very handy. "mod_balancer" needs to be able to socket-connect to an external system (like wotaskd) to get the list of instances to 'balance over'. I'm sure you know that there is an HTML interface called "balancer manager" in mod_balancer, but of course it has no ability to start the running instances on remote hosts and is.. well... not that great. "Ping" and shutdown are supported as part of the AJP protocol (at least AJP13) and I think that "refuse new sessions" should perhaps be handled on the "mod_balancer" rather than the instance. Another thought which may reduce the deployment documentation/ development overhead and ease-of-approach for newbies is that WOA's could be built into servlets all the time, but that there is a "special servlet container" built into WO runtime that can launch the app in a way which resembles a stand-alone execution of the application without the palaver that often goes with servlet deployments. This idea may be quite nice. So are you suggesting that WO should ALWAYS be running as a servlet, just that WO itself has a tiny little servletish container in it that it uses for directconnect? In short; Yes! :) An important aspect of such a change would be to make that "tiny little servletish container" nice and simple to run, but still do the bare minimum to feed a servlet with WOMessage-s from HTTP or AJP and fudge the URL-s for "mod_balancer" (see LEWOAJPContext). BTW; still happy to push my the AJP adaptor framework into ProjectWonder instead of my distro if you want. cheers. ___ 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/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: JavaXML.framework replacement
JavaXML is a convenience so that you can deploy easily. there is no specific WO code in there and it can easily be replaced by its components. Be careful about Axis, WO 5.2.x works with Axis 1.0, WO 5.3.x with Axis 1.1 and WO 5.4.x with Axis 1.4. Any other combination is known NOT to work without serious hacking. Cheers Pierre -- Pierre Frisch pie...@apple.com On Jul 1, 2009, at 5:52, Dov Rosenberg wrote: We ended up doing exactly that. If you deploy your apps as a servlet the JavaXML framework is not even loaded by the servlet container because it contains servlet classes like HTTPRequest. The J2EE spec that any jar that contains those classes will be ignored by the classloader. Which means all of the other things that you thought you were using were also not being loaded from that jar. Dov On 7/1/09 8:48 AM, "David Avendasora" wrote: Hi all, I am trying to figure out the best way to replace any jars required by projects that in the past were provided by the JavaXML.framework. Should I simply download the latest versions of the needed jars from their original sources and put them in my Libraries directory? While I'm sure Maven would be a possible solution for this, right now I'm looking for the non-maven (Fluffy Bunny Layout) solution. 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/drosenberg%40inquira.com This email sent to drosenb...@inquira.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/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Escaping in strings according to WOML
Mike, Have you done any performance testing on this? I would have question about invoking OGNL for each binding. I am not saying this is bad just that the core WO is made to be very efficient and that pose some constrains on what we can do. I know that RoR has some very nice feature but it is also very slow. We have to find a happy medium, the Association factories are quite efficient and the overhead is very minimal but there is a bit more code to write, although we could probably template a lot of it. As for the comments in bindings I agree. I have not had time to look into it, would you like to? Pierre -- Pierre Frisch pie...@apple.com On Jun 30, 2009, at 10:13, Mike Schrag wrote: This requires an association factory registered per function, though, right? Part of the niceness of helpers is how they are registered and resolved ... For instance, I can just create PersonHelper, and somePerson| displayName will automatically look for PersonHelper and call displayName on it, just based on the type of the bound object. It will also walk the inheritance tree, so you can have EOGenericRecordHelper and it will look up the inheritance tree to find the class or interface helper that defines the function you're referencing (so you can do "$anyEO|id" and it will call EOGenericRecordHelper.id(eo) ). Also, because it's implemented behind the scenes as an OGNL expression, you can pass arbitrary params "for free" -- so I can do "$paragraph|highlight(word)" and it will call StringHelper.highlight(String paragraph, String word). On top of that, if your binding evaluates to null (say "somePerson" was a null in the first example) it actually computes the Class name of the bindings (we have an NSKVC impl that operates purely on Classes, not on the objects themselves) and figures out what type the object WOULD have been (obviously limited by what you declare it to be) and calls the appropriate helper passing a null, so you can do helpers with null values. So in the first example somePerson was null, it would figure out that somePerson was a Person class from the type declaration of the binding (this works on keypaths too) and would dispatch to PersonHelper.displayName(null) so you can display "No name available" (or whatever). My impression, though, is that it's quite a bit more programmatically expensive to register functions in the 5.4 parser and it wouldn't have the fancy scoping or resolution. I think maybe you'd have to do something like "helper: person|displayName", maybe, and parse it with a fancier association factory? In the Wonder one, the way we do it is that as it parses, it actually turns into an OGNLAssociation behind the scenes, and we just jam the parameters onto the end of the registry lookup. For example, that "$paragraph|highlight(word)" becomes: ~ @ognl .helperfunction .WOHelperFunctionRegistry @registry()._helperInstanceForFrameworkNamed(#this, "paragraph", "highlight", "app").highlight(paragraph, word) it's sort of magical, but actually works :) gotta love ognl ... Oh, the other thing that would be nice in the 5.4 parser is support for "// VALID" There are cases where the WOLips validator can't provably validate an expression (not often, but happens). The Wonder parser has an extension to WOD and inline bindings that allows you to do: Test : WOString { value = someKVCExpressionThatCantBeStaticallyResolved; // VALID } and so the WOLips validator can hide warnings on them. ms On Jun 30, 2009, at 12:36 PM, Mr. Pierre Frisch wrote: Mike there is only one space difference: or Cheers Pierre -- Pierre Frisch pie...@apple.com On Jun 29, 2009, at 15:46, Mike Schrag wrote: I suppose we just need to integrate them as association and add them to the association factory. This is trivial to do. yeah, i'm pretty sure 5.4's parser can do it with a custom factory, but I'm concerned about how much typing it will require to actually use it ... helpers are cool because it's so easy to drop into a binding (change from "$person" to "$person| displayName"). if you have to switch to a different association namespace to get it on a binding, i think it might suck more, but I'll withhold judgment. 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/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will
Re: Escaping in strings according to WOML
Mike there is only one space difference: or Cheers Pierre -- Pierre Frisch pie...@apple.com On Jun 29, 2009, at 15:46, Mike Schrag wrote: I suppose we just need to integrate them as association and add them to the association factory. This is trivial to do. yeah, i'm pretty sure 5.4's parser can do it with a custom factory, but I'm concerned about how much typing it will require to actually use it ... helpers are cool because it's so easy to drop into a binding (change from "$person" to "$person|displayName"). if you have to switch to a different association namespace to get it on a binding, i think it might suck more, but I'll withhold judgment. 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/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Escaping in strings according to WOML
I suppose we just need to integrate them as association and add them to the association factory. This is trivial to do. Pierre -- Pierre Frisch pie...@apple.com On Jun 29, 2009, at 10:37, Mike Schrag wrote: I didn't know helper functions. They are fantastic! ... and yeah, I love these and use them a lot, but i was going to talk to drew about what would be required to support them in the new parser. 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/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Inserting a new sub-component (programmatically) in appendToResponse()
Hello Mark, You are making your life very difficult. Use the new WO 5.4 parser for this. Here is what I would do: do a 2 stage component parsing. Create you own subclass of WOResponse and override the createResponse method. public WOResponse createResponseInContext(WOContext aContext) { MyResponse aResponse = new MyResponse(); if ((aContext != null) && (aContext.request() != null)) { aResponse.setHTTPVersion(aContext.request().httpVersion()); } // note the saving and cloning of the context. you will need to implement those accessor in your Response class aResponse.setContext((WOContext)aContext.clone()); return aResponse; } Then using the new template parser declare your namespace. protected WOMLDefaultNamespaceProvider createDefaultNamespaceProvider() { WOMLDefaultNamespaceProvider defaultNamespaceProvider = super.createDefaultNamespaceProvider(); defaultNamespaceProvider.addNamespace(new WOMLWebObjectsNamespace("cms")); return defaultNamespaceProvider; } And now for the fun part in your WOResponse override public WOResponse generateResponse() { return this; } What you need to do here is take the content and use it as a template to reparse it and generate the real page. public WOResponse generateResponse() { WOElement template = WOComponentTemplateParser.templateWithHTMLAndDeclaration("app", "second stage parsing", this.contentString(), null, this.context().locales(), WOApplication.application().associationFactory(), WOApplication.application().namespaceProvider()); if (template != null) { WOResponse aResponse = new WOResponse(); if (this.context().request() != null) { aResponse.setHTTPVersion(this.context().request().httpVersion()); } try { template.appendToResponse(aResponse, this.context()); } catch (Exception exception) { throw newException(exception); } } return aResponse.generateResponse(); } That will generate a second stage parsing. No regular expression. Everything works. If you prefer you can also create a specific namespace provider that is only used for the second stage parsing and prevent any "polution" of the primary namespace. Cheers Pierre -- Pierre Frisch pie...@apple.com On Jun 8, 2009, at 5:58, Mark Gowdy wrote: Hello, I need to insert a new sub-component into a page during the request- response cycle (probably within appendToResponse() ) I thought I had achieved this, but all the links on the page are now broken (and other general weirdness unfolds) This is the essence what I need to achieve (I removed all the specific crud that you don't need) This breaks: public void appendToResponse(WOResponse a_rsp, WOContext a_ctx) { super.appendToResponse(a_rsp, a_ctx); // Prepare a sub-component (then pass it bindings, etc..) // DisplayArticle generatedContent = ((ERXApplication )ERXApplication.application()).pageWithName(DisplayArticle.class, a_ctx); // the other way DisplayArticle newComponent = (DisplayArticle)pageWithName("DisplayArticle"); String generatedContentForCMSTag = newComponent.generateResponse().contentString(); // Do stuff // Update a_rsp.setContent(adjustedContent); } I need this to not break. I suspect that this is messing up the object graph that it uses when invokeAction and takeValuesFromRequest is called. Do I need to register (or unregister) these components somehow after they are created. The DisplayArticle component ONLY ever use direct actions, so I will not be using normal actions within these. They do however need to retain their session info. -- This might look a little bit mad (when out of context), so if you are interested, this is why I want to do it: I am parsing 'a_rsp.contentString();' using a regex so that I can locate tags that may appear (these tags may have come from a string (from a content managed article in the database) These are in the form: artTitle = "About Us" /> The plan is to find these, and replace them with a generated component (into which I pass those bindings) The cool thing is, that the inserted article can also contain one of these tags, hence we have a simple content management structure. If there is a better way to do this, feel free to enlighten me. Thanks in advance, Mark ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subs
Re: get confirmation of a payment from other website via a direct action, how to get back to a shopping session?
I have actually rewritten this code in WO 5.6 and the sessions deadlock should be something of the past. The thing is that there is no need to way forever for a session to check in. The new approach is to have a semaphore and timeout so that threads get released and do not wait forever on a fail session. Cheers Pierre -- Pierre Frisch pie...@apple.com On May 28, 2009, at 6:55, Anjo Krank wrote: Am 28.05.2009 um 15:49 schrieb Kieran Kelleher: Only reason I wouldn't is when I am trying to troubleshoot a problem with the awesome ERXSessionStoreDeadlockDetection. Pity it does not work with concurrenr request handling on. It probably is just not possible. No way ;-) Nope, it's not possible. The whole idea is that you track requests coming serially, which only works reasonably when the app lock prevents this from occurring normally. You *could* create a timer and only log if the last access has been longer than X seconds, though... Cheers, Anjo ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: No snapshot for gid _EOIntegralKeyGlobalID
Just glancing at the stack trace there a few things that I would look for. You are using EC in threads? This is usually hard to get right as you need to have the EC lock before you fire any faults and you don't want to create deadlocks between threads. How many thread to you have that access the DB? Could you have one DB connexion per thread? In this case I would create one EOF stack per thread and lock the stack when processing starts and unlock it at the end, this is by far the easiest model. Do you transfer EO from one thread to the other? Pierre -- Pierre Frisch pie...@apple.com On May 7, 2009, at 9:47, David Avendasora wrote: Hi Pierre! Glad to see you active on the lists again! See my responses below: On May 7, 2009, at 12:39 PM, Mr. Pierre Frisch wrote: Dave, Which version of WO? WO 5.3.3 DO you use shared editing context? No. Is there any chance that the Editing Context is not locked when the faults fires? Yes. After 5 years of doing WO (mostly D2JC), this is one of the first places I've started using ECs other than the default EC, so I'm sure I'm abusing it. I'm just not sure where to look to fix it. Pierre -- Pierre Frisch pie...@apple.com On May 5, 2009, at 13:52, David Avendasora wrote: I've been getting this error seemingly randomly. I can't reproduce it locally, it just happens a couple times a day and the stack trace shows up in my inbox. I'm assuming that I must be somehow creating an object in one EC and then trying to use it in another, but I can't seem to find it. Is there anything else that can cause this error? Thanks, Dave Job DEFAULT.Sync Lot Codes threw an unhandled Exception: java.lang.IllegalStateException: initializeObject: No snapshot for gid _EOIntegralKeyGlobalID[ManufacturedPart (java.lang.Long)206866] at com .webobjects .eoaccess .EODatabaseContext.initializeObject(EODatabaseContext.java:3731) at com .webobjects .eocontrol .EOObjectStoreCoordinator .initializeObject(EOObjectStoreCoordinator.java:646) at com .webobjects .eocontrol.EOEditingContext.initializeObject(EOEditingContext.java: 3805) at er.extensions.eof.ERXEC.initializeObject(ERXEC.java:1047) at com .webobjects .eoaccess.EODatabaseContext._fireFault(EODatabaseContext.java:4301) at com .webobjects .eoaccess .EOAccessFaultHandler .completeInitializationOfObject(EOAccessFaultHandler.java:85) at com .webobjects.eocontrol.EOCustomObject.willRead(EOCustomObject.java: 1189) at com.webobjects.eocontrol._EOMutableKnownKeyDictionary $Initializer $ _GenericRecordBinding .valueInObject(_EOMutableKnownKeyDictionary.java:519) at com .webobjects .eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java: 1736) at com .bestmaid .bakeryManagement .server.lotCodeTracking._LotCode.lotCodeValue(_LotCode.java:96) at sun.reflect.GeneratedMethodAccessor372.invoke(Unknown Source) at sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor $1.methodValue(NSKeyValueCoding.java:684) at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at com .webobjects .eocontrol.EOCustomObject.valueForKey(EOCustomObject.java:1559) at com.webobjects.foundation.NSKeyValueCoding $Utility.valueForKey(NSKeyValueCoding.java:498) at com.webobjects.foundation.NSKeyValueCodingAdditions $ DefaultImplementation .valueForKeyPath(NSKeyValueCodingAdditions.java:212) at com .webobjects .eocontrol.EOCustomObject.valueForKeyPath(EOCustomObject.java:1675) at com.webobjects.foundation.NSKeyValueCodingAdditions $Utility.valueForKeyPath(NSKeyValueCodingAdditions.java:149) at com .webobjects .eocontrol .EOKeyValueQualifier.evaluateWithObject(EOKeyValueQualifier.java: 131) at com .webobjects .eocontrol.EOAndQualifier.evaluateWithObject(EOAndQualifier.java:96) at com .webobjects .eocontrol.EOQualifier.filteredArrayWithQualifier(EOQualifier.java: 635) at com .bestmaid.bakeryManagement.server.part._Part.lotCodes(_Part.java: 618) at com .bestmaid.bakeryManagement.server.part._Part.lotCodes(_Part.java: 588) at com .bestmaid .bakeryManagement .server .integration .ExternalInventoryTransactionLotCode .synchronize(ExternalInventoryTransactionLotCode.java:136) at com .bestmaid .bakeryManagement .server .integration .ExternalInventoryTransaction .synchronize(ExternalInventoryTransaction.java:91) at com .bestmaid .bakeryManagement .scheduledjobs .jobs.SynchronizeLotCodes.execute(SynchronizeLotCodes.java:31) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool $WorkerThread.run(SimpleThreadPool.java:525) ___ Do not post adm
Re: No snapshot for gid _EOIntegralKeyGlobalID
Dave, Which version of WO? DO you use shared editing context? Is there any chance that the Editing Context is not locked when the faults fires? Pierre -- Pierre Frisch pie...@apple.com On May 5, 2009, at 13:52, David Avendasora wrote: I've been getting this error seemingly randomly. I can't reproduce it locally, it just happens a couple times a day and the stack trace shows up in my inbox. I'm assuming that I must be somehow creating an object in one EC and then trying to use it in another, but I can't seem to find it. Is there anything else that can cause this error? Thanks, Dave Job DEFAULT.Sync Lot Codes threw an unhandled Exception: java.lang.IllegalStateException: initializeObject: No snapshot for gid _EOIntegralKeyGlobalID[ManufacturedPart (java.lang.Long)206866] at com .webobjects .eoaccess.EODatabaseContext.initializeObject(EODatabaseContext.java: 3731) at com .webobjects .eocontrol .EOObjectStoreCoordinator .initializeObject(EOObjectStoreCoordinator.java:646) at com .webobjects .eocontrol.EOEditingContext.initializeObject(EOEditingContext.java: 3805) at er.extensions.eof.ERXEC.initializeObject(ERXEC.java:1047) at com .webobjects .eoaccess.EODatabaseContext._fireFault(EODatabaseContext.java:4301) at com .webobjects .eoaccess .EOAccessFaultHandler .completeInitializationOfObject(EOAccessFaultHandler.java:85) at com.webobjects.eocontrol.EOCustomObject.willRead(EOCustomObject.java: 1189) at com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer $ _GenericRecordBinding .valueInObject(_EOMutableKnownKeyDictionary.java:519) at com .webobjects .eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:1736) at com .bestmaid .bakeryManagement .server.lotCodeTracking._LotCode.lotCodeValue(_LotCode.java:96) at sun.reflect.GeneratedMethodAccessor372.invoke(Unknown Source) at sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor $1.methodValue(NSKeyValueCoding.java:684) at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at com .webobjects.eocontrol.EOCustomObject.valueForKey(EOCustomObject.java: 1559) at com.webobjects.foundation.NSKeyValueCoding $Utility.valueForKey(NSKeyValueCoding.java:498) at com.webobjects.foundation.NSKeyValueCodingAdditions $ DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java: 212) at com .webobjects .eocontrol.EOCustomObject.valueForKeyPath(EOCustomObject.java:1675) at com.webobjects.foundation.NSKeyValueCodingAdditions $Utility.valueForKeyPath(NSKeyValueCodingAdditions.java:149) at com .webobjects .eocontrol .EOKeyValueQualifier.evaluateWithObject(EOKeyValueQualifier.java:131) at com .webobjects .eocontrol.EOAndQualifier.evaluateWithObject(EOAndQualifier.java:96) at com .webobjects .eocontrol.EOQualifier.filteredArrayWithQualifier(EOQualifier.java: 635) at com.bestmaid.bakeryManagement.server.part._Part.lotCodes(_Part.java: 618) at com.bestmaid.bakeryManagement.server.part._Part.lotCodes(_Part.java: 588) at com .bestmaid .bakeryManagement .server .integration .ExternalInventoryTransactionLotCode .synchronize(ExternalInventoryTransactionLotCode.java:136) at com .bestmaid .bakeryManagement .server .integration .ExternalInventoryTransaction .synchronize(ExternalInventoryTransaction.java:91) at com .bestmaid .bakeryManagement .scheduledjobs .jobs.SynchronizeLotCodes.execute(SynchronizeLotCodes.java:31) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool $WorkerThread.run(SimpleThreadPool.java:525) ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: directActionURLForActionNamed() generating complete URLs under WO 5.4.3
In order to get the correct server name you need to add an Apache directive: ServerName www.foo.com The exact algorithm is the following: public String _serverName() { // This is set if we are running in a Servlet Container String serverName = headerForKey("x-webobjects-servlet-server-name"); if ((serverName == null) || (serverName.length() == 0)) { if (isUsingWebServer()) { serverName = headerForKey("x-webobjects-server-name"); if ((serverName == null) || (serverName.length() == 0)) { serverName = headerForKey("server_name"); } if ((serverName == null) || (serverName.length() == 0)) { serverName = headerForKey("host"); } if ((serverName == null) || (serverName.length() == 0)) { throw new NSForwardException(new WOURLFormatException("<" + getClass().getName() + ">: Unable to build complete url as no server name was provided in the headers of the request.")); } } else { serverName = WOApplication.application().host(); } } return serverName; } So if server name is wrong You can run Apache 1.3.9 although I don't recommend it. It works but you will not be able to recompile the adaptor if you need it. Pierre -- Pierre Frisch pie...@apple.com On May 6, 2009, at 9:31, Ricardo J. Parada wrote: On May 6, 2009, at 11:36 AM, Mr. Pierre Frisch wrote: Item 3 Can you elaborate on the wrong server name? Thanks Hi Pierre, Thanks for your response. Regarding item #3 - "The generated direct action URL has the wrong server name" : The situation is as follows, when the application is deployed it is accessed securely with a URL that begins with https://www.mpv.com/app/WebObjects/ ...[etc]... Now, the URLs generated by calling the directActionURLForActionNamed(String,NSDictionary) method have a server name of web1-bu instead of www.mpv.com. In other words, the URLs looked something like this: http://web1-bu/app/WebObjects/OurApp.woa/1/wa/MPVAjaxAction/ MPVContractPicker?wosid=vh5ESREs0GHHbDbjIkwTGw Notice web1-bu as the server name in that URL instead of the expected www.mpv.com. I could not figure out where that was coming from so I started inspecting the HTTP request headers to see if that server name was present anywhere. That's where I found a server_name header with a value of web1-bu. So I'm suspecting WO is simply looking at different things to determine the server name and that it might have picked up the server name from the server_name HTTP request header. Here are the list of HTTP request headers from the application: accept: text/html,application/xhtml+xml,application/ xml;q=0.9,*/*;q=0.8 accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 accept-encoding:gzip,deflate accept-language:en-us,en;q=0.5 connection: close cookie: ...omitted on purpose... document_root: /usr/local/apache/htdocs: host: www.mpv.com https: on keep-alive: 300 remote_addr:10.0.0.119 remote_host:10.0.0.119 remote_port:51710 script_filename:/app/WebObjects/OurApp.woa/1/wo/MPVAppInfo.wo server_admin: webmas...@mpv.com server_name:web1-bu server_port:443 server_software:Apache/1.3.9 unique_id: SftpowoCAQEAAFxms0Q user-agent: Mozilla/5.0:(Macintosh;U;Intel MacOSX10.5;en-US;rv:1.9.0.10)Gecko/ 2009042315 Firefox/3.0.10 x-webobjects-adaptor-version: Apache x-webobjects-request-id:49f1195639fd0027 x-webobjects-request-method:GET We looked at the configuration files for Apache on Solaris which is our web server and in particular we looked at the httpd.conf file and the sslInclude.conf file which is included from httpd.conf. But we still can't figure out why server_name has a value of web1-bu. :-/ Now, the other question I have is this: is it mandatory that we upgrade Apache and the WebObjects adaptor in order to deploy our WO 5.4.3 application? Or can we still use Apache 1.3.9 and its corresponding WebObjects adaptor for our WO 5.4.3 application? Thanks a million, Ricardo J. Parada Medical Present Value, Inc. smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.c
Re: NSArray toString() different in WO 5.4.3
This was made to make debug output more readable in eclipse. Pierre -- Pierre Frisch pie...@apple.com On May 5, 2009, at 15:08, Ricardo J. Parada wrote: On May 5, 2009, at 6:03 PM, Chuck Hill wrote: On May 5, 2009, at 2:59 PM, Ricardo J. Parada wrote: Hi All, Another issue we discovered with WO 5.4.3: This code: NSArray array = new NSArray(new Object[] {"86309", "", "6.4000", "6.4000"}); System.out.println(array.toString()); Outputs the following: 5.3.3 : ( "86309", "", "6.4000", "6.4000" ) 5.4.4 : ( 86309, , 6.4000, 6.4000 ) We relied on NSArray toString() method to generate the plist format for an NSArray. That was a mistake. That is the job of NSPropertyListSerialization. I realize that now! :-) Thanks. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: directActionURLForActionNamed() generating complete URLs under WO 5.4.3
Hi Ricardo, Thanks for the bug report. This is already fixed in the next version of WO. Item 1 can be solved easily by over riding the following method in WOContext public String directActionURLForActionNamed(String anActionName, NSDictionary queryDictionary) { return this.directActionURLForActionNamed(anActionName, queryDictionary, (this.request() != null ? this.request().isSecure() : false), 0, false); } the current WO 5.4 wrongly uses false for the isSecure parameter. or more easily if you don't subclass WOContext use the other API public String directActionURLForActionNamed(String requestHandlerPath, NSDictionary queryDictionary, boolean isSecure, boolean entityEscapeQueryDict) entityEscapeQueryDict should typically be false. Item 2 is govern by the previous one. If we are generating a URL and we change from unsecure to secure or vice versa we generate a full URL, otherwise we should generate relative URL. public String _urlWithRequestHandlerKey(String requestHandlerKey, String aRequestHandlerPath, String aQueryString, boolean isSecure, int somePort) { String url = null; // Try to be automagically smart about when to generate complete URLs // If we are supposed to, or we are switching modes (http->https or https->http) then generate a complete URL if (_generateCompleteURLs || (_request != null && isSecure != _request.isSecure())) { url = completeURLWithRequestHandlerKey(requestHandlerKey, aRequestHandlerPath, aQueryString, isSecure, somePort); } else { url = relativeURLWithRequestHandlerKey(requestHandlerKey, aRequestHandlerPath, aQueryString); } return url; } Please not that we use the request isSecure() method to check the transition. public boolean isSecure() { if (_isSecure == null) { String serverPort = headerForKey(ServerPortHeader); if ((serverPort == null) || (serverPort.equals(""))) { serverPort = headerForKey(ServerPortHeaderX); } _isSecure = Boolean.valueOf((ServerPortSecureValue.equals(serverPort) || "on".equalsIgnoreCase(headerForKey("HTTPS"; } return _isSecure.booleanValue(); } I would check that the correct headers are sent to the application. Item 3 Can you elaborate on the wrong server name? Thanks Pierre -- Pierre Frisch pie...@apple.com On May 5, 2009, at 13:01, Ricardo J. Parada wrote: It seems to me that there are three separate issues: 1. WO generating direct action URLs with http even though the application is accessed securely via https. 2. WO generating complete URLs for direct actions. 3. The generated URL having the wrong server name. I thinks #1 is a bug. See also the chart pointed to by Andrew, in particular section G, the last two rows show my scenario: the application is being accessed securely in deployment but the generated URLs have an http prefix. I have not heard by anyone whether that is a bug or not. If not a bug I would like to know why not. :-) Anyways, I filed a radar for issue #1: 6857862 Secure app's directActionURLForActionNamed() generates URL with http prefix Then for #3, I think that may be an apache configuration issue on our site. I don't think it's WO's fault there. WO is simply using the server_name http header. :-) The problem is we haven't figured out why. The Apache configuration httpd.conf file has ServerName set to www.mpv.com. And #2, I don't think it's a bug, it would not be a problem if #1 and #3 are resolved. The workaround right now is to subclass WOContext and override the directActionURLForActionNamed() method. In case it helps others, so far out testing has revealed all the following things are broken in WO 5.4.3: o WOPopUpButton's noSelectionString = "" ==> Use noSelectionString = " " (space) instead o WOFrameworksBaseURL/WOApplicationBaseURL ==> Patched in application constructor o WOContext's directActionURLForActionNamed(String,NSDictionary) in production and accessed via https generates wrong URL Also, other changes in WO 5.4.3 that I noticed (not really bug): o EOSharedEditingContext.bindObjectsWithFetchSpecification() now raises an exception if the fetch specification passed in as an argument is set up to fetch as raw rows o If using ORACLE, make sure you update your jdbc driver otherwise you may run into exceptions if you use CLOB external type We're almost ready to deploy our application using WO 5.4.3. Thanks all for all the help through all these issues encountered during testing and QA. I really appreciate it. :-) On May 5, 2009, at 1:09 PM, Ricardo J. Parada wrote: Thanks Susanne... That definitely sounds like the culprit. We use Apache on Solaris and there is an sslInclude.conf file but no ServerN
Re: WO Apache Adaptor not seeing my apps
Hi Mark, You should force the WOHost on Monitor / wotaskd and each instance or they can become confused. We have a better solution on 5.5 using the localhost but on 5.4 and previous the best approach is to fix the WOHost. Pierre -- Pierre Frisch pie...@apple.com On Apr 2, 2009, at 11:37, Mark Ritchie wrote: On 2-Apr-09, at 2:21 PM, Chuck Hill wrote: I am just using the stock code. Are you deploying your apps with JavaMonitor on your dev machine? Dev mode launches are handled a little differently and might short circuit some of this. But I have had intermittent problems in the past if the app and wotaskd were not launched with the same WOHost. If your app and wotaskd are both using the Bonjour name that should be OK, but I am paranoid and prefer localhost in development. For deployment, I use the real DNS name for the server. Just to be clear, I'm not deploying publicly accessible apps on my dev machine! ;-) However I do find it useful to fully deploy apps on my machine from time to time... Especially since I've got additional logging turned on so that I can see what interesting things are happening! (WOAdpator, SpawnOfTaskd, wotaskd, JavaMonitor all have logging and sometimes additional parameters...) I agree that full deployment should probably have fqdn's (and that reverse lookup is essential) however that should not stop WOAdpatorInfo on the local machine reporting what's going on with wotaskd on the same local machine! That being said, I'm currently debugging a solaris deployment where a single machine has multiple public IP addresses and multiple versions of apache! One version of apache sees the app server and the other does not... :-( Thanks! M. __ Mark Ritchie Cocoa and WebObjects Developer Diamond Lake Consulting Inc. Toronto, Ontario, Canada ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Displaying Local Time on a Web Client
It is actually the way it is implemented but it depends on API that are incorrect. It is way better to forget it. I have added the translation from the legacy format to the SimpleDateFormat in the components. Pierre -- Pierre Frisch pie...@apple.com On Mar 31, 2009, at 17:22, Chuck Hill wrote: On Mar 31, 2009, at 5:17 PM, Mike Schrag wrote: And please don't use NSTimestampFormatter if you are using local times it is deprecated and does not work correctly in particular with daylight saving time and such. It would work correctly if you fixed it. :-) Added String ERXTimestampUtilities .simpleDateFormatForNSTimestampFormat(String) ... It's definitely wonky -- NSTimestampFormatter definitely seems pretty messed up :) But this could be used to provide a mostly correct cover (so NSTimesatmpFormatter could have-a simpledateformat inside). Which is what it almost certainly should have been in the first place. And a far better solution than deprecating it, IMO. 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 smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Displaying Local Time on a Web Client
Beware that SimpleDateFormat is not reentrant so stashing it somewhere may not be safe. And please don't use NSTimestampFormatter if you are using local times it is deprecated and does not work correctly in particular with daylight saving time and such. Pierre -- Pierre Frisch pie...@apple.com On Mar 31, 2009, at 9:56, Chuck Hill wrote: On Mar 31, 2009, at 9:20 AM, David Avendasora wrote: Okay I know this must be easy, but I just can't seem to get it to work. I just want to display the time a particular page was displayed. My component has this: CurrentTimestamp : WOString { value = currentTimestamp; dateformat ="%m/%d/%y %H:%M"; } When currentTimestamp returns a new NSTimestamp I get GMT, which is what I expected. But when I return an NSTimestamp create like so: GregorianCalendar calendar = new GregorianCalendar(); calendar.setTime(new NSTimestamp()); NSTimestamp timestamp = new NSTimestamp(calendar.getTimeInMillis(), TimeZone.getTimeZone("America/Chicago")); return timestamp; I still get GMT. What fundamental thing am I missing or doing wrong? Gosh, where does does one start? Oh, my. Best sit down, this will take a while. What, just the date? OK then... ;-) Use the formatter, not the timestamp to control the time zone it is shown in. And don't use the dateFormat and numberFormat bindings. Bad. Or at least don't hard code them. Otherwise you have much to change when you need to change the format. Better to use the formatter binding and an instance of java.util.format (SimpleDateFormat or NSTimestampFormatter). And stash it in your session for a bit of optimization. But I digress. That should do it, assuming the client and server are in the same time zone. If not, you will have to determine the user's time zone and use that to set the time zone of the formatter. Yet another good reason to stash it in the session. 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/pierre%40apple.com This email sent to pie...@apple.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
WebObjects Community Gathering
To all, This year Apple is happy to host, like last year, a WebObjects Community Gathering during WWDC. This will be on Thursday June 12 from 4:30 to 6:30 pm in the "The Science and Medicine Connection" room. I hope to see you all there. Have a good conference. Pierre -- Pierre Frisch [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: WebServices in 5.4
Just one more comment on this. In WO 5.4.2 there is a new API WOWSDDRegistar that is a concrete class that can be overwritten by registering a delegate. It is called by WOWebServiceRegistar so if you want to change the behavior you can do it cleanly. That being said this type of exception means that one of the parameters or return value of the method to register cannot be mapped to an existing serializer/deserializer. Pierre -- Pierre Frisch [EMAIL PROTECTED] On May 14, 2008, at 10:33, Mike Schrag wrote: I use the variant without the String[] operations and it worked in 5.4.2 (though I don't know if that is the one in the iPhone SDK or not) ... Are you able to modify this temporarily to see if that works? ms On May 14, 2008, at 1:22 PM, Daryl Lee wrote: Hi Juergen, This is not enough information to debug the problem. Can you show us the WSDL? What are the method signatures for 'foo', 'bar' and 'awol' for the FooService class? I'd include all this info in a bug. On May 14, 2008, at 8:40 AM, Juergen Lorenz Simon wrote: public static final String serviceName = "FooService"; public static final String[] operations = new String[] {"foo","bar","awol"}; public static void register() { WOWebServiceRegistrar .registerWebService (FooService.serviceName,FooService.class,FooService.operations, true); } ___ Do not post admin requests to the list. They will 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: Forms changed to http with Eclipse/WOLips?
From you email I assume you are running WO 5.4? There are a new set of API so handle the secure context and you may want to have a look at those. WOForm also has a new binding "secure" that force the secure mode. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 28, 2008, at 7:43, Kevin Windham wrote: My forms have started getting non-secure http:// URLs since I moved over to Eclipse/WOLips. When I was using 5.3 and the older tools, the URLs were relative and just did the right thing. All I had to do was make sure the page the form was on was secure. Now I have relative URLs for what seems to be everything except forms, and they are producing non-secure warnings whenever you try and submit a form. How can I switch these back to relative URLs, or have it default to https:// instead. This also seems to only happen on the deployed app. When I run it locally, in eclipse and non-ssl, the URLs are all relative. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: D2WS still broken in 5.4.2 (was Re: What's the crack with 5.4.2?)
Juergen, The stack traces do not make sense. What URL are you trying to load? If you are loading a Web service you should be in WOWebServiceRequestHandler. It is a sub-class of WO ActionRequestHandler and overwrite handleRequest therefore it should show in the stack. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 25, 2008, at 5:46, Juergen Lorenz Simon wrote: Hi, Let's hope they fix it before the official release of 5.4.2. Thanks. "Hope, it is the quintessential human delusion, simultaneously the source of your greatest strength, and your greatest weakness." (The Matrix Architect) On 25.04.2008, at 13:59, David Avendasora wrote: I know Apple is actively fixing WO bugs, so make sure you log all of this with Apple's bug Radar (https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/wa/signIn ). On Apr 25, 2008, at 7:18 AM, Juergen Lorenz Simon wrote: Hi, Rebooted the machine. Run installer again. Version checks up. *headscratch* However: D2WS is still broken. When connecting to the application with the webservice assistant, I get the same exception as before: java.lang.IllegalStateException: Can't obtain rules because of protected access! 25.04.2008 13:01:22:479 ERROR [KTApplication.handleException:190) - handleException : java.lang.reflect.InvocationTargetException at com .webobjects .appserver ._private .WOActionRequestHandler._handleRequest(WOActionRequestHandler.java: 269) at com .webobjects .appserver ._private .WOActionRequestHandler.handleRequest(WOActionRequestHandler.java: 158) at com .webobjects .appserver.WOApplication.dispatchRequest(WOApplication.java:1687) at com .webobjects .appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144) at com .webobjects .appserver._private.WOWorkerThread.run(WOWorkerThread.java:226) at java.lang.Thread.run(Thread.java:613) Caused by: java.lang.IllegalStateException: Can't obtain rules because of protected access! at com .webobjects .webservices .generation ._WSDirectAction.loadD2WModelAction(_WSDirectAction.java:224) 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 .appserver.WODirectAction.performActionNamed(WODirectAction.java: 144) at com .webobjects .appserver ._private .WOActionRequestHandler._handleRequest(WOActionRequestHandler.java: 259) ... 5 more And the webservice is not installed. A request to get the sevice wsdl got the following response: "Your requested web service, namely "Foo", cannot be found in WOWebServiceRegistrar" Next I tried to manually register the webservice using: WOWebServiceRegistrar.registerD2WebServiceWithOperations("Foo",new String[] {"bar"} ); Which seemed to start up fine, but the call for he wsdl ended with the message: "Attempt to generate WSDL for a service that is not enabled or does not exist." When I connected using the WebServicesAssistant.app, it did not fail to connect but the list of services is a blank slate. Not even the default service. *sigh* I had my hopes up for Apple to fix D2WS in 5.4.2. Now we're back where we started: WO5.3 with the known load of bugs in WebServices. Duh! J. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: WOGenericContainer convert elementName to lowercase automatically
Any tag generated by WO 5.4 is lowercase. I think we went too far and forcibly changed element name and attribute to lower case which is correct if you are generating HTML/XHTML but remove some XML capabilities. This was done to help old code be compliant with the new standard. We will roll that back in the next release i.e. if you element name or attribue name is upper case or mixed case we will not change it. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 25, 2008, at 10:05, Yung-Luen Lan wrote: On Sat, Apr 26, 2008 at 12:48 AM, Yung-Luen Lan <[EMAIL PROTECTED]> wrote: package your.app; import com.webobjects.appserver.*; import com.webobjects.appserver._private.WODynamicElementCreationException; import com.webobjects.foundation.*; public class MyGenericContainer extends WODynamicElement { protected NSDictionary extraBindings = null; protected WOAssociation elementName; protected WOElement children; public MyGenericContainer(String n, NSDictionary m, WOElement t) { super(n, m, t); elementName = m.objectForKey("elementName"); if (elementName == null) { throw new WODynamicElementCreationException("Need elementName."); } if (m.count() > 1) { NSMutableDictionary tempBindings = m.mutableClone(); tempBindings.removeObjectForKey("elementName"); extraBindings = tempBindings.immutableClone(); } children = t; } public void appendToResponse(WOResponse r, WOContext c) { r.appendContentString("<" + elementName.valueInComponent(c.component())); if (extraBindings != null) { NSArray allKeys = extraBindings.allKeys(); for (String k : allKeys) { WOAssociation binding = extraBindings.objectForKey(k); r.appendContentString(" " + k + "= \"" + binding.valueInComponent(c.component()).toString() + "\""); } } r.appendContentString(">"); Forgot to add this line: if (children != null) children.appendToResponse(r, c); r.appendContentString(""); } } ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: Web Service fails: add is not a supported operation in com.webobjects.foundation.NSArray ?
This is a bug specific to WebServices It is fixed in WO 5.4.2 Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 24, 2008, at 9:29, Chuck Hill wrote: I think... This was a bug. The add() method to support Java collections was added to NSArray as unimplemented BUT someone forgot to add an implmentation of it to NSMutableArray. Oops. So when you call add() on NSMutableArrary you get this message. Wonder correctly implements this method as does some version of WO 5.4. Chuck On Apr 24, 2008, at 9:26 AM, Alan Ward wrote: um, how about using an NSMutableArray? NSArray is immutable and does not implement add. Alan On Apr 24, 2008, at 7:18 AM, Juergen Lorenz Simon wrote: Hello all, I'm trying to implement a simple web service. One of the webservice operations takes an NSArray as parameter. public static void foo(NSArray bar); When the call is made, the following error pops up: [2008-04-24 12:12:13 CEST] AxisFault faultCode: {http://schemas.xmlsoap.org/soap/ envelope/}Server.userException faultSubcode: faultString: java.lang.UnsupportedOperationException: add is not a supported operation in com.webobjects.foundation.NSArray faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace: java.lang.UnsupportedOperationException: add is not a supported operation in com.webobjects.foundation.NSArray at com.webobjects.foundation.NSArray.add(NSArray.java:965) at org.apache.axis.utils.JavaUtils.convert(JavaUtils.java:465) at org .apache .axis.providers.java.RPCProvider.processMessage(RPCProvider.java: 235) at org .apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: 333) at org .apache .axis.strategies.InvocationStrategy.visit(InvocationStrategy.java: 71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java: 481) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323) at com .webobjects .appserver ._private.WOWebService.performActionNamed(WOWebService.java:375) at com .webobjects .appserver ._private .WOActionRequestHandler._handleRequest(WOActionRequestHandler.java: 240) at com .webobjects .appserver ._private .WOActionRequestHandler.handleRequest(WOActionRequestHandler.java: 142) at com .webobjects .appserver ._private .WOWebServiceRequestHandler .handleRequest(WOWebServiceRequestHandler.java:95) at com .webobjects .appserver.WOApplication.dispatchRequest(WOApplication.java:1306) at com .webobjects .appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:173) at com .webobjects .appserver._private.WOWorkerThread.run(WOWorkerThread.java:254) at java.lang.Thread.run(Thread.java:613) {http://xml.apache.org/axis/}isRuntimeException: true I was able to get this working by using ProjectWonder. Apparently the NSArray class is patched in PW and won't blow up when add(..) is called. Although we use PW a lot anyway and thus have a workaround, I would like to know if someone else had the problem and eliminated it? Should I use ordinary java collections (like List) in the parameters instead of NSArray? Thanks! PS: WO 5.3 on OS X 10.5.2 (using woswitch.sh), Eclipse 3.3, PW4 ___ Do not post admin requests to the list. They will 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/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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: WOWebServiceRegistrar.setSecurityDelegate failure
Dennis, The iPhone SDK is available under NDA. I cannot comment. Sorry Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 22, 2008, at 20:37, Gaastra Dennis - WO Lists wrote: Hi Pierre, Is there a reason WO 5.4.2 is only available with the iPhone SDK? Is it a 5.4.2 beta - not a real 5.4.2? When will 5.4.2 be available for general downloading + and Mac OS X Server update? Thanks for your answers. With Kind Regards, Dennis Gaastra, M.B.A.[sfu.ca], B.Sc.[ubc.ca] Chief Technology Officer, On 22-Apr-08, at 3:19 PM, Mr. Pierre Frisch wrote: Without going into too much details when WebServices for WebObjects were created with Axis 1.0 type information in WDSL document was optional, WebOjects did not include it. With Axis 1.1 and event more for Axis 1.4 it became required for custom types. This was fixed in WO 5.4.x unfortunately it took us multiple iterations to cover all the cases (and there are many). WebObjects 5.3.x and Axis 1.1 work if you do not use any custom types i.e. you do not have your own serializer/deserializer. As Anjo said there are some major difference in the registration between 5.4.0/5.4.1 and 5.4.2. You should use the later. I have written a quick test case and at least it does not throw the exception you are seeing. As I said WO 5.4.2 is available with the iPhone SDK. Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 22, 2008, at 13:24, Anjo Krank wrote: 5.4.1 wouldn't even start without serious prodding, there where pretty serious bugs in registering a service. In 5.4.2, all the issues I have left are in axis itself and not really under Pierre's control to fix (which are related to special client and server libs). In particular the bug reported lately (axis 1.4 creates refs for primitive types). Cheers, Anjo Am 22.04.2008 um 22:15 schrieb Mike Schrag: Pierre, if 5.4.x versions all use Axis 1.4 how does moving to 5.4.2 help? Regarding the call to org.apache.xml.security.Init, I'm sorry, it's extraneous to this conversation and I didn't mean to post it. I use it for some webservice encryption needs. Any advice on a somewhat guaranteed stable/working WebObjects/ WOLips/Java/Axis environment for non-trivial webservices is very, very appreciated. I have been using 5.3 with web services for several years without problems, though this very much depends on what is on the other side of the service. I know Anjo had several issues with 5.4.0/5.4.1 and web services, though Pierre has fixed all of these in 5.4.2 as far as I know. I have an app that I can run now with 5.4.2 or 5.3 without any issues, though I don't know about your particular case. I recommended trying 5.3 first because it has been out for quite a while and most of the issues are known, or at the very least, as Pierre recommends, download 5.4.2 from the iPhone SDK and try that. I wouldn't spend any time trying to diagnose this in any environment other than 5.3 or 5.4.2 because I think it's probably a waste of time since work was specifically done on this area. 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/krank%40logicunited.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/pierre%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%40webappz.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: WOWebServiceRegistrar.setSecurityDelegate failure
Without going into too much details when WebServices for WebObjects were created with Axis 1.0 type information in WDSL document was optional, WebOjects did not include it. With Axis 1.1 and event more for Axis 1.4 it became required for custom types. This was fixed in WO 5.4.x unfortunately it took us multiple iterations to cover all the cases (and there are many). WebObjects 5.3.x and Axis 1.1 work if you do not use any custom types i.e. you do not have your own serializer/ deserializer. As Anjo said there are some major difference in the registration between 5.4.0/5.4.1 and 5.4.2. You should use the later. I have written a quick test case and at least it does not throw the exception you are seeing. As I said WO 5.4.2 is available with the iPhone SDK. Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 22, 2008, at 13:24, Anjo Krank wrote: 5.4.1 wouldn't even start without serious prodding, there where pretty serious bugs in registering a service. In 5.4.2, all the issues I have left are in axis itself and not really under Pierre's control to fix (which are related to special client and server libs). In particular the bug reported lately (axis 1.4 creates refs for primitive types). Cheers, Anjo Am 22.04.2008 um 22:15 schrieb Mike Schrag: Pierre, if 5.4.x versions all use Axis 1.4 how does moving to 5.4.2 help? Regarding the call to org.apache.xml.security.Init, I'm sorry, it's extraneous to this conversation and I didn't mean to post it. I use it for some webservice encryption needs. Any advice on a somewhat guaranteed stable/working WebObjects/ WOLips/Java/Axis environment for non-trivial webservices is very, very appreciated. I have been using 5.3 with web services for several years without problems, though this very much depends on what is on the other side of the service. I know Anjo had several issues with 5.4.0/5.4.1 and web services, though Pierre has fixed all of these in 5.4.2 as far as I know. I have an app that I can run now with 5.4.2 or 5.3 without any issues, though I don't know about your particular case. I recommended trying 5.3 first because it has been out for quite a while and most of the issues are known, or at the very least, as Pierre recommends, download 5.4.2 from the iPhone SDK and try that. I wouldn't spend any time trying to diagnose this in any environment other than 5.3 or 5.4.2 because I think it's probably a waste of time since work was specifically done on this area. 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/krank%40logicunited.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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: WOWebServiceRegistrar.setSecurityDelegate failure
Actually 5.3.x has most of the same issues as 5.4.1. Grab 5.4.2 from the iPhone SDK beta if you can. WebObjects 5.3.x and 5.4.x use different versions of Axis. 5.3.x uses Axis 1.1. 5.4.x uses Axis 1.4. I am a bit puzzled by the statement: org.apache.xml.security.Init.init(); Where does this come from? It is not part of regular Axis 1.4. Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 22, 2008, at 9:49, Mike Schrag wrote: There are known issues with WebServices on 5.4.1. I don't know if this one in particular is fixed in 5.4.2 or not, but you should definitely get a baseline on 5.3 FIRST before doing the full move to 5.4.1. ms On Apr 22, 2008, at 12:09 PM, Jon Nolan wrote: I'm in the process of upgrading all my WebObjects projects from Xcode/Java1.4/WebObjects5.2.3 to Eclipse/WOLips/Java1.5/ WebObjects5.4.1. I've possibly bitten off way too big a bite all at once. ;-) I'm muddling through without too much trouble except when it comes to webservices. I make substantive use of WOSecurityDelegate. It is absolutely necessary in a number of places. I just can't seem to get a delegate registered though. Here's the code: org.apache.xml.security.Init.init(); WOWebServiceRegistrar.setSecurityDelegate(new MyWOSecurityDelegateClass()); The registration fails with: java.lang.NullPointerException at com .webobjects .appserver ._private .WOServerSessionHandler.(WOServerSessionHandler.java:25) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:242) at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:177) at java.security.AccessController.doPrivileged(Native Method) at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160) at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:100) at org .apache .axis .deployment .wsdd.WSDDDeployableItem.getJavaClass(WSDDDeployableItem.java:353) at org .apache .axis .deployment .wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:295) at org .apache .axis .deployment .wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274) at org .apache .axis .deployment .wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260) at org .apache .axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain.java:125) at org .apache .axis .deployment .wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274) at org .apache .axis .deployment .wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260) at org .apache .axis .deployment .wsdd.WSDDDeployment.getGlobalRequest(WSDDDeployment.java:473) at com .webobjects .webservices .support.WOXMLProvider.getGlobalRequest(WOXMLProvider.java:168) at org.apache.axis.AxisEngine.getGlobalRequest(AxisEngine.java:365) at com .webobjects .appserver ._private.WOWebService.setSecurityDelegate(WOWebService.java:205) at com .webobjects .appserver .WOWebServiceRegistrar .setSecurityDelegate(WOWebServiceRegistrar.java:358) My configuration is: Eclipse 3.3.2 WOLips 3.3.5047 OS X 10.5.2 Java 1.5.0_13 I have standard Apple distribution jars for: axis.jar (1.4 I think) commons-discovery-0.2.jar commons-logging-1.0.4.jar jaxrpc.jar saaj.jar wsdl4j-1.5.1.jar xmlsec-1.3.0.jar What else? Yes, the WebObjects webservices frameworks are installed. Yes, the error is the same running within Eclipse or at the command line. Any help is very appreciated. -- Jon Nolan ___ Do not post admin requests to the list. They will 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: IE SSL cache bug
I will be happy to add this work around it it trips many people it is worth it. Thanks Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 20, 2008, at 11:32, Chuck Hill wrote: On Apr 20, 2008, at 11:06 AM, Mr. Pierre Frisch wrote: Could you please file a bug report? Including the fix :). But, I don't know how to fix IE! :-) Which is why I had not reported this as a WO bug: it isn't. But I will happily file this as an enhancement request. Chuck Thank you Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 18, 2008, at 21:34, Chuck Hill wrote: That is a great bug, isn't it! I have enjoyed it many times over the years. Here is a class that I wrote that seems to fix this. It is for 5.3, can be trimmed for 5.4. Add this to your project, then add this method to Application: public WOResponse createResponseInContext(WOContext context) { return new Response(); } package net.global_village.woextensions; import com.webobjects.appserver.*; import com.webobjects.foundation.*; /** * Fixes and hacks for WOResponse. * * Creates a response configured to use UTF-8 for the defaultFormValueEncoding(). * * * Prevents disabling client caching for downloads by IE to fix the bug with IE that causes problems when displaying * content that cannot be displayed inline in the browswer (pdf files, for example). This was a known bug in IE 4.0 and * is reported fixed by MS: * http://support.microsoft.com/support/kb/articles/Q231/2/96.ASP?LN=EN-US&SD=gn&FR=0&qry=Internet%20Explorer%20cannot%20download&rnk=19&src=DHCS_MSPSS_gn_SRCH&SPR=IE * "When you try to download a .pdf file from a Web site that uses the Hypertext Transfer Protocol (HTTP) "Cache-Control = * 'no-cache'" directive, Internet Explorer may generate the following error message: Internet Explorer cannot down load * from the Internet site File_name from Computer_name." * * * @author Copyright (c) 2001-2005 Global Village Consulting, Inc. All rights reserved. * This software is published under the terms of the Educational Community License (ECL) version 1.0, * a copy of which has been included with this distribution in the LICENSE.TXT file. */ public class Response extends WOResponse { public static final String ContentDispositionHeaderKey = "content- disposition"; public static final String ContentTypeHeaderKey = "content-type"; public static final String DisablePageCachingKey = "com.webobjects.appserver.Response.DisablePageCaching"; private boolean allowClientCaching = false; /** * Creates a response configured to use UTF-8 for the defaultFormValueEncoding(). */ public Response() { super(); setContentEncoding(_NSUtilities.UTF8StringEncoding); } /** * Overridden to set allowClientCaching to deal with the IE download caching bug. Forces all HTML pages returned to * be UTF-8. * * @see com .webobjects .appserver .WOResponse#_finalizeInContext(com.webobjects.appserver.WOContext) * @param aContext *the WOContext the request is being finalized in */ public void _finalizeInContext(WOContext aContext) { String contentDisposition = headerForKey(ContentDispositionHeaderKey); String contentType = headerForKey(ContentTypeHeaderKey); boolean isAttachment = contentDisposition != null && (contentDisposition.indexOf("inline") > -1 || contentDisposition.indexOf("attachment") > -1); boolean isIE = aContext != null && RequestUtilities.isUserAgentInternetExplorer(aContext.request()); boolean isHTML = contentType != null && contentType.toLowerCase().indexOf("text/html") > -1; allowClientCaching = isIE && isAttachment && ! isHTML; // Force all HTML pages returned to be UTF-8. if (isHTML) { // This controls the display and is also needed to handle input via forms setHeader("text/html; charset=UTF-8", ContentTypeHeaderKey); } super._finalizeInContext(aContext); } /** * Overridden to not call super if allowClientCaching is set. * * @see com.webobjects.appserver.WOResponse#disableClientCaching() * */ public void disableClientCaching() { if ( ! allowClientCaching) { super.disableClientCaching(); } } /** * @see #disablePageCaching() * @return true if disablePageCaching() has been called for this response */ public boolean isPageCachingDisabled() { return userInfoForKey(DisablePageCachingKey) != null; } /** * Adds a value for DisablePageCachingKey to this response's userInfo(). This can be used later * to flag that this response should not be cached. * * @see WOSession#savePage(WOComponent) * @see #isPageCachingDisabled() */ p
Re: IE SSL cache bug
Could you please file a bug report? Including the fix :). Thank you Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 18, 2008, at 21:34, Chuck Hill wrote: That is a great bug, isn't it! I have enjoyed it many times over the years. Here is a class that I wrote that seems to fix this. It is for 5.3, can be trimmed for 5.4. Add this to your project, then add this method to Application: public WOResponse createResponseInContext(WOContext context) { return new Response(); } package net.global_village.woextensions; import com.webobjects.appserver.*; import com.webobjects.foundation.*; /** * Fixes and hacks for WOResponse. * * Creates a response configured to use UTF-8 for the defaultFormValueEncoding(). * * * Prevents disabling client caching for downloads by IE to fix the bug with IE that causes problems when displaying * content that cannot be displayed inline in the browswer (pdf files, for example). This was a known bug in IE 4.0 and * is reported fixed by MS: * http://support.microsoft.com/support/kb/articles/Q231/2/96.ASP?LN=EN-US&SD=gn&FR=0&qry=Internet%20Explorer%20cannot%20download&rnk=19&src=DHCS_MSPSS_gn_SRCH&SPR=IE * "When you try to download a .pdf file from a Web site that uses the Hypertext Transfer Protocol (HTTP) "Cache-Control = * 'no-cache'" directive, Internet Explorer may generate the following error message: Internet Explorer cannot down load * from the Internet site File_name from Computer_name." * * * @author Copyright (c) 2001-2005 Global Village Consulting, Inc. All rights reserved. * This software is published under the terms of the Educational Community License (ECL) version 1.0, * a copy of which has been included with this distribution in the LICENSE.TXT file. */ public class Response extends WOResponse { public static final String ContentDispositionHeaderKey = "content- disposition"; public static final String ContentTypeHeaderKey = "content-type"; public static final String DisablePageCachingKey = "com.webobjects.appserver.Response.DisablePageCaching"; private boolean allowClientCaching = false; /** * Creates a response configured to use UTF-8 for the defaultFormValueEncoding(). */ public Response() { super(); setContentEncoding(_NSUtilities.UTF8StringEncoding); } /** * Overridden to set allowClientCaching to deal with the IE download caching bug. Forces all HTML pages returned to * be UTF-8. * * @see com .webobjects .appserver .WOResponse#_finalizeInContext(com.webobjects.appserver.WOContext) * @param aContext *the WOContext the request is being finalized in */ public void _finalizeInContext(WOContext aContext) { String contentDisposition = headerForKey(ContentDispositionHeaderKey); String contentType = headerForKey(ContentTypeHeaderKey); boolean isAttachment = contentDisposition != null && (contentDisposition.indexOf("inline") > -1 || contentDisposition.indexOf("attachment") > -1); boolean isIE = aContext != null && RequestUtilities.isUserAgentInternetExplorer(aContext.request()); boolean isHTML = contentType != null && contentType.toLowerCase().indexOf("text/html") > -1; allowClientCaching = isIE && isAttachment && ! isHTML; // Force all HTML pages returned to be UTF-8. if (isHTML) { // This controls the display and is also needed to handle input via forms setHeader("text/html; charset=UTF-8", ContentTypeHeaderKey); } super._finalizeInContext(aContext); } /** * Overridden to not call super if allowClientCaching is set. * * @see com.webobjects.appserver.WOResponse#disableClientCaching() * */ public void disableClientCaching() { if ( ! allowClientCaching) { super.disableClientCaching(); } } /** * @see #disablePageCaching() * @return true if disablePageCaching() has been called for this response */ public boolean isPageCachingDisabled() { return userInfoForKey(DisablePageCachingKey) != null; } /** * Adds a value for DisablePageCachingKey to this response's userInfo(). This can be used later * to flag that this response should not be cached. * * @see WOSession#savePage(WOComponent) * @see #isPageCachingDisabled() */ public void disablePageCaching() { setUserInfoForKey("dummy value", DisablePageCachingKey); } /** * WO 5.4 API * Sets the value for key in the user info dictionary. * * @param value value to add to userInfo() * @param key key to add value under */ public void setUserInfoForKey(Object value, String key) { /** require [valid_value] value != null; [valid_key] key != null; **/ NSMutab
Re: Converting to self-closing webobject tags
This is some really bad style. Use a WOGenericElement or WOGenericContainer. As for the format conversion just use Mike tool to reformat the html it will do it for you very nicely. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 15, 2008, at 17:09, Lachlan Deck wrote: AFAIK, you still need old-style tags when your wo tags are within quotes. e.g., On 15/04/2008, at 6:17 AM, John Huss wrote: I thought I would convert a bunch of old WOBuilder-made components to use the shorter and more readable self-closing webobjects tags, so becomes You can replace all occurances of this if you do a project-wide search and replace in Eclipse with these regular expression parameters: Find in *.html: ]+)> Replace: Note: I give no guarantees that this will work correctly - make sure you test it out first and back up your work beforehand. 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/lachlan.deck%40gmail.com This email sent to [EMAIL PROTECTED] with regards, -- Lachlan Deck ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: Tomcat Woes :)
This was fixed in WO 5.4 Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 15, 2008, at 15:02, Steve Quirk wrote: This is a long standing bug in EOModel.java - I don't know if it's been fixed. They use File.pathSeparator to construct the URL to the resource in the .eomodeld bundle - this, of course, doesn't work on windows. I have a subclass of EOModel that I did to fix this a while ago - let me know if you want it (um, like most things, it's probably a good idea to rumage in Wonder 1st for yet another band aid). - sq On Tue, 15 Apr 2008, Don Lindsay wrote: Hello; I have an application that I have just redeployed to Tomcat. The application starts up fine. but when the EOModel is accessed it encounters the following error: com.webobjects.foundation.NSForwardException for java.io.FileNotFoundException: JAR entry Resources/dwtm.eomodeld\Users.plist not found in D: \tomcatdwtm\webapps\dwtm\WEB-INF\lib\dwtm.jar at sun .net .www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:114) at sun .net .www .protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java: 124) at java.net.URL.openStream(URL.java: 1007)---832019076-1221564273-1208296962=:44223-- ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: I moved my server, changed ip and now..
James, Could you have a look into /etc/hostconfig and check the parameter: HOSTNAME=-AUTOMATIC- I would also dump the file /etc/resolv.conf Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 12, 2008, at 22:07, James Cicenia wrote: 1) Yes I swear and moved it to a new colo. 2) telnet localhost 3306 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. = 5.1.12-beta-log+5h,?9?q,1) First of all, are you sure you're telling us everything? Did you ONLY change the IP address ... NOTHING else? 2) If you "telnet localhost 3306", does it connect to MySQL? 3) Did you do anything weird, like turn on IPV6 or something that might cause possible incompatibilities between things? 4) What exactly is the connection string you're using for your database from WO? Is it localhost, is it 127.0.0.1, or the new IP? 5) If it's not localhost, can you "telnet thehostthatitisusing 3306" and does THAT connect? 6) You're including an error message that I've never seen before, but no stack trace. What is the FULL error WITH stack trace? 7) Just for grins, try sudo'ing the telnet command as the user your app is running as (this is a total mojo check, but with Leopard's crazy new ACL's and sandboxing, you never know what might be possible). ms On Apr 13, 2008, at 12:43 AM, James Cicenia wrote: Still stumped... I can't understand it. Everything looks good, my php apps work, my phpmyadmin works, but WO won't connect to the database?! Anybody? Thanks On Apr 12, 2008, at 7:56 PM, Mr. Pierre Frisch wrote: Did you run the command line tool changeip? For MySQL yo need to check the access rights as they are by machine i.e. by IP address. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 12, 2008, at 16:11, James Cicenia wrote: My apps start but can't open a connection to the mysql database. It is running. I can access it via phpMyAdmin and remotely. So... What is hanging up my WebObject Applications? Did i miss something in the IP change? I am running OS X Tiger Server on an Intel dual core XServe. 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/pierre%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/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/james%40jimijon.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-deploy mailing list (Webobjects- [EMAIL PROTECTED]) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-deploy/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: I moved my server, changed ip and now..
Did you run the command line tool changeip? For MySQL yo need to check the access rights as they are by machine i.e. by IP address. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 12, 2008, at 16:11, James Cicenia wrote: My apps start but can't open a connection to the mysql database. It is running. I can access it via phpMyAdmin and remotely. So... What is hanging up my WebObject Applications? Did i miss something in the IP change? I am running OS X Tiger Server on an Intel dual core XServe. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: Staying with WebObjects
I got married in London to a british girl and that was long enough ago that I know what a guinea is (105 pences). Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 11, 2008, at 18:04, Simon McLean wrote: ok, there really is some history here. and there's me thinking piere had just added an "h" by mistake ... ;-) simon On 12 Apr 2008, at 01:44, Michelle Parker wrote: LOL I didn't need to look it up. I saw it in a book I was reading last week, by Charles Dickens! m On 12/04/2008, at 10:24 AM, Chuck Hill wrote: LOL. I wish I could claim that I needed to look that up... On Apr 11, 2008, at 5:16 PM, Mr. Pierre Frisch wrote: For us old fart we could just bring a farthing to the table. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 11, 2008, at 13:38, Simon McLean wrote: ps. i'm too young to know that! Simon Just my 2 pence, being british n'all :-) A true Brit would say tuppence. :-) ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%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/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/mich%40webobjectives.com.au 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/simon_mclean%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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: Staying with WebObjects
For us old fart we could just bring a farthing to the table. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 11, 2008, at 13:38, Simon McLean wrote: ps. i'm too young to know that! Simon Just my 2 pence, being british n'all :-) A true Brit would say tuppence. :-) ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: ERXMigrationTable.newColumn does not set default value
Both implementation are included. I was thinking of adding a more general mechanism that we could implement in the awakeFromInsertion default implementation. We could add a default value to the attribute and set it in the EOCustomObject in the super method. The main issue is backward compatibility. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 11, 2008, at 12:19, Mike Schrag wrote: Actually it is. The integrated FB plug-in in WO 5.4.x has the same capabilities as the Wonder one. May be we should define an extension to the EOModel format so that we could extent it to all vendors. I'm not sure about 5.4's implementation, but Wonder has a alternate default value implementation (to maintain backwards compatibility with people who expect the standard FB default behavior). The problem is that the default value as implemented in the FrontBase plugin normally does not pass the default value through the attribute formatter, so if you default value is something other than a String (like a default NSTimestamp), the default value fails. We may be able to just fix the default value interpretation, though, since I actually believe the original is wrong ... I just didn't want to risk breaking someone, so I added an "er.extensions.default" or something like that. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: ERXMigrationTable.newColumn does not set default value
If you are an ADC member download the iPhone SDK and look into packages. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 10, 2008, at 6:48, Mike Schrag wrote: 5.3 or 5.4.next, yes. ms On Apr 10, 2008, at 9:45 AM, Helmut Schottmüller wrote: Hi Mike, in fact I am using 5.4. So what's the conclusion? Waiting for WO 5.4.2? Helmut Am 10.04.2008 um 14:50 schrieb Mike Schrag: I lied anyway ... I DID actually add it to PGSQL, but I was looking in the same wrong place that you were. FB PlugIn has two inner classes (the schemasync and the expression). That method is actually in expression, not in sync, so when I looked in PG, I didn't see it. However, it IS in PGExpession. So I suspect your problems with defaults not working are due to 5.4. I'll have to check this for the next WO version, but I SUSPECT it works properly ... ms On Apr 10, 2008, at 8:38 AM, Mike Schrag wrote: The statment is built by a call of EOSchemaSynchronizationFactory._columnCreationClauseForAttribute method which calls - in my case I take it (based on the class name you're referencing here) that you're using WO 5.4.x? The problems I've discussed previously with respect to SQL generation in 5.4.x make this not worth trying to fix on your 5.4.x build until the next WO release ... ms ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40mdimension.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/helmut.schottmueller%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/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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: ERXMigrationTable.newColumn does not set default value
Actually it is. The integrated FB plug-in in WO 5.4.x has the same capabilities as the Wonder one. May be we should define an extension to the EOModel format so that we could extent it to all vendors. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 9, 2008, at 10:38, Mike Schrag wrote: I tried to update an existing Model (PostGreSQL) by adding a TEXT field which shouldn't be NULL. In the upgrade method I used table.newColumn("responsible", java.sql.Types.LONGVARCHAR, 0, 0, 0, false, "", "default"); to fill the new field with a default value "default" to deal with the already existing datasets. But I always get an org.postgresql.util.PSQLException: ERROR: column "responsible" contains null values. The default value flag is not supported by EOF plugins normally. This is a custom extension hint that is put into the attribute userInfo during the migration process. Only the FrontBasePlugIn (in Wonder -- I doubt it's in 5.4) actually interprets this value and generates a "DEFAULT xxx" string in the SQL. It should be pretty easy to add this to postgresql also, though. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: Staying with WebObjects
Let me repeat what I said at WWDC last year. The reason for moving out of XCode is that the WOLips / eclipse tools chain offer a much better environment for WebObjects / Java development than XCode has ever offered, why reinvent the wheel when we have a very good quality development environment with WOLips / eclipse. This is the main reason the older tool chain was removed. And the focus for the WebObjects team has been the run time. As for platform support, we qualify WebObjects on MacOSX and MacOSX Server. We do not test on any other platforms, we do however fix bug for other platform if they are reported with enough precision that we can make the change safely. A few bugs in that category were fixed in the past year and I am not aware of any outstanding issue about cross platform compatibility. Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 11, 2008, at 11:20, Jeff Smith wrote: Simon, I think you're right on it. It's just java now: install the Xcode tools (WO Frameworks--which you could put on any platform if you liked), download Eclipse (free/Java), download WOLips/WOnder (free/ Java) and then you can deploy on Linux/Tomcat/etc. (free/Java). I'm on OSX so the multi-platform development I'm not 100% sure about but I think it should work. The deployment definitely works as we deploy now on Linux/Tomcat with no issues. On Apr 11, 2008, at 1:09 PM, Simon McLean wrote: I don't understand the platform issue given that the tools are now deprecated. WO is just plain old java isn't it ? what is there to support ? when the tools were around i could understand it. let's face it, they didn't want to support the tools on OSX, let alone any other platform :-) maybe someone from apple could shed some light on it ? (as another pig passes overhead... ;-)) Simon On 11 Apr 2008, at 18:00, Elim Qiu wrote: WO is cool once you did something by using 20+% of its power. But this is only from developer's view point. From manager point jof view: (1) small user group; (2) limited official develop/deploy plantform; (3) Nothing attractive enough non-technically; these should be enough reasons to leave WO Obviously if WO supports windows and linux, (2) will be gone and the user group will getting bigger. The efforts of porting WO to linux in classic and popular sense are quite successful: GnuSTEP, SOEP and WO-direct-transplanting. But not many win developers ever heard about WO. As long as EOF still quite alien to cocoa developers, WO will not be so attractive even to many apple developers. (So windows and objC are important to WO) Situation will not change too much if the strength of WO is only appreciated by WO developers. What if the following become standard and easily customizable/localizable *Affair Editor/Publisher for business managers to manage affairs (eg. events like conferences, sales, etc) *Content management tools for business people instead of developers *Survey Creator/Publisher/ResponseAnalyser for business analyser *Business Rule editor and generic executor for business rule maker I believe WO/EOF can help achieve the above much easier than other techs (some of my work shows the feasibility). That's why I'll not leave WO. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/simon_mclean%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/jas35%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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: Inline bindings: attribute string value begining with $
With WO 5.4 the syntax should be: By default the dynamic binding use [] and not $. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 5, 2008, at 1:15, Mike Schrag wrote: Oh, I assumed you were using Wonder with the $ syntax ... I have no idea how to escape the attribute prefix in 5.4. ms On Apr 5, 2008, at 1:09 AM, Ricardo Parada wrote: On Apr 4, 2008, at 8:52 PM, [EMAIL PROTECTED] wrote: From: Mike Schrag <[EMAIL PROTECTED]> Subject: Re: Inline bindings: attribute string value begining with $ To: WebObjects-Dev Mailing List Message-ID: <[EMAIL PROTECTED]> Content-Type: text/plain; charset="us-ascii" \$#,##0 Do I need to use the wonder frameworks for that to work? 'cause I'm not using Wonder. I have setup aliases in my app for dynamic elements (i.e. str for WOString) and then I setup $ as the dynamic attribute prefix. So it may look like I'm using one of the Wonder frameworks but I'm not. :-( Anyways, I tried using the \ character but it shows up in the displayed value, i.e. \$4.50 :-) ___ Do not post admin requests to the list. They will 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: WebObjects Training
Übermind offers training in Seattle for individuals and custom classes for larger groups. I am sure they can organize training in India. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 4, 2008, at 6:27, Ashish wrote: Hello All, This topic is slightly off the usual discussions on the thread but this group would be more experienced to answer this. My organisation in India needs WebObjects training (Level 2) for a group of around 10 to 15 people. Appreciate if somebody can provide some inputs directly on my email. Thanks, Ashish ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: stateless component
Yes please Thanks Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 3, 2008, at 18:03, Chuck Hill wrote: That sounds like a good idea. Do you want a bug report? On Apr 3, 2008, at 6:00 PM, Mr. Pierre Frisch wrote: May be we should log a warning for this? Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 3, 2008, at 10:39, Chuck Hill wrote: On Apr 3, 2008, at 10:28 AM, Tonny Staunsbrink wrote: The top level component is allways created, subcomponents are reused, not sure why Because they have to go in the page cache as unique instances recording page state. Stateless and page state don't mix. Chuck Cheers Tonny On Wed, Apr 2, 2008 at 11:37 PM, Archibald Singleton <[EMAIL PROTECTED] > wrote: Hello, >From the WO API docs: "For extra efficiency, you can create stateless components: components that can be shared between sessions. Stateless components aren't replicated each time they're needed; rather, a single shared instance is referenced each time the component is used." But logging calls to my stateless component constructor (subclass of ERXStatelessComponent), I see that's it's being called for every request and that new instances are created for each request. Maybe worth noting is the fact that the component is instantiated by a direct action (hence there are no sessions). I basically replicated what David showed in his lastest screencast re: the first hit to the app being a default action instead of a component action. I would have thought that that "shared instance" business means it's created once and reused all along? Could someone please be kind enough to enlighten me as to what's happening? TIA = tmk = ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mezz.dk%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/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/pierre%40apple.com 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/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: stateless component
May be we should log a warning for this? Pierre -- Pierre Frisch [EMAIL PROTECTED] On Apr 3, 2008, at 10:39, Chuck Hill wrote: On Apr 3, 2008, at 10:28 AM, Tonny Staunsbrink wrote: The top level component is allways created, subcomponents are reused, not sure why Because they have to go in the page cache as unique instances recording page state. Stateless and page state don't mix. Chuck Cheers Tonny On Wed, Apr 2, 2008 at 11:37 PM, Archibald Singleton <[EMAIL PROTECTED] > wrote: Hello, >From the WO API docs: "For extra efficiency, you can create stateless components: components that can be shared between sessions. Stateless components aren't replicated each time they're needed; rather, a single shared instance is referenced each time the component is used." But logging calls to my stateless component constructor (subclass of ERXStatelessComponent), I see that's it's being called for every request and that new instances are created for each request. Maybe worth noting is the fact that the component is instantiated by a direct action (hence there are no sessions). I basically replicated what David showed in his lastest screencast re: the first hit to the app being a default action instead of a component action. I would have thought that that "shared instance" business means it's created once and reused all along? Could someone please be kind enough to enlighten me as to what's happening? TIA = tmk = ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/mezz.dk%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/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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: WebObjects 5.4(.1) and https
I just checked and WOForm should use the result of context.secureMode() to determine if it needs to generate secure URLs. It is also possible to force the behavior by adding a binding "secure=true;" and the same logic should apply It is in fact the same code that is called. The exact behavior is to honor the result context.doesGenerateCompleteURLs() except if there is a change of transport mode between the request and the current setting of the context. To me more precise if the request was insecure but the context is secure (context.secureMode()) then WO will generate complete URLs. The same is true in the other direction. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 28, 2008, at 6:11, Serge Cohen wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello Pierre; Thanks for the quick answer. Indeed these methods do not seem to be in the javadoc for WebObjects 5.4.1 Using it I've made a quick-check and realised that indeed the WOContext does realise properly if it is Secure or not. In other words, if I log the result of aContext.isSecure (be it before or after the super.appendToResponse call) it's properly set : It's set to NO before the redirect, and YES after. Then I realised that indeed this URL trouble is only present in URLS that are a form's actions. The 'normal' hyperlinks (the one generated by WOHyperlink or WOResourceURL) are properly generated (that is, they are never including scheme and hotsname). Is it that the form need also to be 'informed' that it should specifically ask for secure transport (could not find any such indication in the documentation)? Thanks again for the initial answer, and I hope you'll be able to help me now that I've made the question more precise. Serge. Le 27 mars 08 à 11:54, Mr. Pierre Frisch a écrit : With WO 5.4.x WOContext has gained a few method to correctly manage the secure transport. /** * Return true if the context is in secure mode. * * @return true if in secure mode * @since 5.4 */ public boolean secureMode() /** * Puts the context in secure mode. * * @param value */ public void setSecureMode(boolean value) WOContext should also correctly manage the complete URLs. If the secure mode is turned on and the request was not made on secure transport then the URL will be complete. Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 27, 2008, at 2:26, Serge Cohen wrote: Oups ... just realised that I send this mail to the "wrong" (not totally) mailing list ... It's most likelly not a Wonder issue but rather a WebObjects 5.4 one... Someone has the same experience than I when using redirection to change from http to https ? Here is the message I've sent yesterday to the Project Wonder list ... In the application I'm currently working on, I sometimes have to turn to HTTPS (decision made at runtime) using the following code in Session.appendToResponse : public void appendToResponse(WOResponse aResponse, WOContext aContext) { // Shall we ask for HTTPS or HTTP (or leave the transport as it is). boolean tmpRequestIsSecure = RequestAdditions.isSecure(aContext.request()); super.appendToResponse(aResponse, aContext); if ((requireSecure && !tmpRequestIsSecure) || (requireNotSecure && tmpRequestIsSecure)) { // We have to redirect towards the same page, but different schema String schema = (requireSecure) ? "https" : "http"; String redirectToURL = schema + "://" + RequestAdditions.hostName(aContext.request()) + aContext.componentActionURL(); aResponse.setStatus(302); aResponse.setHeader(redirectToURL, "Location"); NSLog.debug.appendln("Switching schema to : " + schema + ". Redirecting to the URL '" + redirectToURL + "'."); } } Till now I was developing using WebObjects 5.3.? (+ Wonder), and this was all working nicely. In particular, whatever this redirect would do the URL generated by WebObjects in the html sources would be absolute but would NOT contain the schema and host name (in other words they'd start like '/cgi-bin/WebObjects/ Incident.woa/') I have just upgraded to Leopard, and hence WebObjects 5.4.1 (+ Wonder). Now the redirect still works (when enforcing 'https' usage), but upon such a redirection all the URL generated in the page are now 'complete' URL, that is they contain the schema, the hostname and then the rest (eg. 'http://foo.local/cgi-bin/WebObjects/Incident.woa/') . In particular, when turning to 'https' all the generated URLs are now EXPLICITLY NON secured http ('http'). Still if there is no- redirection th
Re: WebObjects 5.4(.1) and https
With WO 5.4.x WOContext has gained a few method to correctly manage the secure transport. /** * Return true if the context is in secure mode. * * @return true if in secure mode * @since 5.4 */ public boolean secureMode() /** * Puts the context in secure mode. * * @param value */ public void setSecureMode(boolean value) WOContext should also correctly manage the complete URLs. If the secure mode is turned on and the request was not made on secure transport then the URL will be complete. Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 27, 2008, at 2:26, Serge Cohen wrote: Oups ... just realised that I send this mail to the "wrong" (not totally) mailing list ... It's most likelly not a Wonder issue but rather a WebObjects 5.4 one... Someone has the same experience than I when using redirection to change from http to https ? Here is the message I've sent yesterday to the Project Wonder list ... In the application I'm currently working on, I sometimes have to turn to HTTPS (decision made at runtime) using the following code in Session.appendToResponse : public void appendToResponse(WOResponse aResponse, WOContext aContext) { // Shall we ask for HTTPS or HTTP (or leave the transport as it is). boolean tmpRequestIsSecure = RequestAdditions.isSecure(aContext.request()); super.appendToResponse(aResponse, aContext); if ((requireSecure && !tmpRequestIsSecure) || (requireNotSecure && tmpRequestIsSecure)) { // We have to redirect towards the same page, but different schema String schema = (requireSecure) ? "https" : "http"; String redirectToURL = schema + "://" + RequestAdditions.hostName(aContext.request()) + aContext.componentActionURL(); aResponse.setStatus(302); aResponse.setHeader(redirectToURL, "Location"); NSLog.debug.appendln("Switching schema to : " + schema + ". Redirecting to the URL '" + redirectToURL + "'."); } } Till now I was developing using WebObjects 5.3.? (+ Wonder), and this was all working nicely. In particular, whatever this redirect would do the URL generated by WebObjects in the html sources would be absolute but would NOT contain the schema and host name (in other words they'd start like '/cgi-bin/WebObjects/Incident.woa/') I have just upgraded to Leopard, and hence WebObjects 5.4.1 (+ Wonder). Now the redirect still works (when enforcing 'https' usage), but upon such a redirection all the URL generated in the page are now 'complete' URL, that is they contain the schema, the hostname and then the rest (eg. 'http://foo.local/cgi-bin/WebObjects/Incident.woa/') . In particular, when turning to 'https' all the generated URLs are now EXPLICITLY NON secured http ('http'). Still if there is no- redirection the generated URLs are the same as before (like the one generated by WO 5.3, non-complete URL, eg. '/cgi-bin/WebObjects/ Incident.woa/'). I have tried to check the value of aContext.doesGenerateCompleteURLs() (which in all cases is FALSE, which to me means that all generated URL should be absolute path without schema and hostname). I realise that the former https bug of WebObjects 5.3 is now fixed and it might be normal that my code is not working anymore, but I could not find how I should change my code to conform to the new WO version? Any help or hint is very welcome ! Serge. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: WOWebServiceRegistrar.registerWebService not working at all
Use 5.4.1 Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 20, 2008, at 15:11, Fred Wells wrote: So I have been banging my head against this for two days now with no progress. I need tom implement a simple WebService provider. I keep getting this error. [2008-03-20 17:01:02 CDT] java.lang.AbstractMethodError: com.webobjects.webservices.support.WOXMLProvider.getRoles()Ljava/ util/List; at org.apache.axis.AxisEngine.refreshGlobalOptions(AxisEngine.java:502) at com .webobjects .webservices .support.WOXMLProvider.doConfigureEngine(WOXMLProvider.java:94) I have tried several different versions of axis and they all give this same error. My deets are: WO 5.3.3 OSX 10.4.11 Eclipse 3.2.2 The thing that I think is a little weird I went back to basics to and started with the Calculator example in Xcode[2.4] and that works when I have the right axis.jar installed [1.1 i think] but that the only thing that i can get working. I barely have a grasp of SOAP and webservices and this stuff is making my head spin. I can't seem to find any relevant info on and of the boards. -fw Frederick Wells MarketForward, a Publicis Groupe Company 427 South LaSalle St. Chicago, Il 60605 312.220.3056 Disclaimer The information in this email and any attachments may contain proprietary and confidential information that is intended for the addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, retention or use of the contents of this information is prohibited. When addressed to our clients or vendors, any information contained in this e-mail or any attachments is subject to the terms and conditions in any governing contract. If you have received this e- mail in error, please immediately contact the sender and delete the e-mail. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Better start with Wonder than WO
I would totally disagree with that. Wonder introduce another layer of complexity and patching on top of WO. I think you should only use Wonder if you have a good reason for it. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 20, 2008, at 11:56, David LeBer wrote: On 20-Mar-08, at 2:45 PM, Gustavo Pizano wrote: aha ok... This is what I decided something what I posted in a previous thread. I will develop my Software Engineering class final project in parallel with WO, so at the end I will show the teacher what are the differences between EO, Hibernate and WO. SO ok I will start doing it in wonder. SO be prepare for a lot of questions I already have in my mind, hehe, but of course I will make some tutorial first, I will watch again the screen-cast :P. if for some reason I see I can't achive the goal I will go to normal WO development.. hopefully i will not do that. well what do you think? Building on top of Wonder needn't impact your development at all unless you want it to. You will benefit without even knowing it. However, there is the danger that you could get so caught up investigating all of the cool toys in Wonder that you didn't get any real work done. :-) But then that's not Wonder's fault now is it. On Mar 20, 2008, at 1:26 PM, David LeBer wrote: On 20-Mar-08, at 2:15 PM, Gustavo Pizano wrote: Im just "wondering" what's better for me, you know guys im really newbie. To keep learning concepts of WO or learn them and develop in Wonder? For a new WO developer, I think there are amazing benefits for starting with Wonder. Is wonder big? Yes. Is it hard to fully understand? Definitely. Do you need to understand all of it to benefit from it? Absolutely not. If you: 1. Use the WOLips WOnder Application template 2. Generate your EOs with the WonderEntity.java/ _WonderEntity.java templates 3. Always user ERXEC.newEditingContext() to obtain a new EOEditingContext You will benefit from a ton of bug fixes and helpful code that fix things that are hard to fix otherwise without having to change much else. Let the debate commence :-) ;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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: DST fixed for 08 in 5.4??
This is true but none the less we are trying to keep the time zone database in synch with the OS. I maintain my recommendation to use SimpleDateFormatter as it uses the Java time zone database which can easily be updated if the need arise using Sun tools. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 18, 2008, at 15:21, Chuck Hill wrote: Pierre's recommendation was to use the Java SimpleDateFormat. NSTimestampFormatter is deprecated (so far) in 5.4. There has been some objections to this, so it may come back. Chuck On Mar 18, 2008, at 2:19 PM, Greg Smith wrote: Does anyone know if the DST formatter problems are supposed to be fixed with OSXS 10.5/WO5.4? I just upgraded and am still having problems with times on dates in March? Maybe there is some other way I am suppose to switch back and forth from NSTimestamp? Any suggestions or examples would be greatly appreciated! 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/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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Most efficient way to iterate through an NSArray
This is fixed in WO 5.4 Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 17, 2008, at 9:55, David Avendasora wrote: I think I mis-spoke. It doesn't return an array of faults. If the relationship itself is a fault, simply calling products() without the .toArray() in a for loop returns a fault and trying to iterate over it doesn't work. At least this was the case in 5.3. I haven't tested it in 5.4. See this pervious thread from almost exactly a year ago: http://www.mail-archive.com/webobjects-dev@lists.apple.com/msg09829.html Dave On Mar 17, 2008, at 9:48 AM, Alexander Spohr wrote: Hey David. Am 17.03.2008 um 11:41 schrieb David Avendasora: I find myself often times needing to iterate through an NSArray of EOs. I'm not sure if the way I'm doing it is the most effecient or not. Here's what I normally do: public void doThisForAllProducts(EOEditingContext ec) { for (Object aProductObject : products().toArray()) { Product aProduct = (Product) aProductObject; aProduct.doThis(ec); } } This is assuming that products() is an NSArray of Product EOs. I'd drop that toArray() as it will not be faster in fetching your faults than by iterating the NSArrays items. (Or does it automagicly batchFetch?) Is this a good / the best way to iterate through NSArrays in general? It depends :) I find myself occasionally nesting this loop a couple deep to drill down into several toMany relationships. For example (as a keypath): products.billsOfMaterial.routingSteps.components to get all the components that are possibly used in a product. If you know that you have fetched all your products before in this edcon just run the loops, no faster way available. The second fastest way to do that is to fetch only the final array by building an OR-qualifier pointing to your products. The third fastest way is to batchFetch every array before you iterate. On a side note, and the reason for calling products().toArray() is to force EOF to get the real EOs and not just faults. If I just call products() I'll sometimes get EOs, sometimes faults, seemingly by EOF whim. Is that a bug or expected behaviour? If a product was fetched before it will not be a fault any more. But why do you care at all if they are faults? Just call doThis() and EOF will get them for you. atze ps. giving doThis an edcon makes me shiver. aProduct already knows its edcon and should not be allowed to work on a foreign one. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: question
There is a bug with Entity Modeler / WO 5.4. Entity Modeler uses the deprecated API for SQL generation. We just discovered that those APIs have a bug and do not call the Plug-In correctly. This affect all Databases. The new APIs work correctly so if you generate your code programmatically there is no problem but unfortunately it does not work with Entity Modeler. This will be fixed in the next update. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 15, 2008, at 8:54, David LeBer wrote: On 15-Mar-08, at 11:37 AM, Gustavo Pizano wrote: To appease your curiosity... hehe.. changing form frontbabse to FrontBase does no change... and the plugin i didn't get it where to set it up right clicking the webObjects ramework library in the proyect and the configure with open a window with the following roots local, system and user home, form the local I selected one called FrontBasePlugin thats what I have In the Database Config settings for your model, what do you have for the 'Driver' and 'Plugin' values? Gus On Mar 15, 2008, at 10:28 AM, Mike Schrag wrote: This line is hardcoded into both the 5.3 and the 5.4 frontbase plugin. If you're not getting it generated, this leads me to believe that you are not, in fact, using the FrontBase plugin for your model. So to appease my curiosity, try two things. First, try changing jdbc:frontbase to jdbc:FrontBase and see if that makes a difference. If not, try setting "Plugin" to "FrontbasePlugIn" (capitalization is important here) and see if that changes anything. ms On Mar 15, 2008, at 11:23 AM, Gustavo Pizano wrote: Nop its the same, the line its not appearing gus On Mar 15, 2008, at 10:16 AM, David Holt wrote: Try with jdbc:frontbase://localhost/logusuarios/ The last part of your connection URL is counteracting the line "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE, LOCKING PESSIMISTIC;" which is likely why it is not appearing in any of your sql generations. David On 15-Mar-08, at 8:07 AM, Gustavo Pizano wrote: jdbc:frontbase://localhost/logusuarios/isolation=read_committed/ locking=optimistic ;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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: New Tool: Click to Open
I would not call ERXExtensions a small framework unfortunately. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 12, 2008, at 12:34, Chuck Hill wrote: Hi, I don't know how many people are aware of this. This is totally cool! Mike Schrag wrote it and I was so impressed that I wrote up a Wiki page for it. Thanks Mike! Click to Open (C2O) allows you to open components in Eclipse directly from the running application in your browser! Click to Open appears in the lower left corner of browser as part of the pages of your running application. Clicking on this component, and then on an object in the browser window, opens the relevant WOComponent in Eclipse. This makes life easier for UI designers and for developers getting familiar with new projects. It also provides some other very slick debugging tools. Check out the screencast at the mDimension build site: http://webobjects.mdimension.com/wolips/preview/WOLipsFramework.m4v More: http://wiki.objectstyle.org/confluence/display/WOL/Click+to+Open Note: this does require one, single, tiny framework from Project Wonder. It does not use anything else from Wonder. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Bug of the ComponentContent UTF-8
Ok I have had a look at it and what is broken is not the encoding but the encoding detection. Remove the encoding detection and all works correctly. The default encoding for Wo 5.4.x is UTF-8 anyway. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 12, 2008, at 8:40, Yoshihiko Mori wrote: Hi Pierre, 1. version of Java: $java -version java version "1.5.0_13" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13- b05-237) Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing) 2. version of WebObjects: 5.4.1 3. version of MacOS X: 10.5.2 4. problems: If I set the charset name to "UTF-8" in the Main.java, I get unexpected characters in the String01 when I input any Japanese words in the TextField01 and click the SubmitButton01. If I set the charset name to "UTF8", I get normal Japanese words. When I was using WebObjects 5.3 on the MacOS X 10.4, the "UTF-8" was not a problem. I think that this problem is not because of the ComponentContent considering the test which I did recently. 5. my new test code (I will send binary by another mail for you.) : //- Main.java package com.hfsys.components; import com.webobjects.appserver.WOComponent; import com.webobjects.appserver.WOContext; import com.webobjects.appserver.WORequest; import com.webobjects.appserver.WOResponse; public class Main extends WOComponent { private static final long serialVersionUID = 1L; public String testStr01, testStr02; public Main(WOContext context) { super(context); } public WOComponent testSubmit(){ testStr02 = testStr01; return null; } /** Set Japanese Encoding **/ public void takeValuesFromRequest(WORequest aRequest,WOContext aContext) { aRequest.setFormValueEncodingDetectionEnabled(true); aRequest.setDefaultFormValueEncoding("UTF8"); super.takeValuesFromRequest(aRequest,aContext); } public void appendToResponse(WOResponse aResponse,WOContext aContext) { aResponse.setContentEncoding("UTF8"); super.appendToResponse(aResponse,aContext); } /** <--Set Japanese Encoding **/ } //- Main.html Test Test //- Main.wod Form01: WOForm {} String01: WOString { value = testStr02; } SubmitButton01: WOSubmitButton { action = testSubmit; value = "保存"; } TextField01: WOTextField { value = testStr01; } //- Main.woo { "WebObjects Release" = "WebObjects 5.0"; encoding = NSUTF8StringEncoding; } //- Main.api Thanks, Mori On 2008/03/12, at 2:02, Mr. Pierre Frisch wrote: What is the problem exactly? The name should be "UTF-8" with a dash. In Java 1.4 the API changed from encoding names to charset names. The charset name use the same convention as the Web. The encoding names are considered legacy by Sun but should still work for String conversion. Could give me more detail of exactly what the problem is? and which version of Java and WebObjects? Thank you Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 11, 2008, at 8:59, Yoshihiko Mori wrote: Hi Chuck, Thank you for your advice. This was not a bug. I changed the character set name from "UTF-8" to "UTF8" in the parent Component code as follows and it seems that it went well. In the past the "UTF-8" was not a problem but it does not go well now. /** for UTF-8 **/ public void takeValuesFromRequest(WORequest aRequest,WOContext aContext) { aRequest.setFormValueEncodingDetectionEnabled(true); aRequest.setDefaultFormValueEncoding("UTF8"); super.takeValuesFromRequest(aRequest,aContext); } public void appendToResponse(WOResponse aResponse,WOContext aContext) { aResponse.setContentEncoding("UTF8"); super.appendToResponse(aResponse,aContext); } /** **/ Thanks. Mori On 2008/03/12, at 0:05, Chuck Hill wrote: Hello Mori, On Mar 11, 2008, at 12:31 AM, Yoshihiko Mori wrote: Dear all, Dear developers. I found a bug in the WOComponentContent. It is as follows: 1. I set the Meta header in the Component as follows: 2. I sent a String of UTF-8 in the WOTextField in the WOForm in the WOComponentContent in the Component. 3. I got unexpected code and I found the following log include the context().request() log: content-type=[application/x-www-form-urlencoded] 4. If the WOForm is not included in the WOComponentContent, I got expected code and the log of context().request() is as follows: content-type=[application/x-www-form-urlencoded; charset:UTF-8] I think this behavior that the Component in the WOComponentContent does not get the charset of the Meta header is a bug. I am developing with the MacOS X 10.5 + WebObjects 5.
Re: Class 'Session' exists but is not a subclass of WOSession?
This bug has not been reported -:) and I missed it. I would need quite a bit more information. Could you include the Info.plist and the classpath for the culprit? Thank you Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 12, 2008, at 5:21, David LeBer wrote: On 12-Mar-08, at 7:51 AM, David Avendasora wrote: This bug does not yet seem to be fixed in WO 5.4.1. Does anyone know the Radar number so I can add to it? I'm getting it on a new project using the WOApplication template, but not every time I run it. The first few times it ran fine, but then it started failing on both the Main component not extending WOComponent and Session not extending WOSession. The fix below works for Session, but it is still grabbing the wrong Main class (org.apache.log4j.chainsaw.Main) even after I moved it from Components to the same package as Application. Any ideas? This is not really a fix, just a brute force hack. If you are using Wonder this will get things working again: ERXPatcher.setClassForName(com.codeferous.nameone.ui.Main.class, "Main"); ;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 On Jan 3, 2008, at 3:25 PM, Aaron Thompson wrote: Thanks, that did the trick! Aaron Thompson On Jan 3, 2008, at 2:00 PM, Chuck Hill wrote: On Jan 2, 2008, at 10:17 PM, Aaron Thompson wrote: Hi, I'm building a webapp from the WOnderApplication project template, but I'm getting a rather confusing error when I try to debug. This is with WO 5.4, OS X 10.5, and WOLips/WOnder nightly. Here's the error: NSLog - : Exception occurred while handling request: java.lang.IllegalArgumentException: Class 'Session' exists (interface org.apache.axis.session.Session) but is not a subclass of WOSession. [2008-1-3 6:1:7 CST] java.lang.IllegalArgumentException: Class 'Session' exists (interface org.apache.axis.session.Session) but is not a subclass of WOSession. at com .webobjects .appserver.WOApplication._sessionClass(WOApplication.java:1925) at com .webobjects .appserver .WOApplication.createSessionForRequest(WOApplication.java:1964) at er .extensions .ERXApplication.createSessionForRequest(ERXApplication.java:1555) at com .webobjects .appserver .WOApplication._initializeSessionInContext(WOApplication.java: 2101) at com .webobjects .appserver ._private .WOComponentRequestHandler ._dispatchWithPreparedApplication(WOComponentRequestHandler.java: 319) at com .webobjects .appserver ._private .WOComponentRequestHandler ._handleRequest(WOComponentRequestHandler.java:369) at com .webobjects .appserver ._private .WOComponentRequestHandler .handleRequest(WOComponentRequestHandler.java:442) at com .webobjects .appserver.WOApplication.dispatchRequest(WOApplication.java:1678) at er.extensions.ERXApplication.dispatchRequest(ERXApplication.java: 1322) at com .webobjects .appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java: 144) at com .webobjects .appserver._private.WOWorkerThread.run(WOWorkerThread.java:226) at java.lang.Thread.run(Thread.java:613) I feel like it's some sort of classpath issue, but I couldn't find any org.apache.axis.session.Session imports or anything, and both my Application and Session classes don't have any funny code in them. Any ideas? I am pretty this is the result of bugs in NSBundle. I think they should be fixed when 5.4.1 is released. Someone posted a hack recently. I think it was adding this to Application: protected Class _sessionClass() { return your.own.Session.class; } 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Proble with tutorial
Actually this is not true. I am willing to bet that there are more users of WO 5.4.x than 5.3.x. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 11, 2008, at 20:11, David LeBer wrote: On 11-Mar-08, at 11:06 PM, Daniel Brajkovic wrote: Well Gus, after all these emails, I'll throw in my beginner's advice that I learned today. Use WO 5.3.3 It seems that 5.4 still has bugs that need to be worked out. I was having problems after I "upgraded" (or should I just say changed) today to 5.4. And had many problems with the SQL in Entity Modeler. Download the WebOjects 5.3.3 update and use a package extractor to get all the frameworks. Download the Wonder 5.3 Frameworks and put those in place. Since I've gone back to 5.3.3 this evening. No problems at all! If nothing else, you will be working with the same version that most of the committers to the tools use. ;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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: WOLips: "build" and "bin" outside of workspace?
I totally agree. Version control is the way to go even for individual developers. Setting up an SVN repository is trivial and that is what needs to backed up not the workspace which by definition is transitory. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 12, 2008, at 5:02, Kieran Kelleher wrote: I think the only (roundabout) way to deal with this problem in Eclipse right now is to use svn:ignore (or something similar depending on your version control system) for derived artifacts so they don't get committed and backup the version control system repos (assuming you use a version control system). If not using a version control system and doing regular copy the workspace for backup, then I would say the best way to remove the derived bloat from the workspace before backup would be to turn off build automatically, do a clean all, possibly supplemented by a "clean" target in the ant build.xml that deletes any other bits that the regular clean all does not do. Seems like a pain to do this. Another alternative might be to just use a high compression archiver like bzip to minimize the size of the workspace backup .. that's what I used to do in my early "lone programmer" non-subversion days. If not using a team version control system, you could always just have a local subversion repository on your hard drive (simple to set up and use BTW) that gets backed up and use svn:ignore to prevent the derived garbage from going in there. YMMV, Regards, Kieran On Mar 11, 2008, at 7:22 PM, Gaastra Dennis - WO Lists wrote: Dear List, WOLips: "build" and "bin" outside of workspace? In order to keep our workspace lean for backups, is it possible to keep these derived contents out of the workspace directory. In XCode, you could specify separate "Built" and "Product" directories. That would be a great benefit to us. Thanks. With Kind Regards, Dennis Gaastra, Chief Technology Officer, WEBAPPZ ___ Do not post admin requests to the list. They will 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Bug of the ComponentContent UTF-8
What is the problem exactly? The name should be "UTF-8" with a dash. In Java 1.4 the API changed from encoding names to charset names. The charset name use the same convention as the Web. The encoding names are considered legacy by Sun but should still work for String conversion. Could give me more detail of exactly what the problem is? and which version of Java and WebObjects? Thank you Pierre -- Pierre Frisch [EMAIL PROTECTED] On Mar 11, 2008, at 8:59, Yoshihiko Mori wrote: Hi Chuck, Thank you for your advice. This was not a bug. I changed the character set name from "UTF-8" to "UTF8" in the parent Component code as follows and it seems that it went well. In the past the "UTF-8" was not a problem but it does not go well now. /** for UTF-8 **/ public void takeValuesFromRequest(WORequest aRequest,WOContext aContext) { aRequest.setFormValueEncodingDetectionEnabled(true); aRequest.setDefaultFormValueEncoding("UTF8"); super.takeValuesFromRequest(aRequest,aContext); } public void appendToResponse(WOResponse aResponse,WOContext aContext) { aResponse.setContentEncoding("UTF8"); super.appendToResponse(aResponse,aContext); } /** **/ Thanks. Mori On 2008/03/12, at 0:05, Chuck Hill wrote: Hello Mori, On Mar 11, 2008, at 12:31 AM, Yoshihiko Mori wrote: Dear all, Dear developers. I found a bug in the WOComponentContent. It is as follows: 1. I set the Meta header in the Component as follows: 2. I sent a String of UTF-8 in the WOTextField in the WOForm in the WOComponentContent in the Component. 3. I got unexpected code and I found the following log include the context().request() log: content-type=[application/x-www-form-urlencoded] 4. If the WOForm is not included in the WOComponentContent, I got expected code and the log of context().request() is as follows: content-type=[application/x-www-form-urlencoded; charset:UTF-8] I think this behavior that the Component in the WOComponentContent does not get the charset of the Meta header is a bug. I am developing with the MacOS X 10.5 + WebObjects 5.4.1 + WOLips 3.3.4984. Could you fix it and give me any workaround? Thanks. Mori. You can't just set the meta header, you need to tell WebObjects to use the UTF-8 encoding everywhere. This should help: http://wiki.objectstyle.org/confluence/display/WO/Web+Applications-Development-Localization+and+Internationalization 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: EOTemporaryGlobalID - Unique Bytes
Hi Andrew, Can you elaborate on the problem? I have relied on a very similar algorithm for years and I have never seen a problem. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 27, 2008, at 16:29, Peter Vandoros wrote: HI Andrew, Thanks for that. I had come across that class too. Thanks Peter Andrew Lindesay wrote: Hello Peter; Just anecdotal evidence -- no concrete logs etc... just wanted to see if anybody knew any issues there before I started a more involved investigation. The new method I am trying is; java.util.UUID.randomUUID().toString(); cheers. I've been using this and haven't had a problem. yet. Which cases have you found that it's not unique? If you find a different method, do you mind posting it here so we can look into it too? ... The method; EOTemporaryGlobalID.assignGloballyUniqueBytes(..) ...has javadoc that reads; Assigns to uniqueBytes an array of bytes that represent a byte string that's guaranteed to be unique network wide. In production I believe that I have seen some cases where it might not be completely unique. Has anybody else come across this sort of problem with the TGID before I start looking at the J2SE equivalent. ___ Andrew Lindesay technology : www.lindesay.co.nz business : www.silvereye.co.nz -- Peter Vandoros Software Engineer Etech Group Pty Ltd Level 3/21 Victoria St Melbourne VIC 3000 Australia Ph: +61 3 9639 9677 Fax: +61 3 9639 9577 -- IMPORTANT: This e-mail message and any attachments are confidential and may be privileged. If received in error, please reply to this message and destroy all copies and any attachments. You should check this message and any attachments for viruses or defects. Our liability is limited to resupplying any affected message or attachments. For more information about Etech Group, please visit us at http://www.etechgroup.com.au. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Bringing back the dev tools
If you look at the file format reference: http://developer.apple.com/documentation/InternetWeb/Reference/WO_BundleReference/Introduction/Introduction.html Anything that is marked as WebObjects 5.4 will be removed by EOModeler (indexes, enums, custom types). The same is true for WOBuilder. In the case of EOModeler you should also note that it uses very old version of the JDBC plug-ins and therefore may not be compatible with current JDBC drivers. The reality of it is that we cannot ensure compatibility with deprecated tools. We do maintain compatibility upwards so that you can run old projects but we work under the assumption that eomodels are created using Entity Modeler as this is what we are using internally. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 25, 2008, at 19:55, David Elliott wrote: Hi Pierre, Would you elaborate a bit please? Before I came up with this hack of installing the old tools on the new OS I had used the hack of installing the new WO on the old OS. So I was using EOModeler and WebObjects Builder with WO 5.4 installed on Tiger. I don't recall seeing anything unexpected in the svn diffs and I just went back and looked at my svn diffs to make sure of it. I saw the jdbc2Info get added to the connection dictionary but that's about it. Perhaps it only involves doing things that EOModeler didn't do? -Dave On Feb 25, 2008, at 10:29 PM, Mr. Pierre Frisch wrote: I may be repeating myself but DO NOT USE EOModeler with WebObjects 5.4.x. There are some new data in the eomodels that EOModeler knows nothing about and will not only ignore but remove. There is no version protection in EOModeler so you will be disappointed. The only way to edit model for WebObjects 5.4 is Entity Modeler which exist as a stand alone application if you really do not want to use eclipse. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 25, 2008, at 2:03, Gino Pacitti wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi David Thanks for all the help - this looks great and all seems to be working well.. Except the bug with WOBuilder but I think I can live with that :-) Gino On 25 Feb 2008, at 09:25, David Elliott wrote: Hi Gino, Would you have a look at your console log by opening up the Console app in /Applications/Utilities? My guess is that they got redirected somewhere, probably back into the .dst root! It seems for some queer reason that the created package references the apps by bundle ID and attempts to replace an existing app with that bundle ID rather than install into the proper location. I wish I knew some way to turn this off because not too many people really care to move them as far as I know, particularly when all the frameworks they depend on need to be in the fixed locations to work anyway. Try nuking /tmp/WebObjectsLegacyDevelopment.dst and then installing the package again.. it'll probably work because launch services won't have remembered that EOModeler and friends were "installed" in the tmp dir. As for Xcode, follow the instructions at the end of the new (r18) README.txt so that Xcode can find the file templates. -Dave On Feb 25, 2008, at 4:13 AM, Gino Pacitti wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi David I am really pleased with this... it was just what I was looking for to move forward with using WO in conjunction with Leopard... Thanks for your great work. I do have a couple of final questions though as I am unable to add a new WOApplication or WOComponent from the file menu in XCode.. Any reason why this was... BTW after I ran the final script I looked for the .dmg file in tmp and installed that - yet for some reason the tools did not install in /Developer/Applications/ I had to manually copy it across... The rest seemed to be installed but I copied from the .dst file all the directory contents into their respective paths... Anyway Xcode opens projects and compiles and I can open WOComponents which still have their link to the project... If you do have a sec and can help with the question above I would surely appreciate it.. GIno On 24 Feb 2008, at 19:06, David Elliott wrote: Hi Gino, I think you mean lWOCompatibilityStreams not IWOCompatibilityStream. That is, a lowercase ell like the "-l" option to the linker. I've got Xcode set at the defaults and I did just check and find that if you set a custom build products location you need to be sure to set it to place intermediate build products "with build products". There are equivalent options in the project inspector. If you've customized it in your general Xcode preferences then make sure you select Place Intermediate Build Files in: "Build Products Location" from the project inspector. Also note that putting the build products anywhere but the normal build directory is going to require that you modify the woroot- fixup.sh script slig
Re: Bringing back the dev tools
I may be repeating myself but DO NOT USE EOModeler with WebObjects 5.4.x. There are some new data in the eomodels that EOModeler knows nothing about and will not only ignore but remove. There is no version protection in EOModeler so you will be disappointed. The only way to edit model for WebObjects 5.4 is Entity Modeler which exist as a stand alone application if you really do not want to use eclipse. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 25, 2008, at 2:03, Gino Pacitti wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi David Thanks for all the help - this looks great and all seems to be working well.. Except the bug with WOBuilder but I think I can live with that :-) Gino On 25 Feb 2008, at 09:25, David Elliott wrote: Hi Gino, Would you have a look at your console log by opening up the Console app in /Applications/Utilities? My guess is that they got redirected somewhere, probably back into the .dst root! It seems for some queer reason that the created package references the apps by bundle ID and attempts to replace an existing app with that bundle ID rather than install into the proper location. I wish I knew some way to turn this off because not too many people really care to move them as far as I know, particularly when all the frameworks they depend on need to be in the fixed locations to work anyway. Try nuking /tmp/WebObjectsLegacyDevelopment.dst and then installing the package again.. it'll probably work because launch services won't have remembered that EOModeler and friends were "installed" in the tmp dir. As for Xcode, follow the instructions at the end of the new (r18) README.txt so that Xcode can find the file templates. -Dave On Feb 25, 2008, at 4:13 AM, Gino Pacitti wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi David I am really pleased with this... it was just what I was looking for to move forward with using WO in conjunction with Leopard... Thanks for your great work. I do have a couple of final questions though as I am unable to add a new WOApplication or WOComponent from the file menu in XCode.. Any reason why this was... BTW after I ran the final script I looked for the .dmg file in tmp and installed that - yet for some reason the tools did not install in /Developer/Applications/ I had to manually copy it across... The rest seemed to be installed but I copied from the .dst file all the directory contents into their respective paths... Anyway Xcode opens projects and compiles and I can open WOComponents which still have their link to the project... If you do have a sec and can help with the question above I would surely appreciate it.. GIno On 24 Feb 2008, at 19:06, David Elliott wrote: Hi Gino, I think you mean lWOCompatibilityStreams not IWOCompatibilityStream. That is, a lowercase ell like the "-l" option to the linker. I've got Xcode set at the defaults and I did just check and find that if you set a custom build products location you need to be sure to set it to place intermediate build products "with build products". There are equivalent options in the project inspector. If you've customized it in your general Xcode preferences then make sure you select Place Intermediate Build Files in: "Build Products Location" from the project inspector. Also note that putting the build products anywhere but the normal build directory is going to require that you modify the woroot- fixup.sh script slightly. So if in doubt, set the build products (Place Build Products in:) to /path/to/WOCompatibility-r16/build I am guessing you got this error on the SystemWOCompatibility target which was unable to find its dependencies. -Dave On Feb 24, 2008, at 7:54 AM, Gino Pacitti wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi David I tried to build the WOCompatibility.xcodeproj with XCode 3 on Leopard and I get an error: library not found IWOCompatibilityStream? I had run the first script with XCode 2.5 mounted and that went well but the requirement to build the project first gave me the error. I did download the Libstreams first and they are in the folder... Any help appreciated Gino On 24 Feb 2008, at 09:54, David Elliott wrote: [NOTE: CC'd anyone who posted publicly expressing interest and BCC'd anyone who sent me a private mail] On Feb 24, 2008, at 4:30 AM, Simon McLean wrote: In fact, I believe that most WebObjects developers have only moved to Eclipse because they were forced to. I think you're absolutely right. But very shortly after arriving on planet Eclipse we realised just how stupid we were clinging on to XCode. Tried it. Didn't like it. It does a lot of stuff, none of which I really care about most of the time. The old stuff was better for my workflow. Or rather maybe I should say the old stuff IS better for my workflow. http://tgwbd.org/WOCompatibility/index.html Enjoy, -Dave ___ Do not post admin requests to the list. They will b
Re: Wosid suppression broken in 5.4?
Sorry the fix did not make it into 5.4.1 it will come later. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 25, 2008, at 2:47, Alexander Spohr wrote: Q, use wosid=false; to prevent the wosid. bugreport: 5740184 WOHyperlink appends ?wosid to href WebObjects Other Bug 13-Feb-2008 05:08 AM Duplicate/5657595 I think I filed this as a Serious Bug because it gives the wosid to foreign and maybe unknown sites. And there is a second bug! If your URL has parameters, WO still appends a question-mark! http://xyz?param=value becomes: http://xyz?param=value?wosid= instead of http://xyz?param=value&wosid= atze Am 25.02.2008 um 04:25 schrieb Q: Digging up an old thread... forgive me. I just noticed that the apple wo dev team have been bitten by this very "feature" themselves, in JavaMonitor on 5.4.1. Links to application instances now include the bogus wosid exactly as described below. Ouch! Match point Anjo. On 20/12/2007, at 10:40 PM, Anjo Krank wrote: Pierre, I think it's a bug, but MY main concern is that there are no hard- to-track changes in WO that might lead to undesirable results that you only stumble upon by accident - which clearly is the case if WOHyperlink behaved differently in the past. Now, I just checked that in 5.3 this: HyperlinkWithSession webobject> HyperlinkWithoutSession Hyperlink1 : WOHyperlink { action = application.name; } Hyperlink : WOHyperlink { href = "/"; } produces this: HyperlinkWithSession HyperlinkWithoutSession Which looks right to me. Now, IF 5.4 instead produces: HyperlinkWithSession HyperlinkWithoutSession then that would be unacceptable in many ways: it's plain wrong, it introduces security issues that were not present before, it makes deploying multiple apps in one site a guessing game which the correct WOSID will be if you have a mix of cookie/non-cookie sessions and you'll get hundreds of developers to check many thousands for existing components for this if they care a little bit about such things. So yes, we WILL fix this in Wonder and yes it IS needed at the WOHyperlink level and not programmatically by mucking with the context and we of course only do this because WE know what is good for you :) And I totally like pronouncements, so there (whatever they are). If, on the other hand, I got sth wrong here and the output is the same, never mind. Go along then, there is nothing to see. Cheers, Anjo Am 20.12.2007 um 12:59 schrieb Mr. Pierre Frisch: Anjo, Before you go in this kind of pronouncements I have a few points to make. The reason this works the way it works is because we would like to support query dictionaries on URLs. The current behavior is the default for WOHyperlink i.e. we handle the query dictionary and fragment identifiers. We therefore append the URL with the correct information. Part of the query dictionary is the session ID. The session ID is NOT included if either of this is true: No session exist before the call (typically a direct action) or The session id is not stored in the URL (i.e. it is stored in the cookie) or There is a binding ?wosid=false or The query dictionary contains a key wosid bound to Boolean.FALSE This is the correct behavior for links inside the current web site. I agree that this not correct for links out of the current web site, this however causes a problem as there is no way for WebObjects to determine what is inside and what is outside of the current Web site, only the Web server can. Changing the behavior is quite straight forward as the query dictionary is computed in the context: public NSDictionary computeQueryDictionary(String aRequestHandlerPath, NSDictionary queryDictionary, NSDictionary otherQueryDictionary) There is no need for a "Wonder patch", each developer can do what they need. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Dec 19, 2007, at 16:35, Anjo Krank wrote: Am 20.12.2007 um 01:22 schrieb James C. Lee: We were caught by surprise with this new "feature". But the above one-liner took care of it. We actually did this in our BaseSession class, which all apps subclass from. While we're on the subject of session IDs, also do this in the constructor: Wow. I see. You ARE sure that this one liner actually takes care of: - having older apps still work for which you neither have source nor time to work on - having both the cookie and the ULR work if they are not on sync - have distributed responsibilities, where some people might allow cookies and some not This is just OTOMH, I'm sure I can come up with extra cool XSS stuff when I put my mind into it. But I no wanna. Do YOU really want to wade around >3k components just for the heck of it to make sure that wosid=false is set in each case? And for *what* again? Again: It
Re: WOResourceManager and Data Longevity
Hi Andrew Do you have any sort of data I could use to help you out? Memory usage should not be different with WO 5.4.x compared to WO 5.3.x, at least our tests did not show anything significant. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 22, 2008, at 17:15, Andrew Lindesay wrote: Hello; Has anybody had any problems with this mechanism under WO 5.4 that might result in memory exhaustion? Sorry to reply to own post –– looks like it is something other than the "WOResourceManager" after a few hours testing. I built for WO 5.3.3 again and the problem goes away -- grrr. Has anybody managed to deploy a high-use WebObjects application with WO 5.4.1 yet? cheers. ___ Andrew Lindesay technology : www.lindesay.co.nz business : www.silvereye.co.nz ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: java heap trouble after 5.4.1 upgrade, opensnoop to the rescue
I disagree on this one. Embedding frameworks enables you to be independent of the version of WebObjects installed on the target machine. Considering the cost of disk drive (<1$/Gb) 10Mb is a negligible it is save you debug time. Even the upload time is very small if you tar your application before uploading. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 22, 2008, at 14:38, Guido Neitzer wrote: On 22.02.2008, at 15:06, Archibal Singleton wrote: We're talking about embedding the jars version of the System Frameworks right? I was under the impression that this was "just" of matter setting some configuration in WOLips/Ant That's what I was talking about. I don't know why I should embed the WebObjects (aka System) frameworks in my application. I have to test and develop against the same frameworks as production is running on so I need either the same versions on the two environments or I need to embed the stuff I tested on. But why should I deploy the same frameworks that normally don't change in a long time (Remember the last 5.3 update?) on ANY deploy for every application. If you have ten different applications running on a machine, you have them at least ten times (plus old version backups) on the machine without any benefit. I can understand embedding the frameworks you work on or that are not in a normal install, but I'd hate adding more than 10MB for every application in every deploy. That would add around 70 meg to every deploy. Even embedding the other stuff would push the size to unreasonable values (because of ERJars and some stuff for PayPal integration). For my own projects I embed everything as deployments are quite seldom and there are normally changes to all frameworks - and it's only one big application. I thought it would be a good idea for WO version isolation (ie to make sure the the app is running with the WO version of WO it was developed with/for) and enable running apps that use different versions of WO. Yes, it might be useful for that. But see the downsides above. And there is no problem embedding "legacy" frameworks. cug -- Real-World WebObjects class at the Big Nerd Ranch March 2008, Frankfurt, Germany http://www.bignerdranch.com/classes/webobjects.shtml ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: java heap trouble after 5.4.1 upgrade, opensnoop to the rescue
I would suggest that you leave the legacy frameworks and move to the jars frameworks they have been available since 5.2 and are located in the user space under /Library/WebObjects/lib. These are functionally equivalent to the legacy frameworks. I would also recommend that you embed them in you app (you can do that with any version of WO > 5.2). Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 22, 2008, at 4:07, Archibal Singleton wrote: I was also using the symbolic links install for coexisting 5.3.x and 5.4.x installs. But could never shake a feeling of unease with this setup: /System is Apple's territory and one should avoid messing with stuff there at all costs... (Besides I too have been bitten by problems similar to the one you're experimenting with symlinks). So a few weeks ago, when WO 5.4.1 came out I finally decided to try again (could not make it work in previous attempts) and switch to using the wo.wosystemroot (and friends) property in ~/Library/ wobuild.properties to designate the proper WebObjects System Frameworks to use. Thanks to Anjo recent changes this now works smoothly and is IMHO a more elegant solution *** Disclaimer: I'm still a WO newbie. Now I simply leave the normal WO 5.4x install as it is. I installed the 5.3.x WO System Frameworks somewhere in my ~/Library and change wo.wosystemroot to point the the one I wish to use. HTH = tmk = On 20 Feb 2008, at 07:34, Johan Henselmans wrote: Just a reminder for some other mindless soul... I am one of the many that have WebObjects53 and 54 installed side by side on Leopard, with symbolic links to the respective libraries: lrwxr-xr-x 1 root wheel 70 20 feb 11:11 JavaEOInterfaceSwing.framework -> /System/Library/Frameworks/ WebObjects54/JavaEOInterfaceSwing.framework lrwxr-xr-x 1 root wheel 63 20 feb 11:11 JavaEOProject.framework -> /System/Library/Frameworks/WebObjects54/ JavaEOProject.framework lrwxr-xr-x 1 root wheel 66 20 feb 11:11 JavaEORuleSystem.framework -> /System/Library/Frameworks/ WebObjects54/JavaEORuleSystem.framework lrwxr-xr-x 1 root wheel 60 20 feb 11:11 JavaEOTool.framework - > /System/Library/Frameworks/WebObjects54/JavaEOTool.framework drwxr-xr-x 26 root wheel 884 30 okt 13:05 WebObjects53 drwxr-xr-x 26 root wheel 884 20 feb 03:23 WebObjects54 After I installed WebObjects 5.4.1, I reversed back to WebObjects 5.3 via a script along the lines of: ** for framework in `ls /System/Library/Frameworks/WebObjects53`; do rm /System/Library/Frameworks/$framework; ln -sf /System/Library/ Frameworks/WebObjects53/$framework /System/Library/Frameworks/ $framework; done for framework in `ls /Library/Frameworks/Wonder53`; do rm /Library/ Frameworks/$framework; ln -sf /Library/Frameworks/ Wonder53/$framework /Library/Frameworks/$framework; done for jar in `ls /Library/WebObjects/libWonder53`; do rm /Library/ WebObjects/lib/$jar; ln -sf /Library/WebObjects/libWonder53/$jar / Library/WebObjects/lib/$jar; done for app in `ls /Library/WebObjects/JavaAppsWO53`; do rm /Library/ WebObjects/JavaApplications/$app; ln -sf /Library/WebObjects/ JavaAppsWO53/$app /Library/WebObjects/JavaApplications/$app; done * But I got a message with which I had struggled before: I started an application in Eclipse, and then I got the message: java heap space, and the application would stop. The previous time it had to do with a classlist and a shared archive that was not properly updated, but that looked allright this time. I reminded that Leopard has dtrace on board, and started opensnoop before running the app again in Eclipse, to see if something was wrong: Then I found this: ** 502896 java 8 /System/Library/Frameworks/WebObjects54/ JavaWebObjects.framework/./JavaWebObjects.framework 502896 java 8 /System/Library/Frameworks/WebObjects54/ JavaWebObjects.framework/./JavaWebObjects.framework/ JavaWebObjects.framework 502896 java 8 /System/Library/Frameworks/WebObjects54/ JavaWebObjects.framework/./JavaWebObjects.framework/ JavaWebObjects.framework/JavaWebObjects.framework 502896 java 8 /System/Library/Frameworks/WebObjects54/ JavaWebObjects.framework/./JavaWebObjects.framework/ JavaWebObjects.framework/JavaWebObjects.framework/ JavaWebObjects.framework ** etcetera, etcetera. I looked in the framework, and then I discovered what had gone wrong: the Webobjects update had overwritten the symbolic links, and after applying the script, the symbolic links were not removed, but placed inside the frameworks that were still there. That caused a fatal loop, and that got Eclipse into a java heap space error. After removing the symbolic links inside the Frameworks with for i in /System/Library/Frameworks/WebObjects53/*; do rm $i/$i; done for i in /System/Library/Frameworks/WebObjects54/*; do rm $i/$i; done all was well again.
Re: Bug in WOTextField?
I cannot concur more, I have fallen in that trap many time. May be we could make a request for HTML 5 :) Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 22, 2008, at 5:29, Mike Schrag wrote: Nevertheless I'm still wondering, why WOTextField happily sets the value to null on its binding, even though it's name doesn't appear in the formValueKeys... This topic was discussed (most recently) in the thread "Partial Form Submit" from Jan 30 ... My personal conclusion about fixing it and why it is like that: "I actually have avoided putting this in Wonder because I'm really not sure what the side-effects might be in the general case. I've always felt like the current behavior is wrong, but I feared changing it in case it introduced some subtle bugs somewhere, or in case people depended on that wacky behavior. I suspect the original WO folks made it work like this so that checkbox and the others would work in a consistent way. The real blame is on the original design of how unchecked checkboxes submit in HTML, but not much we can do about that :) It is a bit a conundrum, though ... If you change it, you always have to lug around the 'oh, btw, checkboxes don't work the same way' note." In the case of Ajax, we can fix this (although I ended up fixing partial form submit in a different way) with the suggestions of including the list of submitted form keys along with the form. In the general submit case (i.e. non-Javascript submit), though, it's a lot more annoying and tricky to try and pull off that fix. So basically you either accept the current behavior in its consistently across all elements, or you fix it for everything except WOCheckBox, which could be really confusing. Honestly, I'm torn on this. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Progressively all threads go into deadlock
Hi Fabrice, How many stacks have you created for your multithreaded application? Are you using only one? Then you may have a contention as EOF is single threaded. Can you elaborate a little bit more on how your application works? Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 20, 2008, at 13:35, Chuck Hill wrote: On Feb 20, 2008, at 5:33 AM, Fabrice Pipart wrote: On Feb 19, 2008, at 8:33 PM, Chuck Hill wrote: We are thinking about a different thing : could it be a memory problem ? We are allocating "only" 256 Mb and are dealing concurrently with thousands of objects in background threads, components and wolongresponses tasks Could it lead to a deadlock ? Possibly. If the JVM runs out of memory, almost anything can happen. But it sounds like this is the only problem you are seeing and that it happens somewhat consistently. That does not sound like an out of memory exception. Might explain our situation then Is there anything special to do with EOObjectStoreCoordinator? I saw properties about pools of EOObjectStoreCoordinator, are they useful in my case? Probably not. Just a quick note : I now undertand what all those [1] sun.misc.Unsafe.park (native method) are for : threads waiting for the database lock to be able to do something on database. At least this will have clarified some essential WO behavior to me. Yes, EOF is single threaded below the EOObjectStoreCoordinator. That made me give a deeper look at it. Under heavy load, my threads keep waiting for those locks. In a typical situation, I have 3 threads waiting for a lock and one is actually accessing database. Is it in that case that EOObjectStoreCoordinator pools are useful to get a better performance ? Is that dangerous to use? The one in Wonder? I have never used it, but if it is in Wonder it is probably safe to use. It sounds like you have some database intensive operations and having multiple EOObjectStoreCoordinators (i.e. EOF stacks) will improve concurrency. Sometimes I offload these to another application. That also effectively gives them their own stack and also moves the load of resulting garbage collection etc to a different JVM. Here are some of the stack traces (I reduced the size of traces a bit and removed the threads sleeping, if you really want all threads, tell me) : ApplicationHealthTask: [1] sun.misc.Unsafe.park (native method) [2] java.util.concurrent.locks.LockSupport.park (LockSupport.java: 118) [3] java .util .concurrent .locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt (AbstractQueuedSynchronizer.java:716) [4] java .util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued (AbstractQueuedSynchronizer.java:746) [5] java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire (AbstractQueuedSynchronizer.java:1,076) [6] java.util.concurrent.locks.ReentrantLock$NonfairSync.lock (ReentrantLock.java:184) [7] java.util.concurrent.locks.ReentrantLock.lock (ReentrantLock.java:256) [8] com.webobjects.eocontrol.EOObjectStoreCoordinator.lock (EOObjectStoreCoordinator.java:420) [9] com.webobjects.eocontrol.EOEditingContext.lockObjectStore (EOEditingContext.java:4,650) [10] com.webobjects.eocontrol.EOCustomObject.willRead (EOCustomObject.java:1,165) [11] com.webobjects.eocontrol._EOMutableKnownKeyDictionary $Initializer$_GenericRecordBinding.valueInObject (_EOMutableKnownKeyDictionary.java:570) [12] com.webobjects.eocontrol.EOCustomObject.storedValueForKey (EOCustomObject.java:1,634) [13] com.easyshadow.server.base._Area.type (_Area.java:80) ... Was the app totally deadlocked when you make these dumps? If not, these dumps might not mean much. Maybe not 100% deadlock, I am not sure. But totally slow (a human user does not really make the difference between deadlock and sloow) And afterwards, the app crashed (I could not reproduce the bug since that moment) If it was totally deadlockes, here, I think, is your bug: ... AWT-AppKit: Monitoring Thread: [1] java.net.SocketOutputStream.socketWrite0 (native method) [2] java.net.SocketOutputStream.socketWrite (SocketOutputStream.java:92) [3] java.net.SocketOutputStream.write (SocketOutputStream.java:136) [4] java.io.BufferedOutputStream.flushBuffer (BufferedOutputStream.java:65) [5] java.io.BufferedOutputStream.flush (BufferedOutputStream.java: 123) [6] com.mysql.jdbc.MysqlIO.send (MysqlIO.java:3,119) [7] com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:1,818) [8] com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:1,961) [9] com.mysql.jdbc.ConnectionImpl.execSQL (ConnectionImpl.java: 2,543) [10] com.mysql.jdbc.PreparedStatement.executeInternal (PreparedStatement.java:1,737) [11] com.mysql.jdbc.PreparedStatement.execute (PreparedStatement.java:998) [12] com .webobjects .jdbcadaptor .JDBCChannel._bindInputVariablesWithBindingsAndExecute (JDBCChannel.java:265) [13] com.webobjects.jdbcadaptor.JDBCChannel._evaluat
Re: Database Independence
We just fixed the Prototypes to work like they used to work in WO 4.5 i.e. when you change Database vendor we switch the Prototype definitions. This is done at model load time based on the connection dictionary of that model in the form EOJDBCFrontbasePrototypes. As Anjo pointed out the order of loading is EOPrototypes, EOJDBCPrototypes, EOJDBCPrototypes. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 18, 2008, at 23:45, Andrew Lindesay wrote: Hello; I see the following which looks good, but doesn't really explain the mechanics -- does anybody know how this has changed? Radar #5084084 Enhance EOF prototyping support Description: Enhance EOModel prototyping support to make it recognize the Database Management System used just like it does with the plugin support. Workaround: This has been fixed in WebObjects 5.4. I presume it is a bit more clever than just looking for an entity called EOJDBCAdaptorPrototypes and will somehow look for an entity with the JDBC plugin's name in it or something? cheers ___ Andrew Lindesay technology : www.lindesay.co.nz business : www.silvereye.co.nz ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Servlet HttpSession in webobjects?
Is the SessionID passed in the url? You could make WO use the same session ID (not the same session) by changing the wosid identifier. This is configurable in WO 5.4. That way you have both session sharing the same ID. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 13, 2008, at 5:31, Mike Schrag wrote: Can we step back again and have you explain what you're trying to achieve, at a higher level than just this single session value? For instance, when you say "otherj2eeAppSession", do you actually mean session.getId() from the other app? Is your intent that you need the other application's sessionid so that you can redirect users back to that app later and maintain their original session? Is "otherj2eeAppSession" actually the sessionid of some THIRD j2ee app that you have to be able connect to? If you can explain one level up what it is you're attempting to do, we might be able to help more than than digging around in the details which might not be headed in the direction you think it is in the first place. ms On Feb 13, 2008, at 12:45 AM, Jeff Schmitz wrote: What you most likely want to do is call your DA and manually pass the session ID as a query parameter, for instance: The trouble is, I have no control over this. The session ID gets passed as it gets passed, nothing I can do about it I don't think because it's not my app. I just give it the link, and it decides how the session ID is passed. That being the case, looks like the answer is I'm out of luck, right? Thanks, Jeff On Feb 12, 2008, at 11:26 PM, Mike Schrag wrote: It is going to be sending a session identifier. This is going to be either in the form values or in the HTTP headers. I don't see it in the URL, so I'm guessing it must come over as a form variable. If so, using my last e-mail as an example j2ee equivalent of what I want to do, i.e.: String sessionKey = (String) session.getAttribute("otherj2eeAppSession"); should I be able to get it simply by doing: String sessionKey = (String) this.request().formValueForKey("otherj2eeAppSession"); 1) If you're calling session.getAttribute("otherj2eeAppSession") in your j2ee app to get this value, there's no way to get this value from your WO app. A session attribute is a key-value pair _inside_ of an HttpSession, which you don't have (and cannot get without literally serializing the session and sending it over in some custom way). 2) The only thing you can possibly get is one of: 2a) a form parameter that you manually pass to your DA as a query string parameter 2b) a form parameter that you manually pass to your DA via a post parameter 2c) a cookie value provided both of your apps are on the same host and the cookie is configured at the root What you most likely want to do is call your DA and manually pass the session ID as a query parameter, for instance: http://yourhost.com/cgi-bin/WebObjects/YourApp.woa/wa/yourDirectAction?otherj2eeAppSession=xyz at which point, yes you could call request().stringFormValueForKey("otherj2eeAppSession") and get the value. 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/jeffandmonica%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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Help getting WO to consume .NET web Services
Which version of WO are you using? Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 11, 2008, at 8:27, jerry porter wrote: Hello, I have been given the task to convert a WebObjects web services server From WO to .NET. I was able to build a simple server in .NET and generate a WSDL. I am now having problems consuming it via a Web Objects client. I used the WSDL2JavaWO tool I found on the Internet to generate my stub classes. I wrote a simple client to consume the .NET vended webservices. I am able to consume.NET services that use simple types like strings, but when I try to use my complex types I get an error like the following. Any wisdom would be appreciated. Application:ASPBrowser Error: org.xml.sax.SAXException: Deserializing parameter 'hierarchiesForQueryResult': could not find deserializer for type {java}org.w3c.dom.Element Reason: ; nested exception is: org.xml.sax.SAXException: Deserializing parameter 'hierarchiesForQueryResult': could not find deserializer for type {java}org.w3c.dom.Element Jerry Looking for last minute shopping deals? Find them fast with Yahoo! Search. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: NSNumberFormatter vs NumberFormat
Georg, I hear you but have you look at how the NS*Formatter are implemented? They are a thin veneer on top of the Java format. There is nothing you can do with those formatter you cannot do with the Java formats, but there are quite a few things you can do with the Java format that do not work correctly with the NS*Formatter localization being one thing. In the work I have done before being at Apple I have stop using the NS*Formatter a very long time ago. I am not sure I understand what your point is, I am not aware of the Java format definition to have changed for a very long time. I am not talking of Date / Time handling in general but specifically of formats. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 9, 2008, at 9:21, Georg Tuparev wrote: Pierre, I watched the NSTimestampFormatter discussion initially with amazement that changed to annoyance. Now I have to voice my frustration! The fact that Java implements Time and Number formatters does not mean that they are usable. Not that WO Time&Date support is fantastic, but at least formatters worked (more or less). The right thing (tm) Apple should do is to enhance NS* classes to reflect the current stage of the technology, not to drop them. Of course to drop them means less work for you, but this will have severe implication in the future. I can speak for us only, but I am sure others share my opinion. If WO drops NS*Formatter classes we have to write our own and they will be guaranteed not based on the standard Java s***! But then one day in the future they will be new standards, committees, protocols ... And in 5 years all formatters will look and behave in a different way, and this is bad for the users of our application. If Apple cannot write working Time & Date support, you could hire us to do it. After working on astronomy projects that must work everywhere on earth, moon, Mars, on any satellite, and for the Klingon empire, I believe we know everything about time... standard, local, universal, galactic, ecliptic, barycentric, ... you name it. Is anyone out there who is happy with the current Java/WO Time and Date handling? cheers gt On Feb 8, 2008, at 6:00 PM, Mr. Pierre Frisch wrote: There was a long discussion about the NSTimestampFormatter not long ago. I would put the NSNumberFormatter in the same bag. Duplicate API, should be deprecated. I did not do it as it was was working for most people but I don't see the point of fixing bugs there when the Java one work perfectly fine. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 8, 2008, at 8:43, Michael Halliday wrote: Hey list!! Just a question regarding the use of NSNumberFormatter vs NumberFormat. We're working on localizing one of our app for use in multiple countries. We are dealing with decimal and currency formats in a variety of locales. Just wondering what everyone else uses and the pros and cons of using NumberFormat over NSNumberFormatter or Wonders ERXNumberFormatter. If we have a format string such as "$#,##0.00" NSNumberFormatter doesn't correctly localize the currency symbol, it does substitute the correct symbol, but not necessarily in the right position. IE for United States, France and Germay US---> $1,100.59 France ---> €1 100,59 Should be --> 1 100,59 € Germany ---> €1.100,59 Should be --> 1.110,59 € If I use the NumberFormat.getCurrencyInstance( LOCALE ) it formats the numbers correctly. NSNumberFormat doesn't provide a "currencyInstance". We could use NumberFormat throughout our app and not use NSNumberFormatter at all ... but I'm just wondering what other functionality we would lose ... does NSNumberFormatter do anything "special" that NumberFormat does not. Also, does anyone know if NSNumberFormatter will suffer the same depreciated fate the NSTimestampFormatter has? I guess that's a question for Pierre. Any help or ideas would be greatly appreciated! I just don't want to go down one path and find that I should have taken another :). Thanks!!! Georg Tuparev Tuparev Technologies Klipper 13 1186 VR Amstelveen The Netherlands Mobile: +31-6-55798196 ___ Do not post admin requests to the list. They will 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: NSNumberFormatter vs NumberFormat
There was a long discussion about the NSTimestampFormatter not long ago. I would put the NSNumberFormatter in the same bag. Duplicate API, should be deprecated. I did not do it as it was was working for most people but I don't see the point of fixing bugs there when the Java one work perfectly fine. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 8, 2008, at 8:43, Michael Halliday wrote: Hey list!! Just a question regarding the use of NSNumberFormatter vs NumberFormat. We're working on localizing one of our app for use in multiple countries. We are dealing with decimal and currency formats in a variety of locales. Just wondering what everyone else uses and the pros and cons of using NumberFormat over NSNumberFormatter or Wonders ERXNumberFormatter. If we have a format string such as "$#,##0.00" NSNumberFormatter doesn't correctly localize the currency symbol, it does substitute the correct symbol, but not necessarily in the right position. IE for United States, France and Germay US---> $1,100.59 France ---> €1 100,59 Should be --> 1 100,59 € Germany ---> €1.100,59 Should be --> 1.110,59 € If I use the NumberFormat.getCurrencyInstance( LOCALE ) it formats the numbers correctly. NSNumberFormat doesn't provide a "currencyInstance". We could use NumberFormat throughout our app and not use NSNumberFormatter at all ... but I'm just wondering what other functionality we would lose ... does NSNumberFormatter do anything "special" that NumberFormat does not. Also, does anyone know if NSNumberFormatter will suffer the same depreciated fate the NSTimestampFormatter has? I guess that's a question for Pierre. Any help or ideas would be greatly appreciated! I just don't want to go down one path and find that I should have taken another :). Thanks!!! Michael. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Dealing with relationships and inheritance
I would suggest to take a look at EODatabaseContext.Delegate. In particular: public NSArray databaseContextShouldFetchObjects(EODatabaseContext dbCtxt, EOFetchSpecification fetchSpec, EOEditingContext ec); Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 7, 2008, at 13:02, Chuck Hill wrote: On Feb 7, 2008, at 12:32 PM, Charles Koppelman wrote: We've been using single-table inheritance here for quite a while. Let's start with an example: A person can send an email or fax. They share plenty of fields and plenty of methods, but there is a bit of divergence. So we have something like... Person ->> Message where Message can be either EmailMessage (MESSAGE_TYPE 1) or FaxMessage (2). I notice that when this method is traversed, it creates two SQL statements for each Message like: SELECT ... FROM MESSAGE WHERE MESSAGE_ID = 1234 AND MESSAGE_TYPE = 1; SELECT ... FROM MESSAGE WHERE MESSAGE_ID = 1234 AND MESSAGE_TYPE = 2; Is this the default behavior? If so, then it seems a bit of a waste to me - why not say, either...WHERE MESSAGE_ID = 1234; or ...WHERE MESSAGE_ID = 1234 AND MESSAGE_TYPE in (1, 2); By creating worthless calls that will return 0 records, we're needlessly slowing our app. Any advice? That it the way it is. I don't know how easy it would be to optimize these. EOF might expect there to be only a single entity per result set. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Educate me on generics please...
I completely disagree on this one. Your example is bad as it mixes different type of objects in the List. The point of generics is to catch type cast exception at compile time instead of run time. if you mix objects in the same array then it has no value but this is bad style anyway. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 6, 2008, at 12:37, Chuck Hill wrote: On Feb 6, 2008, at 12:33 PM, James Cicenia wrote: Well I have decided to to start going to 1.5 now. this is something I do all the time: NSMutableArray args2 = new NSMutableArray(); args2.addObject("portfolio"); args2.addObject(portfolio); myQualifier2 = EOQualifier.qualifierWithQualifierFormat("%@ = %@", args2); NSArray results = EOQualifier .filteredArrayWithQualifier(portfolioUserGroups(),myQualifier2); How do I make that "generic Java 1.5" friendly? From Art: http://weblogs.java.net/blog/arnold/archive/2005/06/generics_consid_1.html http://www.mindview.net/WebLog/log-0050 YMMV :-) 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Strange behavior of Derby database. SQL generation (SOLVED)
I would still log a bug, please. This may be something we can fix in the plug-in. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 5, 2008, at 12:18, Sergio Sánchez Maffet wrote: After intensiv reading of the derby docs I found the reason. It happens because derby alway uppercases all unquoted identifiers. The SQL generation in WOLips puts quotes around the identifiers, turning on case sensitivity in derby during creation of the tables. The generation of SQL in SQLExpression later accessing the database uses unquoted identifiers. They are uppercased by derby and checked against the case-sensitiv stored ones, which where in my case lowercase ones. Tricky. The workaround is simple: Use always uppercase identifiers in your model file. On 05.02.2008, at 20:16, Sergio Sánchez Maffet wrote: The table name in the log submitted in my prior post should be TESTA and not CONTENT. This is only a copy paste failure... and does not mean, that a have misspelled the table name! The problem is still there... ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/sam%40codeon.de 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: ERXApplication launch in Dev, but not in Deploy ' - /
I would recommend that you use /Library/WebObjects/Logs for logging. You can view the logs with the console application -:). Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 4, 2008, at 16:02, Chuck Hill wrote: It sounds like the appserveruser (however that is spelled) that JavaMonitor runs as does not have write permission on the directory that you have logging output going to. Or it lacks write permission to someplace else the app writes to. Chuck On Feb 4, 2008, at 3:58 PM, Nathan Walker wrote: thanks johann, i did this and that's the output that you see in the message, that comes directly from doing that very thing. It's very puzzling ?? On Feb 4, 2008 5:10 PM, Johann Werner <[EMAIL PROTECTED]> wrote: On your deployment machine open the terminal and cd into your VisionWorx.woa directory. There type "./VisionWorx" (without quotes) and look at the ouput your app generates on startup. If it fails you will get a stack trace that tells you what is going wrong. jw Am 05.02.2008 um 00:03 schrieb Nathan Walker: > Hey guys, > > I've been developing some new apps with the latest versions of > Wonder and I am able to launch no problem in development mode > ( portion of output below minus the INFO from JarChecker ), but when > I go to deploy and try to start up an instance in JavaMonitor, it > dies everytime. I'm sure it's something silly. Yes, I have latest of > Wonder on both dev and server machines... > Below is the output during development ( i get NO output at all when > i go to deploy, the app just dies silently ) > Would it be related to this: The following packages appear multiple > times ?? > Thanks for any help, > Nathan > > > [2008-02-04 16:49:25 CST] Initialized : > er.extensions.ERXExtensions > [2008-02-04 16:49:25 CST] Initialized : er.javamail.ERJavaMail > 0 [main] INFO org.apache.log4j.Logger - Updated the logging > configuration with the current system properties. > 122 [main] DEBUG NSLog - WOMaxIOBufferSize=8196 > 122 [main] DEBUG NSLog - WOWorkerThreadCountMin=16 > 123 [main] DEBUG NSLog - WOSocketMonitorSleepTime=50 > 123 [main] DEBUG NSLog - WODirectConnectEnabled=true > 123 [main] DEBUG NSLog - WOIncludeCommentsInResponse=false > 123 [main] DEBUG NSLog - WOWorkerThreadCount=8 > 123 [main] DEBUG NSLog - WOAdaptorURL=http://127.0.0.1/cgi-bin/WebObjects > 123 [main] DEBUG NSLog - WOIDE=WOLips > 123 [main] DEBUG NSLog - WODebuggingEnabled=true > 123 [main] DEBUG NSLog - WOListenQueueSize=128 > 123 [main] DEBUG NSLog - WOMissingResourceSearchEnabled=true > 124 [main] DEBUG NSLog - > WOApplicationClassName=com.activekoi.Application > 124 [main] DEBUG NSLog - WOSessionStoreClassName=WOServerSessionStore > 124 [main] DEBUG NSLog - WOContextClassName=WOContext > 134 [main] DEBUG NSLog - WOCachingEnabled=false > 134 [main] DEBUG NSLog - WOAcceptMalformedCookies=false > 134 [main] DEBUG NSLog - NSProjectSearchPath=(..,../..) > 135 [main] DEBUG NSLog - WOMonitorEnabled=false > 135 [main] DEBUG NSLog - WOAllowRapidTurnaround=true > 135 [main] DEBUG NSLog - WOGenerateWSDL=true > 135 [main] DEBUG NSLog - WOWorkerThreadCountMax=256 > 135 [main] DEBUG NSLog - WOAllowsConcurrentRequestHandling=false > 135 [main] DEBUG NSLog - WOAdaptor=WODefaultAdaptor > 135 [main] DEBUG NSLog - WOSessionTimeOut=3600 > 135 [main] DEBUG NSLog - WOMaxSocketIdleTime=18 > 135 [main] DEBUG NSLog - WODefaultUndoStackLimit=10 > 135 [main] DEBUG NSLog - WOAutoOpenClientApplication=true > 135 [main] DEBUG NSLog - WOAutoOpenInBrowser=true > 135 [main] DEBUG NSLog - WOApplicationBaseURL=/WebObjects > 135 [main] DEBUG NSLog - WOMaxHeaders=200 > 135 [main] DEBUG NSLog - WOLifebeatEnabled=true > 135 [main] DEBUG NSLog - WOAllowsCacheControlHeader=true > 135 [main] DEBUG NSLog - WOSMTPHost=smtp > 136 [main] DEBUG NSLog - WOFrameworksBaseURL=/WebObjects/ Frameworks > 136 [main] DEBUG NSLog - WOStatisticsStoreSessionMax=50 > 136 [main] DEBUG NSLog - WOAdditionalAdaptors=() > 136 [main] DEBUG NSLog - WOLifebeatDestinationPort=1085 > 136 [main] DEBUG NSLog - WOPort=-1 > 136 [main] DEBUG NSLog - WOLifebeatInterval=30 > 136 [main] DEBUG NSLog - WOSocketCacheSize=100 > 136 [main] DEBUG NSLog - WOUserDirectory=/Users/nrwalker/ Documents/ > ActiveKoi_Management/AKManage/build/VisionWorx.woa > 136 [main] DEBUG NSLog - WODisplayExceptionPages=true > 136 [main] DEBUG NSLog - > 177 [main] DEBUG NSLog - Created adaptor of class WODefaultAdaptor > on port 49334 and address NateG5.local/192.168.0.103 with > WOWorkerThread minimum of 16 and maximum of 256 > 227 [main] DEBUG NSLog - NSBundle is unable to find > "ExtensionsForResources.plist" in the main bundle. Ignoring > optional configuration file. > 238 [main] WARN NSLog - Cannot use rapid turnaround. Please start > Xcode and open the project for this application. > 302 [main] DEBUG NSLog - *** The application has found the > following opened, development-mode ProjectBuilderW
Re: Question regarding new inline style
Here is the list. It is not completely final and there are a few inconsistency on the camel case. setAlias("if", "WOConditional"); setAlias("else", "WOConditional"); setAlias("conditional", "WOConditional"); setAlias("foreach", "WORepetition"); setAlias("repeat", "WORepetition"); setAlias("repetition", "WORepetition"); setAlias("content", "WOComponentContent"); setAlias("componentContent", "WOComponentContent"); setAlias("string", "WOString"); setAlias("switchComponent", "WOSwitchComponent"); setAlias("switch", "WOSwitchComponent"); setAlias("xmlNode", "WOXMLNode"); setAlias("XMLNode", "WOXMLNode"); setAlias("nestedList", "WONestedList"); setAlias("param", "WOParam"); setAlias("applet", "WOApplet"); setAlias("quickTime", "WOQuickTime"); setAlias("quicktime", "WOQuickTime"); setAlias("commentString", "WOHTMLCommentString"); setAlias("comment", "WOHTMLCommentString"); setAlias("noContentElement", "WONoContentElement"); setAlias("noContent", "WONoContentElement"); setAlias("body", "WOBody"); setAlias("embeddedObject", "WOEmbeddedObject"); setAlias("embedded", "WOEmbeddedObject"); setAlias("frame", "WOFrame"); setAlias("image", "WOImage"); setAlias("form", "WOForm"); setAlias("javaScript", "WOJavaScript"); setAlias("javascript", "WOJavaScript"); setAlias("VBScript", "WOVBScript"); setAlias("resourceURL", "WOResourceURL"); setAlias("genericElement", "WOGenericElement"); setAlias("element", "WOGenericElement"); setAlias("genericContainer", "WOGenericContainer"); setAlias("container", "WOGenericContainer"); setAlias("activeImage", "WOActiveImage"); setAlias("checkBox", "WOCheckBox"); setAlias("fileUpload", "WOFileUpload"); setAlias("hiddenField", "WOHiddenField"); setAlias("hidden", "WOHiddenField"); setAlias("imageButton", "WOImageButton"); setAlias("inputList", "WOInputList"); setAlias("browser", "WOBrowser"); setAlias("checkBoxList", "WOCheckBoxList"); setAlias("popUpButton", "WOPopUpButton"); setAlias("radioButtonList", "WORadioButtonList"); setAlias("passwordField", "WOPasswordField"); setAlias("password", "WOPassword"); setAlias("radioButton", "WORadioButton"); setAlias("radio", "WORadioButton"); setAlias("resetButton", "WOResetButton"); setAlias("reset", "WOResetButton"); setAlias("submitButton", "WOSubmitButton"); setAlias("submit", "WOSubmitButton"); setAlias("text", "WOText"); setAlias("textField", "WOTextField"); setAlias("textfield", "WOTextField"); setAlias("search", "WOSearchField"); setAlias("searchfield", "WOSearchField"); setAlias("hyperlink", "WOHyperlink"); setAlias("link", "WOHyperlink"); setAlias("actionURL", "WOActionURL"); Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 3, 2008, at 19:49, Guido Neitzer wrote: On 03.02.2008, at 20:09, Lachlan Deck wrote: Is there a list of the "shortcuts" that can be used in "wo:..." tags? Like hyperlink obviously resolves to WOHyperlink, what else is there? Any documentation for that so I can add these to my component editor preferences? My guess: component.name().substring( 2 ).toLowerCase(); Maybe. But I really don't want to guess. This things should be (correctly) documented somewhere. If they are not right now, they should be in the not too far future. This is WO 5.4, not 5.4.1 - it is out since nearly four months and the documentation seems pretty incomplete / wrong. It's hard to work with that. cug -- Real-World WebObjects class at the Big Nerd Ranch March 2008, Frankfurt, Germany http://www.bignerdranch.com/classes/webobjects.shtml ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%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
Re: Question regarding new inline style
Sorry this is a doc bug already referenced. All the documentation that references prefixing a 'Q' to the key is incorrect, the proper usage in the WOML format is woq:key. Try this: woq:movieID="[movieID]" >Link Or this: >Link Both works and wil geenerate: Link Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 3, 2008, at 10:56, Guido Neitzer wrote: On 03.02.2008, at 05:01, Lachlan Deck wrote: On 03/02/2008, at 4:30 PM, Guido Neitzer wrote: Something is not really clear to me with the 5.4 component parser: The documentation [1] states: "Keys prefixed with the Q character are analogous to prefixing ? in the original .wod file in a WOComponent bundle and are used for appending formValue content." And even gives an example: Hyperlink1: WOHyperlink { ?movieID = movieID; directActionName = "DisplayMovie"; } should be converted to: directActionName="DisplayMovie" /> <..> #wo:WOHyperlink> results in this: # So, how is that thing supposed to be used? Bugs in the documentation? Bugs in the implementation? Understanding problem on my side? Don't know. But just for kicks, does is work if you find/replace " = " with "="? No, it doesn't. cug -- Real-World WebObjects class at the Big Nerd Ranch March 2008, Frankfurt, Germany http://www.bignerdranch.com/classes/webobjects.shtml ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: WO version from code (was: Qualifier creation)
I am scratching my head at the purpose of being WO independent but depending on other projects. For deployment WO is essentially free so I do not really see the gain. The only way to determine the WebObjects version is to check the plist of the JavaWebObjects bundle, this is how the installer clue in. Starting with WO 5.4 there is a cover method in WOApplication that returns the version of WebObjects. Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 2, 2008, at 6:40, Florijan Stamenkovic wrote: Like Mike said, JBND is made so to be as data storage type independent as possible, even though it's primary purpose always was to bind WO and Swing. I will make sure that translations for WO qualifiers are provided. Talking about WO evolution, I already have a few places in my code where it might be beneficial to have different behavior depending on the WO version. Is there a simple and fail-proof way to check the version of the libraries (in my case those would be client libraries) during runtime? If not, I'd be happy to make a feature request, and urge others to do the same. My best, Flor On Feb 01, 2008, at 18:16, Mr. Pierre Frisch wrote: Why not use the WebObjects one? As least it would stay compatible as we make it evolve for the next version… Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 1, 2008, at 12:54, Florijan Stamenkovic wrote: Lachlan, Mike, Thanks for your replies. On Feb 01, 2008, at 16:25, Mike Schrag wrote: Entity Modeler has an EOQualifier format parser in it (that is not currently the one being used), and Cayenne has its expression parser. Both of these are open-source and could be easily adapted. In Entity Modeler, look in org.objectstyle.eomodeler.model.qualifiers. Sounds great, didn't think of that... 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Qualifier creation
Why not use the WebObjects one? As least it would stay compatible as we make it evolve for the next version… Pierre -- Pierre Frisch [EMAIL PROTECTED] On Feb 1, 2008, at 12:54, Florijan Stamenkovic wrote: Lachlan, Mike, Thanks for your replies. On Feb 01, 2008, at 16:25, Mike Schrag wrote: Entity Modeler has an EOQualifier format parser in it (that is not currently the one being used), and Cayenne has its expression parser. Both of these are open-source and could be easily adapted. In Entity Modeler, look in org.objectstyle.eomodeler.model.qualifiers. Sounds great, didn't think of that... 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Content encoding in AJAX responses and Safari
Let me repeat myself. With Java 5 encoding names have been deprecated in favor of charset names. What this means is that Java now follows the general convention and names should be spelled with a "-" so use UTF-8 also NSUTF8StringEncoding is deprecated use charset name. It used to be confusing where in some places you needed the "-" and some other you did not need it, now just leave it there. It works in all cases and it is consistent with the browsers. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 31, 2008, at 19:31, Ricardo Parada wrote: Hi All, I'm still testing my ajax stuff and I ran into this problem. My main component has the following inside the ... tags: I also have eclipse preferences General > Workspace > Text file encoding set to UTF-8. My Main.woo is as follows: { "WebObjects Release" = "WebObjects 5.0"; encoding = NSUTF8StringEncoding; } Then my application object overrides createRequest() to tell the request as soon as possible that our form values are encoded in UTF8 : public WORequest createRequest() { WORequest request = super.createRequest(...); request.setDefaultFormValueEncoding("UTF8"); return request; } The application appendToResponse also does UTF8 for the content encoding before generating the response: public void appendToResponse(WOResponse response, WOContext context) { response.setContentEncoding("UTF8"); super.appendToResponse(response, context); } I can type in accentuated characters into the html file and the page displays in the browser fine. Also, in the text fields inside a form, I can type in these characters, submit by clicking the submit button and the application receives the characters and redisplays the page. Everything displays correctly. The problem comes in when I submit the values using AJAX. Again the application receives the characters correctly. I check by printing the values to the console. Then the application generates an ajax response. I make sure to response.setContentEncoding("UTF8") for my ajax response. The response contains html. It's just an html fragment so it doesn't have a tag in there. On firefox the response displays correctly. However, on Safari my ñ character turns into ñ Then my é character turns into é Any ideas why my ajax response doesn't display correctly in Safari? Any ideas what I may be missing? Thanks, Ricardo ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Partial Form Submit
Hi Mike, Is this something we could fix for a future version of WO? Can you think of any side effects? I know of the WOCheckBox one that is pretty nasty, but for other inputs? Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 30, 2008, at 15:20, Mike Schrag wrote: It would be nice for example, if the WOTextField did not attempt to set its value to null when it notices that its elementID is not included in the form keys submitted in the request. Then this partial form submit would just work. IIRC, Mike said that he had problems with partial submits in the Wonder code too. Yeah, you have to wrap all of the WO input components and manually make them ignore takeValuesFromRequest if its key is not in the request. The problem here is that WOCheckBox has to work this way, so it will never work quite right for checkboxes without doing a bunch of trickery. You could make a custom checkbox with a hidden field + javascript to turn the checkbox into a hidden "1" or "0", I guess. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: UTF-8
Just one word of advice on the encoding name. The naming of encoding has changed in Java, it used to be encoding it is now character name. The interesting thing is that the names have changed there used to be no "-" and now there is one: Charset Description US-ASCII Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character set ISO-8859-1 ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1 UTF-8 Eight-bit UCS Transformation Format UTF-16BESixteen-bit UCS Transformation Format, big-endian byte order UTF-16LESixteen-bit UCS Transformation Format, little-endian byte order UTF-16 Sixteen-bit UCS Transformation Format, byte order identified by an optional byte-order mark The old name still work but you suffer a small penalty. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 29, 2008, at 21:15, Josh Paul wrote: That was it! Thanks! ERXMessageEncoding.setDefaultEncodingForAllLanguages("UTF8"); On Jan 29, 2008, at 9:09 PM, Chris Meyer wrote: I put some useful notes here some time ago: http://wiki.objectstyle.org/confluence/display/WO/Project+WONDER-Quickstart In summary: To handle internationalization in Project WONDER, delete the takeValuesFromRequest from your Session class (which should now be derived from ERXSession). Likewise, delete the createResponseInContext method from your Application class (which should now be derived from ERXApplication). Then add the following call to your Application constructor: ERXMessageEncoding.setDefaultEncodingForAllLanguages("UTF8"); On Jan 29, 2008 9:03 PM, Josh Paul <[EMAIL PROTECTED]> wrote: I'm currently wrestling with integrating UTF-8 localization to an app. However, I can't seem to get the correct output. I've set the encoding for the .strings files to UTF-16 and have added WOMessage.setDefaultEncoding(_NSUtilities.UTF8StringEncoding) to my Application's constructor. Additionally, I've added to the PageWrapper. I am using Wonder. Can someone please provide some insights? TIA ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/cmeyer1969%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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: permission trouble with WO 5.3 on Mac OS 10.5
Actually the underscore variants are the ones that should be used. It is not really important but you will get a log in the console. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 29, 2008, at 12:15, Art Isbell wrote: On Jan 29, 2008, at 10:09 AM, Zak Burke wrote: I'll take your word for it. Having run that, I notice the following: $ ls -ld /Library/WebObjects/Configuration drwxrwxr-x 3 _appserver _appserveradm 102 Nov 5 19:57 /Library/ WebObjects/Configuration What's with the underscores? In Leopard, appserver and _appserver have the same UID. appserveradm and _appserveradm have the same GID. I don't know why the underscore variants were added in Leopard. I thought that you were running WO 5.3, so I assumed Tiger and deleted the underscores from the Leopard output that I posted :-) The command I ran was $ sudo chown -R appserver:appserveradm Configuration That should be fine. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: locations of DST information --> debugging zoneinfo fix
Sorry for the noise. On a typical machine there are 3 copies of the TimeZone info (and the abbreviations). In the system, in the JVM and in the JavaFoundation. The machine one is typically not used by Java applications. The Java one is used if you use the Java Format and the JavaFoundation on is used by NSTimeZone and NSTimestampFormatter as it uses NSTimeZone. There may be some "interesting" effect if the JVM and NSTimeZone are not in synch as NSTimestampFormatter uses a SimpleDateFormat internaly but set the time zone using NSTimeZone. I have not tested this case. -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 22:26, Lachlan Deck wrote: Seeing as the thread has been hijacked by api squabbles (as interesting as that is), just thought it'll be worth changing the subject for my particular questions... Just so it doesn't get lost amongst the noise :-) Any ideas on the below? Thanks. On 29/01/2008, at 3:47 PM, Lachlan Deck wrote: Alright, bringing this thread back to the problem at hand... On 28/01/2008, at 6:06 PM, Lachlan Deck wrote: On 28/01/2008, at 5:44 PM, Art Isbell wrote: On Jan 27, 2008, at 8:10 PM, Lachlan Deck wrote: What I meant was that I assumed that, as I'm seeing the correct behaviour on my development machine with WO5.3, that I would have thought that by embedding all system frameworks for 5.3 in the app that the behaviour would continue to be correct on deployment. Seems like a valid assumption to me as far as the NSTimeZone is concerned *if* none of the WO 5.4 frameworks containing time zone info is being loaded (i.e., if the class paths exclude all WO 5.4 frameworks and jars). But if the JVM time zone info differs between the dev and deployment machine, then Java TimeZone calculations could differ. Yeah, 5.4 is not in the picture at all, for the moment, whether in dev or deploy. Okay, the OS's (freebsd) has been updated to 2007k - http://www.101tech.net/wordpress/2007/01/11/how-to-update-timezone-info-in-freebsd/ Java has also been updated: - http://docs.info.apple.com/article.html?artnum=305129 For installed WO stuff, this has been updated: /usr/local/Apple/Library/Frameworks/JavaFoundation.framework/ WebServerResources/Java/com/webobjects/foundation/TimeZoneInfo/ zoneinfo.zip None of the WO5.2 installed jars have been updated -- as I assume that these should not have any effect given that my app embed all the system/local frameworks from my local dev machine which has a recent enough zoneinfo snapshot. However, WO's NSTimestampFormatter is not picking up the changes. --> endDate:2008-03-31 09:00:00 Etc/GMT 'java formatted':2008-03-31 20:00 'nsformatted':2008-03-31 19:00 Is there something I missed? with regards, -- Lachlan Deck ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: locations of DST information
Chuck, There is no NSTimestampFormatter in Cocoa Foundation, format is a method of NSCalendarDate. This is an artificial API that was constructed to support the Java language. The only thing you are battling about is the syntax of the format string, have a critical look at both and in this case I would say that the Java one is much better. And yes when I wrote the chapter on localization in Practical WebObjects I used SimpleDateFormat syntax, example and API because it actually handle localization correctly which the NSTimestampFormatter class does not. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 20:52, Chuck Hill wrote: On Jan 28, 2008, at 3:38 PM, Mr. Pierre Frisch wrote: Actually this is my argument to dump NSTimestampFormatter, it is an implementation and it is quite a bad one at that. No. No it is not. Is part of the NSFoundation abstraction and API. It has been for, well, a long time. Its current implementation might be bad, but that is not a valid reason to discard the abstraction and chop out part of the API. If the implementation is bad, fix the implementation. Make it subclass SimpleDateFormat, whatever. For once SimpleDateFormat is a much better, format definition is clearer and more flexible, localized version works. So much so that if I am not mistaken the examples in Practical WebObjects use the Simple Date Format syntax. They might use the formatter symbols, but they still use NSTimestampFormatter. I understand everyone concern about existing code and I will take this into account, but that does not mean we will resurrect deprecated code. Honestly, I don't think deprecating was the right decision in the first place. Gimme back my API, I was using that! :-) Chuck On Jan 28, 2008, at 15:09, Chuck Hill wrote: On Jan 28, 2008, at 1:41 PM, Guido Neitzer wrote: On 28.01.2008, at 14:00, [EMAIL PROTECTED] wrote: I mean, c'mon. Why don't you just deprecate mutable and immutable Arrays, dicts, etc. Java sort of has those data structures too. Why duplicate the code? see what I mean? Where do you draw the line? When are we supposed to remember to use the NeXTSTEP class and when to use some Java or lang du jour class? WO, as a framework, is what matters. The language it runs on is just a vessel. That is actually one of the best comments in this discussion. Whether I agree or not to the dateformat discussion in one or the other way, it seems a little bit to me as if WO is loosing the focus to be a very nice to use and very intelligently build framework in favour of adding more and more Java specific oddities. Yeah, I am kind of ashamed that I did not think of this. :-) Losing an extensible NSString for String was perhaps unavoidable as Sun made String final, but this is entirely avoidable. NSTimestampFormatter is an abstraction. SimpleDateFormat is _an_ implementation. Most of the Java libraries are just a big, ugly mess of classes, one not compatible with the other and most of them not intuitive to use. That is about the nicest description of them that I have heard. I am not usually that generous. We really shouldn't go that route! And, as Apple doesn't really care about other platforms, why forcing stuff into WO, that is conceptually incompatible with the existing WO classes AND with the ideas existent in Cocoa. cug, just my private opinion as a Cocoa lover and WO developer I think the abstraction argument is a very strong one. Having NSArray implement the Java interfaces is the right way to do this kind of thing. It allows interoperation with 3rd party Java libraries while keeping the nicer API from NS. Use Java, but keep the WO abstractions. 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/pierre%40apple.com 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 smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: multipart/form-data WOForm broken in 5.4 when deploying as a WAR? [WORKED AROUND]
Please file a bug. Thank you Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 20:26, Jake MacMullin wrote: Yes, it does have to do with the headers. I accidentally replied to Chuck off-list, but the only difference in the headers between an app built as a .woa and one built as a .war is in the case of the header keys. It turns out that this makes a difference... There is a bug in the way WebObjects 5.4 handles HTTP headers when applications are deployed in servlet containers. When WebObjects applications are deployed in servlet containers, the WebObjects application does not receive requests or generate responses directly. Instead, the WOServletAdaptor sits in between the WebObjects application and the servlet container. All requests and responses are sent to the servlet container, which then dispatches them to the WOServletAdaptor, which dispatches them to the underlying WebObjects application. Responses are handled in the same way, but in the opposite direction. A bug exists in how the WOServletAdaptor and the WOMessage and WORequest classes handle HTTP headers. It seems that WOMessage and WORequest expect all headers to be lower-case - and that the WOServletAdaptor does not make sure all headers are lower-case. This means that when a WebObjects application is deployed in a servlet container, the following rather strange situation occurs: A HTTP request is sent to the application (via the servlet container and WOServletAdaptor) containing a Content-Type header: eg. Content-Type = ( multipart/form-data; boundary= WebKitFormBoundarytAEgAmILbXskfM9V); The WOServletAdaptor passes this header on to the WebObjects application, so if we were to enumerate the headers with the following code, we'd see something like: NSDictionary headers = this.context().request().headers(); for(int i=0;i Content-Type: ( multipart/form-data; boundary= WebKitFormBoundarytAEgAmILbXskfM9V ) However, a problem exists because the valueForHeader() method in WOMessage assumes all headers are lower-case, so when WORequest attempts to determine if the request isMultipartFormData(), it does so by asking for the contentType() - which results in a call to valueForHeader(), which in turn calls the get() method of the underlying TreeMap of _httpHeaders, but mistakenly does so with a lower-case version of the key: (List)_httpHeaders.get(aKey.toString().toLowerCase()); This problem can be confirmed by adding the following to the earlier enumeration of headers: NSDictionary headers = this.context().request().headers(); for(int i=0;iWhen this is deployed as a .woa, it produces the following correct output: content-type: ( multipart/form-data; boundary= WebKitFormBoundaryZdrwLAre6TArzAid ) multipart/form-data; boundary=WebKitFormBoundaryZdrwLAre6TArzAid But when it is run in a servlet container, it produces the following, obviously incorrect output: Content-Type: ( multipart/form-data; boundary= WebKitFormBoundaryonU48QK5I46+pA1T ) null The result of all of this is that if you specify the "enctype" of your form as "multipart/form-data" none of the bindings for your form will get values. As for a work-around, it is pretty hacky but you can write your own WOSerlvetAdaptor sub-class and override the default implementation of doPost to change the case of any HTTP headers before handling the request. Regards, Jake MacMullin On 29/01/2008, at 11:18 AM, Chuck Hill wrote: What are the difference in headers in the two requests? Chuck On Jan 28, 2008, at 4:00 PM, Jake MacMullin wrote: Hi All, I think I've found a bug - and before I submit a bug report I thought I'd check to see if anyone else has encountered it and if there are any work-arounds. It seems that WOForms with an enctype of "multipart/form-data" are broken in WebObjects 5.4 when you're deploying an application as a WAR. I've got the following simple component: HTML: Java: public String message; public Main(WOContext context) { super(context); } public WOComponent sayHello() { message = "hello, " + message + "!"; return(this); } If I build my application as a .woa everything works as I'd expect it to, however, if I build my application as a WAR then the form with the enctype of "multipart/form-data" fails. My instance variable does not get assigned a value - but remains null. This is obviously a problem as it m
Re: locations of DST information
Actually this is my argument to dump NSTimestampFormatter, it is an implementation and it is quite a bad one at that. For once SimpleDateFormat is a much better, format definition is clearer and more flexible, localized version works. So much so that if I am not mistaken the examples in Practical WebObjects use the Simple Date Format syntax. I understand everyone concern about existing code and I will take this into account, but that does not mean we will resurrect deprecated code. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 15:09, Chuck Hill wrote: On Jan 28, 2008, at 1:41 PM, Guido Neitzer wrote: On 28.01.2008, at 14:00, [EMAIL PROTECTED] wrote: I mean, c'mon. Why don't you just deprecate mutable and immutable Arrays, dicts, etc. Java sort of has those data structures too. Why duplicate the code? see what I mean? Where do you draw the line? When are we supposed to remember to use the NeXTSTEP class and when to use some Java or lang du jour class? WO, as a framework, is what matters. The language it runs on is just a vessel. That is actually one of the best comments in this discussion. Whether I agree or not to the dateformat discussion in one or the other way, it seems a little bit to me as if WO is loosing the focus to be a very nice to use and very intelligently build framework in favour of adding more and more Java specific oddities. Yeah, I am kind of ashamed that I did not think of this. :-) Losing an extensible NSString for String was perhaps unavoidable as Sun made String final, but this is entirely avoidable. NSTimestampFormatter is an abstraction. SimpleDateFormat is _an_ implementation. Most of the Java libraries are just a big, ugly mess of classes, one not compatible with the other and most of them not intuitive to use. That is about the nicest description of them that I have heard. I am not usually that generous. We really shouldn't go that route! And, as Apple doesn't really care about other platforms, why forcing stuff into WO, that is conceptually incompatible with the existing WO classes AND with the ideas existent in Cocoa. cug, just my private opinion as a Cocoa lover and WO developer I think the abstraction argument is a very strong one. Having NSArray implement the Java interfaces is the right way to do this kind of thing. It allows interoperation with 3rd party Java libraries while keeping the nicer API from NS. Use Java, but keep the WO abstractions. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: locations of DST information
Actually I think the SimpleDateFormat format approach is better. Synchronization can lead to some really strange performance issue. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 12:41, Chuck Hill wrote: On Jan 28, 2008, at 11:50 AM, Mr. Pierre Frisch wrote: None of the Java formats are re-entrant. NSTimestampFormatter is synchronized which is probably why it is not a subclass of SimpleDateFormat and that may cause other issues. So that is another problem with just replacing NSTimestampFormatter with SimpleDateFormat. Chuck Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 11:38, Chuck Hill wrote: Don't forget that you should not cache format as they are not re- entrant. Is NSTimestampFormatter re-entrant? I have always created and cached them at the Application level. The format is never changed after creation. I have never noticed any problems under load. If NSTimestampFormatter is re-entrant and SimpleDateFormat is not, that is rather more of change. -- 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 smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: locations of DST information
This would need to integrated in WOF as WOString and WOTextField need to know about it. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 12:23, Lachlan Deck wrote: On 29/01/2008, at 6:47 AM, Mike Schrag wrote: Having NSTimestampFormatter as a "symbol translating sub-class" would ease the pain of transition for many. Yeah, this is what I'm proposing as well ... I feel Pierre's pain with not wanting to rewrite and maintain deprecated code, but I fear WO becoming what everyone hates about Tapestry, which is that it goes through huge breaking revisions every release. There is a large base of legacy apps, and especially if there are relatively straightforward deprecation routes, it would be better to not break than to break, I think (this is obviously subject to a religious debate, I suspect). I'm especially wary of breaking changes that just break semantics rather than syntax. In this case, it's breaking the interpretation of random strings inside of WODs, which will make for a really annoying fix. Alternatively, I suppose someone could write a conversion app to convert all the old style into new style, but that only partially addresses the issue. Most of the symbols have a SDF equivalent, as seen below. And the ones that don't wouldn't be difficult to provide functionality for by subclassing SDT I would think (which still excludes api compatibility with NSTimestampFormatter's other methods). I'd be happy to whip this up later in the week and contribute to Wonder if people want it. with regards, -- Lachlan Deck NSF SDF Description %% % a '%' character %a EEE abbreviated weekday name %A full weekday name %b MMM abbreviated month name %B full month name %c shorthand for "%X %x", the locale format for date and time %d dd day of the month as a decimal number (01-31) %e d same as %d but does not print the leading 0 for days 1 through 9 %F SSS milliseconds as a decimal number (000-999) %H HH hour based on a 24-hour clock as a decimal number (00-23) %I hh hour based on a 12-hour clock as a decimal number (01-12) %j DDD day of the year as a decimal number (001-366) %m MM month as a decimal number (01-12) %M mm minute as a decimal number (00-59) %p a AM/PM designation for the locale %S ss second as a decimal number (00-59) %w weekday as a decimal number (0-6), where Sunday is 0 %x date using the date representation for the locale %X time using the time representation for the locale %y yy year without century (00-99) %Y year with century (such as 1990) %Z zzz[z] time zone name (such as "Europe/Paris" or "PST") %z Z time zone offset from GMT in hours and minutes (such as "+0200" or "-1200") ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: locations of DST information
I understand this problem quite well but I just curious of how much code is out there. I personally have moved out of NSTimestampFormatter a long time ago so I am probably a bad judge. I will have a look into the problem but I cannot guarantee anything. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 11:47, Mike Schrag wrote: Having NSTimestampFormatter as a "symbol translating sub-class" would ease the pain of transition for many. Yeah, this is what I'm proposing as well ... I feel Pierre's pain with not wanting to rewrite and maintain deprecated code, but I fear WO becoming what everyone hates about Tapestry, which is that it goes through huge breaking revisions every release. There is a large base of legacy apps, and especially if there are relatively straightforward deprecation routes, it would be better to not break than to break, I think (this is obviously subject to a religious debate, I suspect). I'm especially wary of breaking changes that just break semantics rather than syntax. In this case, it's breaking the interpretation of random strings inside of WODs, which will make for a really annoying fix. Alternatively, I suppose someone could write a conversion app to convert all the old style into new style, but that only partially addresses the issue. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: locations of DST information
None of the Java formats are re-entrant. NSTimestampFormatter is synchronized which is probably why it is not a subclass of SimpleDateFormat and that may cause other issues. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 11:38, Chuck Hill wrote: Don't forget that you should not cache format as they are not re- entrant. Is NSTimestampFormatter re-entrant? I have always created and cached them at the Application level. The format is never changed after creation. I have never noticed any problems under load. If NSTimestampFormatter is re-entrant and SimpleDateFormat is not, that is rather more of change. smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: locations of DST information
Thanks, but I think it would be going backwards. The current NSTimestampFormatter is already a thin layer on top of SimpleDateFormat using NSTimeZone instead of TimeZone with some bizarre adjustments to make it behave like the ObjC formatter. Some of the format characters are just ignored as they do not have a correspondent in SimpleDateFormat. The next version of WebObjects will not use NSTimestampFormatter internally. You can write a translator but you are going to incur a performance penalty for very little gain. Don't forget that you should not cache format as they are not re- entrant. Most WO developer do not embed their format string in every component anyway it is way too cumbersome when the customer invariably ask for a change, we all push them in cover methods in WOComponent so moving away from the old format should not be that difficult. Cheers Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 28, 2008, at 9:30, Mike Schrag wrote: I mean for Pierre, inside WO, or Wonder with a class replacement if it ends up going away completely ... ms On Jan 28, 2008, at 12:18 PM, Anjo Krank wrote: Not really. You'd need to get it plugged into the system, see if it works with all the components and so on. So this is not an hour or two of work. Cheers, Anjo Am 28.01.2008 um 18:05 schrieb Mike Schrag: It should be really easy to write a new NSTimestampFormatter that just converts old format to SimpleDateFormat format internally, right? So NSTimestampFormatter could be deprecated but not gone. I actually wrote this code last year but I think I ended up tossing it, and I don't recall why. No idea where it ran off to, but it was maybe an hours worth of code, and another that because you have to keep looking back and forth between the two references. IIRC there were two %things that didn't have an equivalent in SimpleDateFormat. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: locations of DST information
NSTimeZone and NSTimestampFormatter are deprecated because of their reliance on internal copy of the time zone information. They do not provide any services not provided by the base Java classes TimeZone and SimpleDateFormat. Whether you are working with 5.3 or 5.4 please move out of those classes. To my knowledge 5.3 only uses them for GMT time/date conversion which is safe, and I think 5.4 has no references to them. The base Java classes rely on the time zone info embedded in the Java VM which is regularly updated. If you need some really urgent update there is a Sun tool to load the latest and greatest. For more information see: http://docs.info.apple.com/article.html?artnum=305129 Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 27, 2008, at 23:06, Lachlan Deck wrote: On 28/01/2008, at 5:44 PM, Art Isbell wrote: On Jan 27, 2008, at 8:10 PM, Lachlan Deck wrote: What I meant was that I assumed that, as I'm seeing the correct behaviour on my development machine with WO5.3, that I would have thought that by embedding all system frameworks for 5.3 in the app that the behaviour would continue to be correct on deployment. Seems like a valid assumption to me as far as the NSTimeZone is concerned *if* none of the WO 5.4 frameworks containing time zone info is being loaded (i.e., if the class paths exclude all WO 5.4 frameworks and jars). But if the JVM time zone info differs between the dev and deployment machine, then Java TimeZone calculations could differ. Yeah, 5.4 is not in the picture at all, for the moment, whether in dev or deploy. I'd make copies of the original WO jars, follow the time zone info update procedure outlined in the KBase article, and give it a whirl. The worst that could happen would be that you'd have to restore the original jar versions. Yeah, that's not under my control... (but certainly can be fixed), I was just hoping to not have to rely on the timing of that happening, pun intended :-) The time zone info in the WO frameworks isn't updated unless the frameworks are updated. And even then, the time zone info might not reflect recent changes in certain parts of the world. So some manual time zone info updating between WO updates might be necessary to keep time calculations accurate. I seem to remember there being a System Update for WO 5.3 last year that included dst updates, unless I'm mistaken. I know there was for java itself, but I just can't remember. I guess I could always update my dev machine anyway and see if that has any effect. Nevertheless, updating the java zone info will be a necessary step (or getting this up on another more recent box) anyway. I'm also considering whether or not to use ant to deploy with the app a snapshot of the zoneinfo(s) for certain zones so as to ensure that what's getting saved/retrieved is not offset incorrectly. But that's a hassle I can avoid if I can get the apps over to another box. Thanks. with regards, -- Lachlan Deck ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: EOGenerator Almost Working
Mike, I have build my own templates but I tried the default ones, they do not work if you do not define the $EOGenericRecord variable. The test to check if it is defined does not work. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 27, 2008, at 7:01, Mike Schrag wrote: Please try updating WOLips to the current nightly and try again. You can do that on a different Eclipse install if you are afraid of breaking something else. Yes, there have been a significant number of updates to the default eogen templates ... 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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:eclipse key mapping [was WOLips: 80 character width gutter?]
Someone had remapped eclipse funky key layout to a more Mac like layout, does anyone knows where this project is? I would really like to have eclipse be consistent with the rest of the platform. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 26, 2008, at 12:00, Lachlan Deck wrote: On 27/01/2008, at 12:37 AM, Marc Guenther wrote: Back then, one of our developers refused to use Eclipse, cause he couldn't select a method name, and then Cmd-E Cmd-G to its declaration (probably opening lots of promising looking files in the process). That was what he was used to use. While I would certainly like to have Cmd-E functionality in Eclipse (and a FindPanel which remembers what I typed into it), I prefer to simply press F3 to go to the declaration of a method. Or Ctrl-Alt-H to find from where its called. Or whatever... Try selecting a word (even within a string) and press Cmd+k I remember a full build used to take almost half an hour with ProjectBuilder. In Eclipse, it took 4mins, and then, when do you ever need to do a full build in Eclipse? It was quite common for a developer to break the nightly build, cause she committed a low level change which wouldn't compile in a dependant framework. Which meant half an hour coffee break for everyone the next morning. In Eclipse, everything is always built. No manual builts, no missed compilation warnings, all dependencies magically taken care of. I am now so used to this, I wonder how any IDE could be taken seriously which doesn't provide that kind of build integration. Yet at the time, it was revolutionary. It's funny though how you still have to do a clean build in Eclipse when things go wonky. So revolutionary, that most in our team didn't understand it, and stuck with their, ah, this is so ugly, its one huge window, it doesn't do everything 120% as I'm used to do it, how can you stand this thing, whining. I wonder what will happen to me if I ever have to use Xcode again :-) Xcode 3 did look like a nice improvement :-) with regards, -- Lachlan Deck ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: 2 WOLips Questions.
I may be asking a stupid question, but why are you making you life miserable with cvs I would use subversion which is a drop in replacement for cvs and has some definite advantages. Beware of cvs and UTF-8 encoded files. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 26, 2008, at 11:27, Drew Thoeni wrote: On the SCM, I'm using the default, CVS. It did work originally, and I am way newbie on CVS. Is there a way to just drop the EOModel from the CVS lib and reload from my machine? On the editors, I like the "close the window" approach. Thanks for the tip. Drew On Jan 26, 2008, at 9:39 AM, Mike Schrag wrote: 1) When I use SCM and commit a project, the EOModel committed the first time, and I was able to retrieve it on another machine, but it no longer will upload (using Team>Commit...). It appears that Eclipse is not aware of changes in the EOModel (because the EOModel does not show up in the "changes" window of the SCM). But, the changes are reflected in the java files created by EOGenerator. Is this expected behavior? If not, how can I commit the EOModel? What SCM do you use? This should "just work" -- There's nothing special about EOModels, so they should just appear as regular directories with regular files in them. 2) When I changed from a java file (using the perspective WOLips) to the EOModel, most of the time (not always) the perspective automatically changes to "Entity Modeler". This is good. But when I click back on the java file the perspective never automatically changes back to WOLips. Is there a setting that allows a perspective to be associated with a file type and then automatically open that perspective? Actually, it's a big hack that Entity Modeler magically switches when you open a model, and it's a bit tricky to make it switch back by editor. The way I actually do this is that I just close the model (which DOES switch back) rather than switch editors. The other option is that you can set the preference that opens Entity Modeler in its own window, which should preserve the perspective of the original window. There are some bumps with this way, too, but really it's more like what people want, I think. The problem is that Entity Modeler appears as an "editor" but it really is its entirely own "thing". 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/drewt7%40comcast.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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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 session on each request
This is actually a bug. I looked at the code and it should not behave that way. Can you file it please. Thank you. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 24, 2008, at 13:41, Zak Burke wrote: On Jan 24, 2008, at 4:19 PM, Chuck Hill wrote: On Jan 24, 2008, at 1:12 PM, Zak Burke wrote: On Jan 24, 2008, at 3:15 PM, Chuck Hill wrote: On Jan 24, 2008, at 10:40 AM, Zak Burke wrote: I'm going a little bit mad here. I am working on a new app and cannot get session management to work correctly. Requests to the root of the app (.../simple.woa) generate new sessions; requests generated from within the app (submitting a form) reuse existing sessions. I must have some basic setting goofed up, but I cannot figure out what it is. [...] The logs with that shows the sessionID is available in dispatchRequest and that it looks like the new session is being generated by Application._initializeSessionInContext. When I override that as follows: public WOSession _initializeSessionInContext(WOContext context) { WORequest r = context.request(); NSLog .out.appendln("_initializeSessionInContext.isSessionIDInRequest: " + r.isSessionIDInRequest()); NSLog.out.appendln("_initializeSessionInContext.sessionID: " + r.sessionID()); return super._initializeSessionInContext(context); } I get the following: REQUEST COOKIES: (value=("-1") path=null domain=null isSecure=false>, value=("6gIdXD0e75cWKpZWlkCGAM") path=null domain=null isSecure=false>) isSessionIDInRequest: true sessionID: 6gIdXD0e75cWKpZWlkCGAM _initializeSessionInContext.isSessionIDInRequest: true _initializeSessionInContext.sessionID: 6gIdXD0e75cWKpZWlkCGAM Initialized session 2: q1KLEMrOi9scsTfIe6l7f0 java.lang.RuntimeException: Session created here at your.app.Session.(Session.java:23) 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 .foundation._NSUtilities.instantiateObject(_NSUtilities.java:577) at com .webobjects .appserver .WOApplication.createSessionForRequest(WOApplication.java:1611) at com .webobjects .appserver .WOApplication._initializeSessionInContext(WOApplication.java:1752) at your.app.Application._initializeSessionInContext(Application.java: 64) at com .webobjects .appserver ._private .WOComponentRequestHandler ._dispatchWithPreparedApplication(WOComponentRequestHandler.java: 309) at com .webobjects .appserver ._private .WOComponentRequestHandler ._handleRequest(WOComponentRequestHandler.java:358) at com .webobjects .appserver ._private .WOComponentRequestHandler .handleRequest(WOComponentRequestHandler.java:435) at com .webobjects .appserver.WOApplication.dispatchRequest(WOApplication.java:1306) at your.app.Application.dispatchRequest(Application.java:77) at com .webobjects .appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:173) at com .webobjects .appserver._private.WOWorkerThread.run(WOWorkerThread.java:254) at java.lang.Thread.run(Thread.java:613) Huh? Both dispatchRequest and _initializeSessionInContext report the same sessionID. If we already have a sessionID, why is _initializeSessionInContext calling createSessionForRequest? I can't help but feel there is some trivial but arcane setting that I have botched, but I can't for the life of me figure out what it might be. I am too lazy to look it up, but I'd guess that the component action request handler creates a new session based on the URL without looking at the cookies. Try adding this to the application constructor: setDefaultRequestHandler (requestHandlerForKey(directActionRequestHandlerKey())); Make sure that DirectAction.java has something like this: public WOActionResults defaultAction() { return pageWithName(Main.class.getName()); } Wow; that worked. How ... strange. You must be right that "the component action request handler creates a new session based on the URL without looking at the cookies." After several years of writing WO applications, I have learned not to question the wisdom of the framework, but I would really love to know the reasoning behind that decision. Thanks as always, zak. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Descr
Re: Why doesn't EOF sort our PK problems itself ?
Keep it simple use UUID. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 23, 2008, at 11:19, Mike Schrag wrote: On failed save EOF does not update the global IDs with integer PKs. Do something trivial like adding a null-allowed column in EO but making nulls not allowed in the DB. Attempt to save. When it fails change the DB to allow nulls or fill in the property that cannot be null. Save again. You'll notice that the PKs grabbed for the first attempt are skipped and that EOF will ask for PKs again and will use those. You might be able to wrap your saveChanges in a loop until it succeeds, but you'd need to intercept and parse the duplicate primary key exception, which would be db-specific. What I don't know is if you have deferred constraints if that also includes PK conflicts, and if so, would you only get a single exception on save and not know which item it actually correlated with (or even that it was a dupe PK error -- every db sends this back in different ways, and some don't even support codes on these, so you literally have to parse the exception messages, which is a disaster in the making). Definitely a lot of unfun things you would likely have to do to try and get this to work, which is why I think the better solution is to fix pk generation period and support autoincrement columns in the first place (so you wouldn't even have to deal with this). Not to say that's a trivial change by any means, but EOF really should be capable of using them. That eo_pk_table thing always felt like a huge hack to me. There's already an example of some auto-PK fixes in the PostgresqlPlugin. Should the sequence object not exist, the plugin will recreate it. Furthermore, should it exist but be returning IDs that are too low then assuming you catch adaptor exceptions you can try saving again and eventually you'll bump the sequence high enough. You can also stop after the first save, regenerate primary key support, then save again and it will pull new PKs. This is different, though ... This is a failure in the pk generator, which is pretty straightforward to catch and handle in the plugin. The problem you're talking about is a failure during commit, after the plugin's pk generator has already run. So clearly it's not impossible to add some code that upon primary key conflicts will simply regenerate the PK support. One drawback is that while you are regenerating the PK support you really ought to block all other access to the database or else you could easily get two DB clients trying to do the regeneration concurrently. Nothing's _impossible_ :), but I suspect it is pretty tricky to get it to work right. You basically have all the same context the framework does at this point, though. I suspect you could try to prototype this in your own code at a higher level to see if there's even enough info available to pull it off. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: WOAllowRapidTurnaround = true Isn't working...
This will definitively be in the next version. I will have a look if I can pull it back in the next update. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 23, 2008, at 9:37, Mike Schrag wrote: I had disabled them (see other thread asking if they were needed anymore). I figured that maybe this is what was causing my problem, so I re-enabled the .xcodeproj, but not the PB.project file. Turns out Rapid Turnaround needs the PB.project file to be there. So the official story here: WO has this sort of crazy package called com.webobjects._ideservices. This is the code that implements support for your WO app talking with your IDE. The implementation that is built into WO <= 5.4 does something like: 1) talk to an xml rpc service running in the IDE to get a list of projects 2) ... if that succeeds it continues to use this service or 3) ... if that fails it tries to read out of PB.project files WOLips has a really bad partial implementation of the webservice in #1 -- You can turn this on and off in WOLips Prefs=>PB Server Preferences. A major problem with this server is that it's SUPER chatty. You'll take a huge performance hit in development with this thing running. If you turn it off, but continue to generate PB.project files, then your success hinges on how well WOLips generates PB.proj's. Honestly I haven't seen in this code in so long that I just don't recall what its state is. So there's actually a secret #0 in this list, which is that I have a new implementation of rapid turnaround that is designed for WOLips, but it's based on source that I can't release (if I decompiled .. which i don't .. it might be based on decompiled code). This has been submitted to Apple, but I'll let Pierre comment on if/when/whether that will go into WO proper. I can possibly release this as a binary-only jar in the meantime that people can drop into their projects .. That might work out. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: so i don't have to look them up
Before you go too far in this. You have to know that Monitor is completely rewritten for the next version of WO. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 23, 2008, at 6:36, Mike Schrag wrote: Before I go looking these up, does anyone know the default values that monitor/adaptor/wotaskd use for: Load Balancing Retries Redirection URL Dormant Send Timeout Receive Timeout Connect Timeout Send Buffer Size Receive Buffer Connection Pool Size URL Version Also, if anyone has the notes from Max's talk about the limits for these values, I wanted to put all that info into Wonder's JavaMonitor. 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/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: incompatibility between WebObjects and Cocoa in XML plists
There was no plist xml output in 5.3 and the reading was incomplete so I am not sure what broke. I have been trying to follow the spec so that we can use standard tools to view and modify our plist. Feel free to file a bug report I will have a look if I can fix it without breaking other thing. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 22, 2008, at 23:12, Alexander Spohr wrote: Should we file one for and and the others that changed from 5.3 to 5.4 and broke existing code? Am 23.01.2008 um 02:07 schrieb Mr. Pierre Frisch: Could please file a bug report. Thank you. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 22, 2008, at 16:17, Wade Price wrote: Now that WebObjects 5.4 has "full support" of XML plists, I was hoping that I could rely on NSPropertyListSerialization to exchange XML plists between Cocoa and WebObjects applications. However, I have found that the date representations used by Cocoa and WebObjects 5.4 to be incompatible. In Cocoa, NSPropertyListSerialization encodes/decodes using this format: -mm-ddTHH:MM:SSZ For example: NSData *xmlData = [NSPropertyListSerialization dataFromPropertyList:now format:NSPropertyListXMLFormat_v1_0 errorDescription :&error]; produces: http://www.apple.com/DTDs/PropertyList-1.0.dtd "> 2008-01-22T23:17:14Z However, in WebObjects 5.4, NSPropertyListSerialization encodes/ decodes using this format: -mm-dd HH:MM:SS.NNN GMT For example: String xmlString = NSPropertyListSerialization.xmlStringFromPropertyList(new NSTimestamp()); produces: http://www.apple.com/DTDs/PropertyList-1.0.dtd "> 2008-01-22 21:39:22.975 GMT You might expect both Cocoa and WebObjects NSPropertyListSerialization to recognize both formats, but they don't. Therefore: Cocoa's NSPropertyListSerialization cannot decode a date encoded in an XML plist generated by WebObjects. WebObjects' NSPropertyListSerialization cannot decode a date encoded in an XML plist generated by Cocoa. I understand that Cocoa uses NSDate and WebObjects uses NSTimestamp to represent dates. But I would have thought they could have used a common XML representation. I have been working around the problem that isn't supported at all in WO 5.3. However, I was really hoping that WO 5.4 would allow me to ditch the workarounds. Any thoughts? ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%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/atze%40freeport.de This email sent to [EMAIL PROTECTED] Freeport & Soliversum Alexander Spohr [EMAIL PROTECTED] www.freeport.de smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: incompatibility between WebObjects and Cocoa in XML plists
Could please file a bug report. Thank you. Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 22, 2008, at 16:17, Wade Price wrote: Now that WebObjects 5.4 has "full support" of XML plists, I was hoping that I could rely on NSPropertyListSerialization to exchange XML plists between Cocoa and WebObjects applications. However, I have found that the date representations used by Cocoa and WebObjects 5.4 to be incompatible. In Cocoa, NSPropertyListSerialization encodes/decodes using this format: -mm-ddTHH:MM:SSZ For example: NSData *xmlData = [NSPropertyListSerialization dataFromPropertyList:now format:NSPropertyListXMLFormat_v1_0 errorDescription :&error]; produces: http://www.apple.com/DTDs/PropertyList-1.0.dtd "> 2008-01-22T23:17:14Z However, in WebObjects 5.4, NSPropertyListSerialization encodes/ decodes using this format: -mm-dd HH:MM:SS.NNN GMT For example: String xmlString = NSPropertyListSerialization.xmlStringFromPropertyList(new NSTimestamp()); produces: http://www.apple.com/DTDs/PropertyList-1.0.dtd "> 2008-01-22 21:39:22.975 GMT You might expect both Cocoa and WebObjects NSPropertyListSerialization to recognize both formats, but they don't. Therefore: Cocoa's NSPropertyListSerialization cannot decode a date encoded in an XML plist generated by WebObjects. WebObjects' NSPropertyListSerialization cannot decode a date encoded in an XML plist generated by Cocoa. I understand that Cocoa uses NSDate and WebObjects uses NSTimestamp to represent dates. But I would have thought they could have used a common XML representation. I have been working around the problem that isn't supported at all in WO 5.3. However, I was really hoping that WO 5.4 would allow me to ditch the workarounds. Any thoughts? ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pierre%40apple.com This email sent to [EMAIL PROTECTED] smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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: WOImageButton id
Thank you Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 22, 2008, at 15:15, Ian Joyner wrote: On 22/01/2008, at 6:51 PM, Mr. Pierre Frisch wrote: This is a bug. Can you file a bug report please. Thank you Done. Bug ID# 5700805: Summary: HTML element id not settable on WOImageButton in the binding in the wod file Steps to Reproduce: Create a component with a WOImageButton, add id = "something" in the binding. Our example is: Search_button: WOImageButton { id = "btnSearchTab1"; action = session.show_search_panel; filename = "btn_search.gif"; framework = "app"; onMouseDown = "swap_image ('btnSearchTab1', 'img_search_hi');"; onMouseOut = "swap_image ('btnSearchTab1', 'img_search');"; name = "btnSearchTab1"; title = "Search mode"; vspace = 3; } Expected Results: In the tag in the generated HTML and "id" property should appear (this is important so you can manipulate it in JavaScript with document.getElementById). Actual Results: vspace="3" onmousedown="swap_image ('btnSearchTab1', 'img_search_hi');" type="image" name="btnSearchTab1" src="/cgi-bin/ WebObjects/Stream3.woa/_wr_/wodata=/Users/ianjoyner/Development/ WebObjects/Eclipse/Stream3/build/Stream3.woa/Contents/ WebServerResources/btn_search.gif" width="32" height="23" /> no "id" attribute appears. Regression: We have this problem in WO 5.4 but have not tested earlier to determine its presence or absence. Notes: Bug submission requested by Pierre Frisch. Ian Pierre -- Pierre Frisch [EMAIL PROTECTED] On Jan 21, 2008, at 21:00, Ian Joyner wrote: What I am trying to do is have a button show a pressed form when clicked, and an unpressed form when a user moves the mouse out. I'm trying to do this by swapping the image 'src' attribute in JavaScript. However, to get the input field which is generated by the WOImageButton, I'm using document.getElementById. However, when I assign an id in the WO binding wod file, it never turns up in the html. Testing it on a WOImage works just fine as http://en.wikibooks.org/wiki/Programming:WebObjects/Alternative_Technologies/Ruby_on_Rails#Myth :_You_can.27t_assign_the_name_or_id_value_of_tags_in_WebObjects. says it will do. Binding looks like: Search_button: WOImageButton { id = "btnSearchTab1"; action = session.show_search_panel; filename = "btn_search.gif"; framework = "app"; onMouseDown = "swap_image ('btnSearchTab1', 'img_search_hi');"; onMouseOut = "swap_image ('btnSearchTab1', 'img_search');"; name = "btnSearchTab1"; title = "Search mode"; vspace = 3; } Is there anyway to get id working? Does anyone use an alternative method for this? Thanks Ian smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will 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]