Re: ExcelGenerator
Ahhh, yes, that's right! I had thought when I had that issue, that it was something to do with the HTML, but I never specificly identified the problem as "spaces". Can you elaborate on what you did? Where did you have spaces that created a problem? - Patrick > On Oct 16, 2022, at 3:40 AM, Gino Pacitti wrote: > > Hi… > > This is solved… > It was due to spaces in the HTML.. > > Duh!! > > Gino > >> On Oct 15, 2022, at 10:56 PM, Patrick Robinson > <mailto:p...@vt.edu>> wrote: >> >> Hi Gino, >> >> I just built one of these, myself, and remember getting the 3 byte output, >> but now I can't remember why. But just looking at what you have there, if >> that's your actual HTML, then it looks like you're missing the closing ">" >> on your "> >> - Patrick >> >> >>> On Oct 15, 2022, at 3:01 AM, Gino Pacitti via Webobjects-dev >>> mailto:webobjects-dev@lists.apple.com>> >>> wrote: >>> >>> Hi.. >>> >>> I was trying to use ExcelGenerator to build a report but the output is 3 >>> bytes.. >>> >>> I have the wrapper around a Table see below: >>> >>> I can debug output the er.excel.EGWrapper - Converting content string >>> >>> Which shows the Table and results in the er.excel.EGSimpleTableParser also >>> shows content but after the DirectAction method runs and returns the page >>> which has and appendToResponse the file is empty. >>> >>> I am building using Java 11 with latest Wonder. >>> >>> public void appendToResponse (WOResponse r, WOContext c ){ >>> r.disableClientCaching(); >>> r.removeHeadersForKey("Cache-Control"); >>> r.removeHeadersForKey("pragma"); >>> r.setHeader("application/excel", "content-type"); >>> super.appendToResponse(r, c); >>> >>> } >>> >>> >> fileName = "Code Report.xls" >>> enabled = "$isEnabled" >>> fonts = "$application.data.Fonts" >>> styles = "$application.data.Styles" >>>> >>> >>> >> class="default"> >>> >>> >>> # >>> Date >>> Created >>> SMS Code >>> Document >>> No. of >>> Requests so far >>> Picture >>> TEXT >>> Message> >>> Processing >>> status >>> >>> >>> >>> >> "$count" /> >>> >> "$code.codeDate" dateformat = "EEE dd MMM "/> >>> >> "$code.codeSmsCode" /> >>> >> "$code.codeDocumentURL" /> >>> >> "$code.codeRequests" /> >>> >> "$code.codePictureURL" /> >>> >> "$code.codeMessage" /> >>> >> "$code.codeStatus" /> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> ___ >>> Do not post admin requests to the list. They will be ignored. >>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com >>> <mailto:Webobjects-dev@lists.apple.com>) >>> Help/Unsubscribe/Update your Subscription: >>> https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu >>> <https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu> >>> >>> This email sent to p...@vt.edu <mailto:p...@vt.edu> ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: ExcelGenerator
Hi Gino, I just built one of these, myself, and remember getting the 3 byte output, but now I can't remember why. But just looking at what you have there, if that's your actual HTML, then it looks like you're missing the closing ">" on your " On Oct 15, 2022, at 3:01 AM, Gino Pacitti via Webobjects-dev > wrote: > > Hi.. > > I was trying to use ExcelGenerator to build a report but the output is 3 > bytes.. > > I have the wrapper around a Table see below: > > I can debug output the er.excel.EGWrapper - Converting content string > > Which shows the Table and results in the er.excel.EGSimpleTableParser also > shows content but after the DirectAction method runs and returns the page > which has and appendToResponse the file is empty. > > I am building using Java 11 with latest Wonder. > >public void appendToResponse (WOResponse r, WOContext c ){ >r.disableClientCaching(); >r.removeHeadersForKey("Cache-Control"); >r.removeHeadersForKey("pragma"); >r.setHeader("application/excel", "content-type"); >super.appendToResponse(r, c); > >} > > fileName = "Code Report.xls" > enabled = "$isEnabled" > fonts = "$application.data.Fonts" > styles = "$application.data.Styles" >> > > class="default"> > > > # > Date > Created > SMS Code > Document > No. of Requests > so far > Picture > TEXT > Message> > Processing > status > > > > "$count" /> > "$code.codeDate" dateformat = "EEE dd MMM "/> > "$code.codeSmsCode" /> > "$code.codeDocumentURL" /> > "$code.codeRequests" /> > "$code.codePictureURL" /> > "$code.codeMessage" /> > "$code.codeStatus" /> > > > > > > > > > > > > ___ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu > > This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: WOWODC 2013 presentations
Were the WOWODC 2013 recordings ever made available? Andrus: I'm particularly looking for your Tapestry/Cayenne sessions, but can't find 'em anywhere! Thanks, - Patrick On Jul 23, 2013, at 11:35 AM, Andrus Adamchik and...@objectstyle.org wrote: Yep, understood and much appreciated :) On Jul 23, 2013, at 5:54 PM, prob...@macti.ca wrote: I have to listen to all of them to see if we have to cut stuff or not. And I have to make sure that the members list is good. And I have a job. Haven't heard from Pascal on the recordings yet. I guess they are not yet ready. On Jul 23, 2013, at 8:38 AM, D Tim Cummings t...@triptera.com.au wrote: Are the recordings available yet? I have viewed the slides and they are very interesting. Tim On 19/07/2013, at 8:35 PM, Andrus Adamchik wrote: Now that Cayenne 3.2M1 is released, I updated GitHub code with the official version. So now you can actually compile and run the examples at https://github.com/andrus/wowodc13 yourself. Andrus On Jun 24, 2013, at 10:10 PM, Andrus Adamchik and...@objectstyle.org wrote: And I just uploaded the Cayenne/Tapestry code that was shown during the demo sessions to GitHub: https://github.com/andrus/wowodc13 These are fully working (albeit simple) apps. This should get you started on your next Cayenne[Tapestry] app ;) Andrus On Jun 24, 2013, at 9:36 AM, Pascal Robert prob...@macti.ca wrote: Hi everyone, We are uploading the slides from WOWODC 2013 on Slideshare: http://www.slideshare.net/wocommunity/ The recordings for paid members and WOWODC attendees will be available in the next two weeks. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/andrus%40objectstyle.org This email sent to and...@objectstyle.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: https://lists.apple.com/mailman/options/webobjects-dev/andrus%40objectstyle.org This email sent to and...@objectstyle.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: https://lists.apple.com/mailman/options/webobjects-dev/tim%40triptera.com.au This email sent to t...@triptera.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: https://lists.apple.com/mailman/options/webobjects-dev/andrus%40objectstyle.org This email sent to and...@objectstyle.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: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: WOWODC 2013 presentations
Excellent! Thank you very much! - Patrick On Jun 11, 2015, at 2:58 PM, Andrus Adamchik and...@objectstyle.org wrote: Yep, they are available on WOCommunity: http://wocommunity.org/podcasts/wowodc/2013/Cayenne1.m4v http://wocommunity.org/podcasts/wowodc/2013/Cayenne2.m4v http://wocommunity.org/podcasts/wowodc/2013/Cayenne3.m4v http://wocommunity.org/podcasts/wowodc/2013/Cayenne4.m4v Andrus On Jun 11, 2015, at 9:34 PM, Patrick Robinson p...@vt.edu wrote: Were the WOWODC 2013 recordings ever made available? Andrus: I'm particularly looking for your Tapestry/Cayenne sessions, but can't find 'em anywhere! Thanks, - Patrick On Jul 23, 2013, at 11:35 AM, Andrus Adamchik and...@objectstyle.org wrote: Yep, understood and much appreciated :) On Jul 23, 2013, at 5:54 PM, prob...@macti.ca wrote: I have to listen to all of them to see if we have to cut stuff or not. And I have to make sure that the members list is good. And I have a job. Haven't heard from Pascal on the recordings yet. I guess they are not yet ready. On Jul 23, 2013, at 8:38 AM, D Tim Cummings t...@triptera.com.au wrote: Are the recordings available yet? I have viewed the slides and they are very interesting. Tim On 19/07/2013, at 8:35 PM, Andrus Adamchik wrote: Now that Cayenne 3.2M1 is released, I updated GitHub code with the official version. So now you can actually compile and run the examples at https://github.com/andrus/wowodc13 yourself. Andrus On Jun 24, 2013, at 10:10 PM, Andrus Adamchik and...@objectstyle.org wrote: And I just uploaded the Cayenne/Tapestry code that was shown during the demo sessions to GitHub: https://github.com/andrus/wowodc13 These are fully working (albeit simple) apps. This should get you started on your next Cayenne[Tapestry] app ;) Andrus On Jun 24, 2013, at 9:36 AM, Pascal Robert prob...@macti.ca wrote: Hi everyone, We are uploading the slides from WOWODC 2013 on Slideshare: http://www.slideshare.net/wocommunity/ The recordings for paid members and WOWODC attendees will be available in the next two weeks. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/andrus%40objectstyle.org This email sent to and...@objectstyle.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: https://lists.apple.com/mailman/options/webobjects-dev/andrus%40objectstyle.org This email sent to and...@objectstyle.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: https://lists.apple.com/mailman/options/webobjects-dev/tim%40triptera.com.au This email sent to t...@triptera.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: https://lists.apple.com/mailman/options/webobjects-dev/andrus%40objectstyle.org This email sent to and...@objectstyle.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: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: WO Components
You say that webobject ... tag is in a .woo file? You've probably already figured this out, but that should be your component's .html file. - Patrick On Apr 23, 2015, at 2:58 PM, HOUNKPONOU Ronald ronald.hounkpo...@gmail.com wrote: It is a custom Page that extends WOComponent class. in my app WOO : webobject name = AdresseAjouter Adresse/webobject in my app WOD: Adresse : WOHyperlink { pageName=AdresseWO; } AdresseWO is the name of my page that is located in my framework. 2015-04-23 19:49 GMT+01:00 Chuck Hill ch...@gevityinc.com: How are you calling the WOComponent? You want to use the full package name otherwise you can get the wrong class. Chuck On 2015-04-23, 11:44 AM, HOUNKPONOU Ronald wrote: Hi, I have an issue with wocomponents. How can i call from my app a WOComponent that is located in a framework? I try by adding the framework as a dependencie and call the concerned WOComponent but i got a blank page instead of the components. 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: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Precompiled WOAdaptor for apache 2.4
It's POODLE, actually: Padding Oracle On Downgraded Legacy Encryption. http://googleonlinesecurity.blogspot.com/2014/10/this-poodle-bites-exploiting-ssl-30.html And, you know what else? I hate that I know this. :-) - Patrick On Oct 20, 2014, at 7:13 PM, Pascal Robert prob...@macti.ca wrote: Le 2014-10-20 à 19:00, Lon Varscsak lon.varsc...@gmail.com a écrit : Shellshock was an SSLv3/v2 fallback problem (technically a client bug)...upgrading Apache shouldn't resolve this (unless by default 2.4 turns off SSLv3/v2). Shellshock is the bash security issue :-) The SSL fallback issue is called POOTLE. -Lon On Mon, Oct 20, 2014 at 3:10 PM, Ray Kiddy r...@ganymede.org wrote: On Mon, 20 Oct 2014 14:10:19 -0700 Lon Varscsak lon.varsc...@gmail.com wrote: I just downgraded and installed 2.2.26 using homebrew (and these instructions https://gist.github.com/falker/857c40ac854999d88135). Figured it was the path of least resistance. :P -Lon So, I updated my apache instance in response to Shellshock. Was this not necessary or not an issue? - ray On Mon, Oct 20, 2014 at 9:28 AM, Michael Kondratov mich...@aspireauctions.com wrote: I would also love to get a copy of a binary. Tried compiling - no success. Michael Kondratov Aspire Auctions, Inc. 216-231-5515 On Oct 20, 2014, at 6:13 AM, Gino Pacitti ginok...@mac.com wrote: Hi all… Just updated to Yosemite and duh… Apache is updated and I cannot get WO to work… I have the adaptor make file from wonder but not totally sure how to set it up to compile. There is no make.postamble or make.config and I am not sure what to use to configure if there were. Is there a precompiled adaptor for Apache 2.4 to use on Yosemite? Gino ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/lon.varscsak%40gmail.com This email sent to lon.varsc...@gmail.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Access to EOF/WebObjects source files - plan for the future?
Hi Andrus, Are you still also using (and happy with) Apache Tapestry? Just curious, - Patrick On Sep 18, 2014, at 7:41 AM, Andrus Adamchik and...@objectstyle.org wrote: WO in its binary form miraculously survived Java evolution for so many years. Not knowing the details of Java 9, I can't say what the next workaround will be, but I know there will be one :) But seriously, you should probably start looking at Apache Cayenne or other alternatives. You may check my presentations from WOWODC last year on what it takes to get there (TL;DR - no silver bullet, but a reasonable migration path). Andrus On Sep 18, 2014, at 12:36 PM, Joseph Pachod jpac...@intuitive-care.com wrote: Hi We're discussing how we/wonder could/would handle a new Java version not being backward compatible in regard to source code, as it has been rumored to be the plan for Java 9. As far as I've found, the source code of EOF/WebObjects is closed source, not accessible and not modifiable. Is this right ? If, for some reason, EOF/Wonder wouldn't compile any more against Java 9, what could be done ? Is it about a major rewrite or could it be not this bad ? Is there any plan? Thanks in avance Best, -- Joseph Pachod, Intuitive Healthcare Solutions Equipe Technique 08.11.69.63.86 http://bugreport.resurgences.com http://www.resurgences.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: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Building Apache Adaptor on Ubuntu 14 LTS
I haven't tried to upgrade anything to Ubuntu 14 yet, but I did notice that it includes Apache 2.4 (rather than 2.2, which they used in earlier releases). There are some API changes in 2.4, but I haven't yet looked to see if any of them affect mod_WebObjects. - Patrick On May 20, 2014, at 9:58 PM, D Tim Cummings t...@triptera.com.au wrote: Thanks Markus. This worked for me too. I should check the list for updates before posting but comforting to know I came up with the same solution ;) Tim On 21 May 2014, at 7:04, Markus Stoll, junidas GmbH markus.st...@junidas.de wrote: Hi, I could reproduce your problem. pleass try patching Adaptor/shmem.c replace this line #define offset_to_addr(offset) ((void *)(WOShmem_base_address + (void *)offset)) with #define offset_to_addr(offset) ((void *)(WOShmem_base_address + offset)) This helped for me, if this helps for you too, I will test with other targets and create a pull request. Markus Am 20.05.2014 um 17:08 schrieb CHRISTOPH WICK | i4innovation GmbH, Bonn c...@i4innovation.de: Hallo Markus, thanks for your help. My compiler says: $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) It's the gcc you get, when you install it with sudo apt-get install gcc. C.U.CW -- The three great virtues of a programmer are Laziness, Impatience and Hubris. (Randal Schwartz) On 20.05.2014, at 15:53, Markus Stoll, junidas GmbH markus.st...@junidas.de wrote: Hi, I'm trying to build the Apache Adaptor for Ubuntu 14 LTS manually following the instructions on http://wiki.wocommunity.org/display/documentation/Compiling+the+HTTP+adaptor+on+Linux If I try to execute make CC=gcc, I get the following error: gcc -I/usr/local/include -O2 -I../Adaptor -DSINGLE_THREADED_ADAPTOR -DLINUX -DCGI -c ../Adaptor/shmem.c ../Adaptor/shmem.c:69:38: warning: initialization makes pointer from integer without a cast [enabled by default] static void * WOShmem_base_address = -1; ^ ../Adaptor/shmem.c: In function 'WOShmem_alloc': ../Adaptor/shmem.c:78:63: error: invalid operands to binary + (have 'void *' and 'void *') #define offset_to_addr(offset) ((void *)(WOShmem_base_address + (void *)offset)) ^ WOAdaptor does its pointer arithmetics in a way, that your compiler does not like (well, me neither) Your compiler probably needs some additional flags... Which compiler does your Ubuntu 14 TLS use? What does „gcc -v“ give? regards, Markus ../Adaptor/shmem.c:294:18: note: in expansion of macro 'offset_to_addr' r = (Region *)offset_to_addr(0); ^ ../Adaptor/shmem.c:78:63: error: invalid operands to binary + (have 'void *' and 'void *') #define offset_to_addr(offset) ((void *)(WOShmem_base_address + (void *)offset)) ^ ../Adaptor/shmem.c:305:19: note: in expansion of macro 'offset_to_addr' ret = offset_to_addr(r-offset); ^ ../Adaptor/shmem.c:78:63: error: invalid operands to binary + (have 'void *' and 'void *') #define offset_to_addr(offset) ((void *)(WOShmem_base_address + (void *)offset)) ^ ../Adaptor/shmem.c:330:41: note: in expansion of macro 'offset_to_addr' newRegion = (Region *)offset_to_addr(r-nextRegion); ^ ../Adaptor/shmem.c:78:63: error: invalid operands to binary + (have 'void *' and
Where has WebObjects543.dmg gone?
I just downloaded WOInstaller.jar onto a new machine, ran it to download WO 5.4.3. It tries to get it from: http://download.info.apple.com/Mac_OS_X/061-4634.20080915.3ijd0/WebObjects543.dmg and dies with: Exception in thread main java.io.FileNotFoundException: http://download.info.apple.com/Mac_OS_X/061-4634.20080915.3ijd0/WebObjects543.dmg Has it moved to a known location, but we just haven't updated WOInstaller.jar? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Where has WebObjects543.dmg gone?
Update: Sombody knows about its move, because I just stumbled across this page on the wiki: http://wiki.wocommunity.org/display/WO/Home This links to: http://support.apple.com/kb/DL688 to download 5.4.3. On Jul 11, 2013, at 4:58 PM, Patrick Robinson wrote: I just downloaded WOInstaller.jar onto a new machine, ran it to download WO 5.4.3. It tries to get it from: http://download.info.apple.com/Mac_OS_X/061-4634.20080915.3ijd0/WebObjects543.dmg and dies with: Exception in thread main java.io.FileNotFoundException: http://download.info.apple.com/Mac_OS_X/061-4634.20080915.3ijd0/WebObjects543.dmg Has it moved to a known location, but we just haven't updated WOInstaller.jar? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Where has WebObjects543.dmg gone?
Thanks, Q. I guess I'd forgotten that the source for this is now in Wonder. he URL constant there is already correct. So someone who has access just needs to build it and copy the resulting jar to: http://wocommunity.org/documents/tools/WOInstaller.jar (The wiki page, http://wiki.wocommunity.org/display/documentation/Project+Wonder+Installation , tells you to retrieve the jar from that URL, and to use it to install the WO frameworks.) - Patrick On Jul 11, 2013, at 8:10 PM, Quinton Dolan wrote: If you already downloaded the DMG manually you can drop it into the current directory with the name 'WebObjects543.dmg' and use the undocumented version target of 'dev54' to get woinstaller to use the local file. The URL constant that will need updating is found in: Utilities/WOInstall/Sources/er/woinstaller/WebObjectsInstaller.java On 12/07/2013, at 7:04 AM, Patrick Robinson p...@vt.edu wrote: Update: Sombody knows about its move, because I just stumbled across this page on the wiki: http://wiki.wocommunity.org/display/WO/Home This links to: http://support.apple.com/kb/DL688 to download 5.4.3. On Jul 11, 2013, at 4:58 PM, Patrick Robinson wrote: I just downloaded WOInstaller.jar onto a new machine, ran it to download WO 5.4.3. It tries to get it from: http://download.info.apple.com/Mac_OS_X/061-4634.20080915.3ijd0/WebObjects543.dmg and dies with: Exception in thread main java.io.FileNotFoundException: http://download.info.apple.com/Mac_OS_X/061-4634.20080915.3ijd0/WebObjects543.dmg Has it moved to a known location, but we just haven't updated WOInstaller.jar? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/qdolan%40gmail.com This email sent to qdo...@gmail.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: What does NEXT_ROOT has to do with launching a java VM??!?!?
On 10.6.8 at least, with java 1.6, if you set NEXT_ROOT (which I do, since I still have both WO 5.3.3 and 5.4.2 installed down under /Developer/WebObjects/Versions), then you also need to set JAVA_HOME, which for the normal Apple-provided java should be /Library/Java/Home. - Patrick On Mar 27, 2013, at 1:30 PM, Pascal Robert wrote: Looks like it's a OS X problem, because it doesn't happen on Linux: [probert@wocommunity home]$ export NEXT_ROOT=/opt/apple/ [probert@wocommunity home]$ java -version java version 1.6.0_30 Java(TM) SE Runtime Environment (build 1.6.0_30-b12) Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode) Oh, I guess setting NEXT_ROOT will prevent /System/Library/Frameworks/JavaVM.framework from being found? On Mar 27, 2013, at 12:09 PM, Henrique Gomes li...@farol.pt wrote: Can any one explain this? bash-3.2# java -version java version 1.7.0_17 Java(TM) SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode) bash-3.2# export NEXT_ROOT=/opt/apple/ bash-3.2# java -version Unable to locate a Java Runtime to invoke. Why would setting NEXT_ROOT stop java from even launching? Henrique Gomes ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Problem saving to a BLOB field after switching to ORACLE 11g driver
Hi Ricardo, Resurrecting a 2.5 year old thread here, but I just became aware that we're having the same problem (with an obviously infrequently-used feature). Did you ever learn anything more about this? Did setting that oracle.jdbc.LobStreamPosStandardCompliant property result in any strange or undesirable behavior? Thanks, - Patrick On May 11, 2010, at 4:47 PM, Ricardo J. Parada wrote: To simplify things, in a nutshell, the new oracle 11g driver has this logic: if (pos == 518630185893888L) { if (lobStreamPosStandardCompliant) { throw DatabaseError.createSqlException(getConnectionDuringExceptionHandling(), 68); } ... } and the old oracle 10g driver looks like this: if (pos == 518630185893888L) { return new OracleBlobOutputStream(blob, chunkSize); } So I looked at the lobStreamPosStandardCompliant i-var in the oracle driver and I noticed that it is being initialized from the oracle.jdbc.LobStreamPosStandardCompliant property which defaults to true. So if I set the property to false in my Properties file like this: oracle.jdbc.LobStreamPosStandardCompliant=false then the 11g driver works fine. But it makes me nervous setting this property. Anyways, I'm just putting this out here to see if anybody has an idea of what this is. On May 11, 2010, at 3:35 PM, Ricardo J. Parada wrote: On May 11, 2010, at 1:34 PM, Chuck Hill wrote: On May 11, 2010, at 8:57 AM, Ricardo J. Parada wrote: We upgraded ORACLE to 11g and so I switched to the 11g driver. But now we started getting these exceptions: [2010-05-11 07:31:24,579] ERROR com.webobjects.eoaccess.EOGeneralAdaptorException: Invalid argument(s) in call at com.webobjects.eoaccess.EODatabaseContext._exceptionWithDatabaseContextInformationAdded(EODatabaseContext.java:4504) at com.webobjects.eoaccess.EODatabaseContext.performChanges(EODatabaseContext.java:6216) at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:376) at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192) at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:1085) at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:1007) ... I suspect it is related to BLOB fields because it happens right after EOF issues SQL to insert into a table with a BLOB field. The SQL looks something like this: INSERT INTO MIME_CONTENT(DEFAULT_DOWNLOAD_FILE_NAME, MIME_TYPE, CREATION_DATE, MIME_CONTENT, MIME_CONTENT_ID) VALUES (?, ?, ?, EMPTY_BLOB(), ?) withBindings: 1:BasicAdHocReport.csv(defaultDownloadFileName), 2:text/comma-separated-values(mimeType), 3:2010-05-11 11:17:00(creationDate), 4:496737(mimeContentID) SELECT t0.MIME_CONTENT FROM MIME_CONTENT t0 WHERE t0.MIME_CONTENT_ID = ? FOR UPDATE withBindings: 1:496737(mimeContentID) SELECT ... FOR UPDATE usually means that WO has gotten totally confused. It should probably be doing something like UPDATE MIME_CONTENT SET MIME_CONTENT = where MIME_CONTENT_ID = 496737 See http://www.google.ca/search?q=SELECT+%22FOR+UPDATE%22+webobjects; Often this indicates a difference between your prototypes and the name / case of the data type that the JDBC driver is returning. The field is defined as follows in the eomodel: { columnName = MIME_CONTENT; externalType = BLOB; name = mimeContent; valueClassName = NSData; }, It's not using a prototype but I checked ERPrototypes' definition of the blob prototype for ORACLE and it seems that this is setup right. It has always seemed weird to me that I don't see an UPDATE MIME_CONTENT SET MIME_CONTENT = ... WHERE MIME_content_id = 496737 like you mentioned. However, the SQL looks the identical with the old driver except that no exception is thrown and the field in the database ends up with the blob in there. I noticed that the exception class is EOGeneralAdaptorException and it has a userInfo dictionary. So I peeked at that and I see more info that shows a stack trace with line numbers inside the oracle driver. It shows the exception happening at line #4388 in the newOutputStream(BLOB blob, int chunkSize, long pos, boolean zeroInvalid method. And in JD-GUI it seems that for that to happen pos is a really large number and zeroInvalid lobStreamPosStandardCompliant return true. ( I didn't know a bitwise and with a boolean was a valid expression in java... :-/) public OutputStream newOutputStream(BLOB blob, int chunkSize, long pos, boolean zeroInvalid) throws java.sql.SQLException { ... if (pos == 518630185893888L) { if ((zeroInvalid this.lobStreamPosStandardCompliant)) { ... java.sql.SQLException
Re: Problem saving to a BLOB field after switching to ORACLE 11g driver
Spoke too soon there was a followup thread, 4 months later with Subject: oracle.jdbc.LobStreamPosStandardCompliant. See: http://lists.apple.com/archives/webobjects-dev/2010/Sep/msg00548.html Thanks, Mike... 2.25 years later. :-) - Patrick On Dec 20, 2012, at 3:00 PM, Patrick Robinson wrote: Hi Ricardo, Resurrecting a 2.5 year old thread here, but I just became aware that we're having the same problem (with an obviously infrequently-used feature). Did you ever learn anything more about this? Did setting that oracle.jdbc.LobStreamPosStandardCompliant property result in any strange or undesirable behavior? Thanks, - Patrick On May 11, 2010, at 4:47 PM, Ricardo J. Parada wrote: To simplify things, in a nutshell, the new oracle 11g driver has this logic: if (pos == 518630185893888L) { if (lobStreamPosStandardCompliant) { throw DatabaseError.createSqlException(getConnectionDuringExceptionHandling(), 68); } ... } and the old oracle 10g driver looks like this: if (pos == 518630185893888L) { return new OracleBlobOutputStream(blob, chunkSize); } So I looked at the lobStreamPosStandardCompliant i-var in the oracle driver and I noticed that it is being initialized from the oracle.jdbc.LobStreamPosStandardCompliant property which defaults to true. So if I set the property to false in my Properties file like this: oracle.jdbc.LobStreamPosStandardCompliant=false then the 11g driver works fine. But it makes me nervous setting this property. Anyways, I'm just putting this out here to see if anybody has an idea of what this is. On May 11, 2010, at 3:35 PM, Ricardo J. Parada wrote: On May 11, 2010, at 1:34 PM, Chuck Hill wrote: On May 11, 2010, at 8:57 AM, Ricardo J. Parada wrote: We upgraded ORACLE to 11g and so I switched to the 11g driver. But now we started getting these exceptions: [2010-05-11 07:31:24,579] ERROR com.webobjects.eoaccess.EOGeneralAdaptorException: Invalid argument(s) in call at com.webobjects.eoaccess.EODatabaseContext._exceptionWithDatabaseContextInformationAdded(EODatabaseContext.java:4504) at com.webobjects.eoaccess.EODatabaseContext.performChanges(EODatabaseContext.java:6216) at com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:376) at com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192) at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:1085) at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:1007) ... I suspect it is related to BLOB fields because it happens right after EOF issues SQL to insert into a table with a BLOB field. The SQL looks something like this: INSERT INTO MIME_CONTENT(DEFAULT_DOWNLOAD_FILE_NAME, MIME_TYPE, CREATION_DATE, MIME_CONTENT, MIME_CONTENT_ID) VALUES (?, ?, ?, EMPTY_BLOB(), ?) withBindings: 1:BasicAdHocReport.csv(defaultDownloadFileName), 2:text/comma-separated-values(mimeType), 3:2010-05-11 11:17:00(creationDate), 4:496737(mimeContentID) SELECT t0.MIME_CONTENT FROM MIME_CONTENT t0 WHERE t0.MIME_CONTENT_ID = ? FOR UPDATE withBindings: 1:496737(mimeContentID) SELECT ... FOR UPDATE usually means that WO has gotten totally confused. It should probably be doing something like UPDATE MIME_CONTENT SET MIME_CONTENT = where MIME_CONTENT_ID = 496737 See http://www.google.ca/search?q=SELECT+%22FOR+UPDATE%22+webobjects; Often this indicates a difference between your prototypes and the name / case of the data type that the JDBC driver is returning. The field is defined as follows in the eomodel: { columnName = MIME_CONTENT; externalType = BLOB; name = mimeContent; valueClassName = NSData; }, It's not using a prototype but I checked ERPrototypes' definition of the blob prototype for ORACLE and it seems that this is setup right. It has always seemed weird to me that I don't see an UPDATE MIME_CONTENT SET MIME_CONTENT = ... WHERE MIME_content_id = 496737 like you mentioned. However, the SQL looks the identical with the old driver except that no exception is thrown and the field in the database ends up with the blob in there. I noticed that the exception class is EOGeneralAdaptorException and it has a userInfo dictionary. So I peeked at that and I see more info that shows a stack trace with line numbers inside the oracle driver. It shows the exception happening at line #4388 in the newOutputStream(BLOB blob, int chunkSize, long pos, boolean zeroInvalid method. And in JD-GUI it seems that for that to happen pos is a really large number and zeroInvalid lobStreamPosStandardCompliant return true. ( I didn't know a bitwise and with a boolean was a valid expression in java
Re: WOTable class does not exist in Wonder and WOlips?
I was afraid you were going to ask me that, and wasn't sure I had a good answer. :-) Look at your Build Path (ctrl-click on the project - Build Path - Configure Build Path. Click Add Library, select WebObjects Frameworks, then click Next. This will show you what frameworks have been added (and is where you can add others), and it shows the location where it's finding each framework, whether Project, Local, or System. It appears that WOLips prefers to find frameworks in Projects, then Local, then System. That is, if you have a JavaWOExtensions framework project open in Eclipse, then it'll use that. Otherwise, if it finds one in your Local Frameworks location (as defined by your WOLips properties file), it'll use that. Lastly, it'll look in the System Frameworks location. When you run your project, you can check the Console view (in Eclipse) for the value of java.class.path. - Patrick On Sep 21, 2012, at 7:46 AM, Cretu Catalin wrote: Good Morning Patrick, How can this reference be done? Thank you, Catalin From: Patrick Robinson p...@vt.edu To: WebObjects Development Webobjects-dev@lists.apple.com Cc: Cretu Catalin catacr...@yahoo.com Sent: Thursday, September 20, 2012 2:10:54 PM Subject: Re: WOTable class does not exist in Wonder and WOlips? Also be aware that there's a WOTable component in both the Apple and the Wonder versions of the JavaWOExtensions framework, so make sure you're referencing the right one in your project. - Patrick On Sep 20, 2012, at 9:32 AM, Johann Werner wrote: The component is inside the JavaWOExtensions project so if it is on your classpath WO should find it. You should create a new Wonder Application project from scratch and try to use the table component there. Then have a look at your project, check your classpath against the new project and correct/add. Though converting an old app to a Wonder app takes several additional steps. Those are probably written down somewhere in the wiki. Btw does anyone know why we have WOTable in JavaWOExtensions and ERExtensions (where it is missing the HTML template)? Seems really odd. jw Am 20.09.2012 um 15:18 schrieb Cretu Catalin catacr...@yahoo.com: I install WOLips, Wonder, and after that I made a manual import. There is a way to set up or to check if I use Wonder? Thank you, Catalin From: Johann Werner j...@oyosys.de To: Cretu Catalin catacr...@yahoo.com Cc: Webobjects-dev@lists.apple.com Webobjects-dev@lists.apple.com Sent: Thursday, September 20, 2012 9:07:39 AM Subject: Re: WOTable class does not exist in Wonder and WOlips? Works for me. You do use Wonder? Am 20.09.2012 um 13:43 schrieb Cretu Catalin catacr...@yahoo.com: Hello JW, I tried again, but when I run the project I got this exception on browser: Application: TMA Error: java.lang.ClassNotFoundException exception Reason: java.lang.ClassNotFoundException: Cannot find class or component named WOTable in runtime or in a loadable bundle Also on console I got this error: [2012-9-20 7:23:52 EDT] WorkerThread0 WOBundle.lookForClassInAllBundles(WOTable) failed! [2012-9-20 7:23:52 EDT] WorkerThread0 com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: com.webobjects.foundation.NSForwardException [java.lang.ClassNotFoundException] Cannot find class or component named WOTable in runtime or in a loadable bundle:com.webobjects.appserver._private.WOComponentDefinition: Error parsing template for Component : 'file:/Users/catacretu/Documents/workspace/TMA/build/TMA.woa/Contents/Resources/CalendarSchedule.wo': java.lang.ClassNotFoundException: Cannot find class or component named WOTable in runtime or in a loadable bundle [2012-9-20 7:23:52 EDT] WorkerThread0 com.webobjects.foundation.NSForwardException [java.lang.ClassNotFoundException] Cannot find class or component named WOTable in runtime or in a loadable bundle:com.webobjects.appserver._private.WOComponentDefinition: Error parsing template for Component : 'file:/Users/catacretu/Documents/workspace/TMA/build/TMA.woa/Contents/Resources/CalendarSchedule.wo': java.lang.ClassNotFoundException: Cannot find class or component named WOTable in runtime or in a loadable bundle at com.webobjects.appserver._private.WOComponentDefinition.template(WOComponentDefinition.java:375) at com.webobjects.appserver.WOComponent.template(WOComponent.java:499) at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1112) at com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135) at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126) at com.webobjects.appserver
Re: WOTable class does not exist in Wonder and WOlips?
Also be aware that there's a WOTable component in both the Apple and the Wonder versions of the JavaWOExtensions framework, so make sure you're referencing the right one in your project. - Patrick On Sep 20, 2012, at 9:32 AM, Johann Werner wrote: The component is inside the JavaWOExtensions project so if it is on your classpath WO should find it. You should create a new Wonder Application project from scratch and try to use the table component there. Then have a look at your project, check your classpath against the new project and correct/add. Though converting an old app to a Wonder app takes several additional steps. Those are probably written down somewhere in the wiki. Btw does anyone know why we have WOTable in JavaWOExtensions and ERExtensions (where it is missing the HTML template)? Seems really odd. jw Am 20.09.2012 um 15:18 schrieb Cretu Catalin catacr...@yahoo.com: I install WOLips, Wonder, and after that I made a manual import. There is a way to set up or to check if I use Wonder? Thank you, Catalin From: Johann Werner j...@oyosys.de To: Cretu Catalin catacr...@yahoo.com Cc: Webobjects-dev@lists.apple.com Webobjects-dev@lists.apple.com Sent: Thursday, September 20, 2012 9:07:39 AM Subject: Re: WOTable class does not exist in Wonder and WOlips? Works for me. You do use Wonder? Am 20.09.2012 um 13:43 schrieb Cretu Catalin catacr...@yahoo.com: Hello JW, I tried again, but when I run the project I got this exception on browser: Application: TMA Error: java.lang.ClassNotFoundException exception Reason: java.lang.ClassNotFoundException: Cannot find class or component named WOTable in runtime or in a loadable bundle Also on console I got this error: [2012-9-20 7:23:52 EDT] WorkerThread0 WOBundle.lookForClassInAllBundles(WOTable) failed! [2012-9-20 7:23:52 EDT] WorkerThread0 com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: com.webobjects.foundation.NSForwardException [java.lang.ClassNotFoundException] Cannot find class or component named WOTable in runtime or in a loadable bundle:com.webobjects.appserver._private.WOComponentDefinition: Error parsing template for Component : 'file:/Users/catacretu/Documents/workspace/TMA/build/TMA.woa/Contents/Resources/CalendarSchedule.wo': java.lang.ClassNotFoundException: Cannot find class or component named WOTable in runtime or in a loadable bundle [2012-9-20 7:23:52 EDT] WorkerThread0 com.webobjects.foundation.NSForwardException [java.lang.ClassNotFoundException] Cannot find class or component named WOTable in runtime or in a loadable bundle:com.webobjects.appserver._private.WOComponentDefinition: Error parsing template for Component : 'file:/Users/catacretu/Documents/workspace/TMA/build/TMA.woa/Contents/Resources/CalendarSchedule.wo': java.lang.ClassNotFoundException: Cannot find class or component named WOTable in runtime or in a loadable bundle at com.webobjects.appserver._private.WOComponentDefinition.template(WOComponentDefinition.java:375) at com.webobjects.appserver.WOComponent.template(WOComponent.java:499) at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1112) at com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135) at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126) at com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136) at com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122) at com.webobjects.appserver.WOSession.appendToResponse(WOSession.java:1385) at com.webobjects.appserver.WOApplication.appendToResponse(WOApplication.java:1794) at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:242) at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:298) at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332) at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369) at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:445) 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:680) Caused by: java.lang.ClassNotFoundException: Cannot find class or component named WOTable in runtime or in a
ERExcelLook screencast location?
Is there an alternate location where I might find David LeBer's D2W : Using ERExcelLook screencast? The link (http://files.me.com/dav1d/bkjjeo.mov) on wocommunity.org tells me, An error occurred while processing your request. - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: ERExcelLook screencast location?
Great! Thanks, Pascal! On Aug 30, 2012, at 11:02 AM, Pascal Robert wrote: Done. http://www.wocommunity.org/podcasts/D2W_Using_ERExcelLook.mov I have a copy, I will add it on wocommunity.org Is there an alternate location where I might find David LeBer's D2W : Using ERExcelLook screencast? The link (http://files.me.com/dav1d/bkjjeo.mov) on wocommunity.org tells me, An error occurred while processing your request. - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: WOLips validation problems
On Aug 27, 2012, at 8:54 PM, David Avendasora wrote: But you can now pull an editor tab out to it's own window. When you have dual screens, that rocks! Oh, wow! You just made my day (and the day after that, and the day after that...). This was the one thing about the change from Xcode to Eclipse that always seemed like a huge step backwards in time to me. Now I gotta upgrade! - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Wonder JavaMonitor problem
Yes, I guess I've always used it via Apache -- with a devl URL, i.e. https://hostname/cgi-bin/WebObjects/JavaMonitor.woa/-56789 and protected it via Apache config directives. Because I'm accessing w/a devl URL, there's no bizarre add JavaMonitor with JavaMonitor weirdness. I'd been looking at this all morning, and learned: (1) It's not unique to Ubuntu; it's not OS-specific at all - it happens w/OSX as well. (Of course!) (2) The wonder build of JavaMonitor doesn't set -WOFrameworksBaseURL the way an ant build of a normal project does. (3) It dawned on me that there was no corresponding JavaMonitor-WebServerResources.tar.gz. I guess I had manually copied the relevant WebServerResources dirs over to the Apache DocumentRoot at some earlier date, and forgotten about it. *sigh* I take it the usual approach is to open port 56789 to specific hosts that require access? With Apache, I can restrict access to specific hosts AND require user authentication and authorize access only to specific users. Live and learn. :-/ - Patrick On May 4, 2012, at 2:16 PM, Pascal Robert wrote: I just did a raw installation on Ubuntu 10.04 Server (only installed Java 1.6 from Oracle and wotaskd/Monitor), and I don't get the problem you have. The path to prototype.js is : http://192.168.0.48:56789/cgi-bin/WebObjects/JavaMonitor.woa/wr/wodata=/opt/Local/Library/WebObjects/JavaApplications/JavaMonitor.woa/Contents/Frameworks/Ajax.framework/WebServerResources/prototype.js Are you trying to use Monitor under Apache? Oracle jdk-6u31-linux-x64.bin Running which JDK? Ubuntu 10.04 LTS, so Yeah. :-) On May 2, 2012, at 8:19 PM, Pascal Robert wrote: Is this on Debian? Yes, I just downloaded: http://jenkins.wocommunity.org/job/WonderIntegration/lastSuccessfulBuild/artifact/Root/Roots/JavaMonitor.tar.gz That has the same behavior (or lack thereof!). :) On May 2, 2012, at 7:48 PM, Pascal Robert wrote: That sounds like a WOFrameworksBaseUrl problems… Can you try with the build on jenkins.wocommunity.org to see if you have the same problem? I've just updated my copy of wonder's integration branch, and built JavaMonitor and friends like this: ant frameworks deployment.tools -Ddeployment.standalone=true I then moved my newly-built copy of JavaMonitor.woa/ to my deployment web server (wotaskd.woa on the machine is only a couple of days old), but when I run it and go to the Site tab, clicking any of the 3 javascript actions (HTTP Adaptor Settings, Email Notifications, Backup Site Configuration) does nothing. Up in the head section, I see: script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/prototype.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/effects.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/wonder.js/script Does the Ajax.framework's WebServerResources have to be installed separately? I guess I had hoped/assumed it would use the embedded frameworks' WS resources via resource manager calls, or something. No? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Wonder JavaMonitor problem
Using a reverse proxy is a great idea... thanks! For you folks who access JavaMonitor directly via its port, how do you *prevent* access via Apache (i.e. via .../JavaMonitor.woa/-56789) ? On May 4, 2012, at 3:34 PM, Pascal Robert wrote: Yes, I guess I've always used it via Apache -- with a devl URL, i.e. https://hostname/cgi-bin/WebObjects/JavaMonitor.woa/-56789 and protected it via Apache config directives. Because I'm accessing w/a devl URL, there's no bizarre add JavaMonitor with JavaMonitor weirdness. I'd been looking at this all morning, and learned: (1) It's not unique to Ubuntu; it's not OS-specific at all - it happens w/OSX as well. (Of course!) (2) The wonder build of JavaMonitor doesn't set -WOFrameworksBaseURL the way an ant build of a normal project does. Exact, probably because everyone says it shouldn't run under Apache :-) (3) It dawned on me that there was no corresponding JavaMonitor-WebServerResources.tar.gz. I guess I had manually copied the relevant WebServerResources dirs over to the Apache DocumentRoot at some earlier date, and forgotten about it. *sigh* I take it the usual approach is to open port 56789 to specific hosts that require access? With Apache, I can restrict access to specific hosts AND require user authentication and authorize access only to specific users. Maybe a reverse proxy (ProxyPassReverse) and blocking port 56789 outside the box would work. Live and learn. :-/ - Patrick On May 4, 2012, at 2:16 PM, Pascal Robert wrote: I just did a raw installation on Ubuntu 10.04 Server (only installed Java 1.6 from Oracle and wotaskd/Monitor), and I don't get the problem you have. The path to prototype.js is : http://192.168.0.48:56789/cgi-bin/WebObjects/JavaMonitor.woa/wr/wodata=/opt/Local/Library/WebObjects/JavaApplications/JavaMonitor.woa/Contents/Frameworks/Ajax.framework/WebServerResources/prototype.js Are you trying to use Monitor under Apache? Oracle jdk-6u31-linux-x64.bin Running which JDK? Ubuntu 10.04 LTS, so Yeah. :-) On May 2, 2012, at 8:19 PM, Pascal Robert wrote: Is this on Debian? Yes, I just downloaded: http://jenkins.wocommunity.org/job/WonderIntegration/lastSuccessfulBuild/artifact/Root/Roots/JavaMonitor.tar.gz That has the same behavior (or lack thereof!). :) On May 2, 2012, at 7:48 PM, Pascal Robert wrote: That sounds like a WOFrameworksBaseUrl problems… Can you try with the build on jenkins.wocommunity.org to see if you have the same problem? I've just updated my copy of wonder's integration branch, and built JavaMonitor and friends like this: ant frameworks deployment.tools -Ddeployment.standalone=true I then moved my newly-built copy of JavaMonitor.woa/ to my deployment web server (wotaskd.woa on the machine is only a couple of days old), but when I run it and go to the Site tab, clicking any of the 3 javascript actions (HTTP Adaptor Settings, Email Notifications, Backup Site Configuration) does nothing. Up in the head section, I see: script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/prototype.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/effects.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/wonder.js/script Does the Ajax.framework's WebServerResources have to be installed separately? I guess I had hoped/assumed it would use the embedded frameworks' WS resources via resource manager calls, or something. No? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Wonder JavaMonitor problem
I've just updated my copy of wonder's integration branch, and built JavaMonitor and friends like this: ant frameworks deployment.tools -Ddeployment.standalone=true I then moved my newly-built copy of JavaMonitor.woa/ to my deployment web server (wotaskd.woa on the machine is only a couple of days old), but when I run it and go to the Site tab, clicking any of the 3 javascript actions (HTTP Adaptor Settings, Email Notifications, Backup Site Configuration) does nothing. Up in the head section, I see: script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/prototype.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/effects.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/wonder.js/script Does the Ajax.framework's WebServerResources have to be installed separately? I guess I had hoped/assumed it would use the embedded frameworks' WS resources via resource manager calls, or something. No? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Wonder JavaMonitor problem
Yes, I just downloaded: http://jenkins.wocommunity.org/job/WonderIntegration/lastSuccessfulBuild/artifact/Root/Roots/JavaMonitor.tar.gz That has the same behavior (or lack thereof!). :) On May 2, 2012, at 7:48 PM, Pascal Robert wrote: That sounds like a WOFrameworksBaseUrl problems… Can you try with the build on jenkins.wocommunity.org to see if you have the same problem? I've just updated my copy of wonder's integration branch, and built JavaMonitor and friends like this: ant frameworks deployment.tools -Ddeployment.standalone=true I then moved my newly-built copy of JavaMonitor.woa/ to my deployment web server (wotaskd.woa on the machine is only a couple of days old), but when I run it and go to the Site tab, clicking any of the 3 javascript actions (HTTP Adaptor Settings, Email Notifications, Backup Site Configuration) does nothing. Up in the head section, I see: script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/prototype.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/effects.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/wonder.js/script Does the Ajax.framework's WebServerResources have to be installed separately? I guess I had hoped/assumed it would use the embedded frameworks' WS resources via resource manager calls, or something. No? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Wonder JavaMonitor problem
Ubuntu 10.04 LTS, so Yeah. :-) On May 2, 2012, at 8:19 PM, Pascal Robert wrote: Is this on Debian? Yes, I just downloaded: http://jenkins.wocommunity.org/job/WonderIntegration/lastSuccessfulBuild/artifact/Root/Roots/JavaMonitor.tar.gz That has the same behavior (or lack thereof!). :) On May 2, 2012, at 7:48 PM, Pascal Robert wrote: That sounds like a WOFrameworksBaseUrl problems… Can you try with the build on jenkins.wocommunity.org to see if you have the same problem? I've just updated my copy of wonder's integration branch, and built JavaMonitor and friends like this: ant frameworks deployment.tools -Ddeployment.standalone=true I then moved my newly-built copy of JavaMonitor.woa/ to my deployment web server (wotaskd.woa on the machine is only a couple of days old), but when I run it and go to the Site tab, clicking any of the 3 javascript actions (HTTP Adaptor Settings, Email Notifications, Backup Site Configuration) does nothing. Up in the head section, I see: script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/prototype.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/effects.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/wonder.js/script Does the Ajax.framework's WebServerResources have to be installed separately? I guess I had hoped/assumed it would use the embedded frameworks' WS resources via resource manager calls, or something. No? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Wonder JavaMonitor problem
Oracle jdk-6u31-linux-x64.bin Running which JDK? Ubuntu 10.04 LTS, so Yeah. :-) On May 2, 2012, at 8:19 PM, Pascal Robert wrote: Is this on Debian? Yes, I just downloaded: http://jenkins.wocommunity.org/job/WonderIntegration/lastSuccessfulBuild/artifact/Root/Roots/JavaMonitor.tar.gz That has the same behavior (or lack thereof!). :) On May 2, 2012, at 7:48 PM, Pascal Robert wrote: That sounds like a WOFrameworksBaseUrl problems… Can you try with the build on jenkins.wocommunity.org to see if you have the same problem? I've just updated my copy of wonder's integration branch, and built JavaMonitor and friends like this: ant frameworks deployment.tools -Ddeployment.standalone=true I then moved my newly-built copy of JavaMonitor.woa/ to my deployment web server (wotaskd.woa on the machine is only a couple of days old), but when I run it and go to the Site tab, clicking any of the 3 javascript actions (HTTP Adaptor Settings, Email Notifications, Backup Site Configuration) does nothing. Up in the head section, I see: script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/prototype.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/effects.js/script script src=/WebObjects/Frameworks/Ajax.framework/WebServerResources/wonder.js/script Does the Ajax.framework's WebServerResources have to be installed separately? I guess I had hoped/assumed it would use the embedded frameworks' WS resources via resource manager calls, or something. No? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca This email sent to prob...@macti.ca ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: preventing direct component access
I'm pretty sure this feature is the only mechanism by which a user can request a specific page (or component) by name. I would want to block arbitrary access to pages as well as prevent spurious session creation. But yes, there are ways to mitigate the effects. If an authenticated user is stored in the Session, then you can check for that before performing an action in invokeAction() or returning a response in appendToResponse(). And you *do* have to worry about invokeAction(), by the way: the presence of a senderID in the URL causes the component action handler to initiate the invokeAction phase. I suppose sessions with no authenticated user could even be terminated at the same time. No end to the fun! - Patrick On Apr 10, 2012, at 2:43 AM, Cheong Hee (Gmail) wrote: Hi Patrick The rationale I am asking is the way web technology is, I think we may not be able to block the arbitrary access of web pages. However, if we could use user authentication as a way to check, terminate the unwanted sessions and redirect to another stateless page, the impacts could be reduced. Correct me if wrong.. Cheers Cheong Hee - Original Message - From: Cheong Hee (Gmail) chn...@gmail.com To: Patrick Robinson p...@vt.edu Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Sent: Tuesday, April 10, 2012 12:53 PM Subject: Re: preventing direct component access Hi Patrick This is an interesting old issue. Just curious, what will be your ultimate ideal resolution to this? Bar the access of the page, or reduce the redundant sessions creation or something else ... Cheers Cheong Hee - Original Message - From: Patrick Robinson p...@vt.edu To: Amedeo Mantica amedeomant...@me.com Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Sent: Tuesday, April 10, 2012 4:52 AM Subject: Re: preventing direct component access That code represents the per-app version of the conventional wisdom that I started out questioning, below. The problem with this is that the user can specifiy a senderID (as in the URL I gave there), and then senderID() will *not* return null; in the case below, it'll be 99. On Apr 9, 2012, at 4:48 PM, Amedeo Mantica wrote: Try this in your Application.java: public WOComponent pageWithName(String pageName, WOContext context) { if((context.senderID()==null)(componentRequestHandlerKey().equals(context.request().requestHandlerKey( { log.error(Direct Access attempt); pageName=Main; } return super.pageWithName(pageName, context); } On 09/apr/2012, at 21:59, Mike Schrag wrote: Yeah, you're right ... might be kind of a pain in the butt to fix without hackery then :) On Apr 9, 2012, at 3:41 PM, Patrick Robinson wrote: But it doesn't even have to have the .wo on the end of the page name for this hack to work. If the app has a SecretPage.wo component, then a URL like this will instantiate and return it: https://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/wo/SecretPage//88.99 - Patrick On Apr 9, 2012, at 10:10 AM, Mike Schrag wrote: probably just catch any time you have a .wo in your URL and throw ... you could do it in the url rewriter or something. i don't think there's ever any reason to have a .wo reference in a normal app. ms On Apr 9, 2012, at 10:00 AM, Patrick Robinson wrote: Yeah, that _does_ sound rather annoying! :-P Is there a perhaps less-annoying way to approximate similar behavior? On Apr 5, 2012, at 2:46 PM, Mike Schrag wrote: I changed this in WO core, and unfortunately it's kind of annoying to fix without some hackery, but in WOComponentRequestHandler, there's a static method requestHandlerValuesForRequest ... That dictionary has a key named wopage in it. If you did some class rewriting (with like gluonj or something), you could change that static method to remove the wopage key ... That MIGHT be enough to do it. On Apr 5, 2012, at 2:39 PM, Patrick Robinson wrote: I've stumbled across a wrinkle re: what I had assumed to be the conventional wisdom for preventing direct access to component pages via URLs like the following: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo It's an old, old WO problem, and I'm wondering what other people do to handle it. I've always figured the best idea is to just configure the web server to catch WO URLs that end in /wo/(.+)\.wo and rewrite or redirect them. Another potential approach is to try to recognize and catch such requests in the app itself, somewhere like the Application class's pageWithName. The problem is, these solutions don't catch all the sneaky ways of slipping in a back door. Consider: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo//1.2 This ends up with Application's pageWithName trying to create a page with the name SecretPage. A new session has already been
Re: preventing direct component access
Wow, that's great, Amedeo! I hadn't paid much attention to that little corner of Project Wonder before. What is it that forces the patched PW version of that class to be loaded rather than the original WO version? On Apr 10, 2012, at 1:31 PM, Amedeo Mantica wrote: I have patched WOComponentRequestHandler and created a pull request in the wonder/integration branch then you will set the property: ERXDirectComponentAccessAllowed=false Amedeo On 10/apr/2012, at 15:14, Patrick Robinson wrote: I'm pretty sure this feature is the only mechanism by which a user can request a specific page (or component) by name. I would want to block arbitrary access to pages as well as prevent spurious session creation. But yes, there are ways to mitigate the effects. If an authenticated user is stored in the Session, then you can check for that before performing an action in invokeAction() or returning a response in appendToResponse(). And you *do* have to worry about invokeAction(), by the way: the presence of a senderID in the URL causes the component action handler to initiate the invokeAction phase. I suppose sessions with no authenticated user could even be terminated at the same time. No end to the fun! - Patrick On Apr 10, 2012, at 2:43 AM, Cheong Hee (Gmail) wrote: Hi Patrick The rationale I am asking is the way web technology is, I think we may not be able to block the arbitrary access of web pages. However, if we could use user authentication as a way to check, terminate the unwanted sessions and redirect to another stateless page, the impacts could be reduced. Correct me if wrong.. Cheers Cheong Hee - Original Message - From: Cheong Hee (Gmail) chn...@gmail.com To: Patrick Robinson p...@vt.edu Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Sent: Tuesday, April 10, 2012 12:53 PM Subject: Re: preventing direct component access Hi Patrick This is an interesting old issue. Just curious, what will be your ultimate ideal resolution to this? Bar the access of the page, or reduce the redundant sessions creation or something else ... Cheers Cheong Hee - Original Message - From: Patrick Robinson p...@vt.edu To: Amedeo Mantica amedeomant...@me.com Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Sent: Tuesday, April 10, 2012 4:52 AM Subject: Re: preventing direct component access That code represents the per-app version of the conventional wisdom that I started out questioning, below. The problem with this is that the user can specifiy a senderID (as in the URL I gave there), and then senderID() will *not* return null; in the case below, it'll be 99. On Apr 9, 2012, at 4:48 PM, Amedeo Mantica wrote: Try this in your Application.java: public WOComponent pageWithName(String pageName, WOContext context) { if((context.senderID()==null)(componentRequestHandlerKey().equals(context.request().requestHandlerKey( { log.error(Direct Access attempt); pageName=Main; } return super.pageWithName(pageName, context); } On 09/apr/2012, at 21:59, Mike Schrag wrote: Yeah, you're right ... might be kind of a pain in the butt to fix without hackery then :) On Apr 9, 2012, at 3:41 PM, Patrick Robinson wrote: But it doesn't even have to have the .wo on the end of the page name for this hack to work. If the app has a SecretPage.wo component, then a URL like this will instantiate and return it: https://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/wo/SecretPage//88.99 - Patrick On Apr 9, 2012, at 10:10 AM, Mike Schrag wrote: probably just catch any time you have a .wo in your URL and throw ... you could do it in the url rewriter or something. i don't think there's ever any reason to have a .wo reference in a normal app. ms On Apr 9, 2012, at 10:00 AM, Patrick Robinson wrote: Yeah, that _does_ sound rather annoying! :-P Is there a perhaps less-annoying way to approximate similar behavior? On Apr 5, 2012, at 2:46 PM, Mike Schrag wrote: I changed this in WO core, and unfortunately it's kind of annoying to fix without some hackery, but in WOComponentRequestHandler, there's a static method requestHandlerValuesForRequest ... That dictionary has a key named wopage in it. If you did some class rewriting (with like gluonj or something), you could change that static method to remove the wopage key ... That MIGHT be enough to do it. On Apr 5, 2012, at 2:39 PM, Patrick Robinson wrote: I've stumbled across a wrinkle re: what I had assumed to be the conventional wisdom for preventing direct access to component pages via URLs like the following: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo It's an old, old WO problem, and I'm wondering what other people do to handle it. I've always figured the best idea is to just configure the web server to catch WO
Re: preventing direct component access
Good idea, so far as I understand it. I've not yet quite grasped the distinction between the ER classes vs. the ERX classes. Also, would you register the new handler with the same old request handler key? On Apr 10, 2012, at 1:47 PM, Ramsey Gurley wrote: Commented already https://github.com/projectwonder/wonder/pull/150 On Apr 10, 2012, at 10:33 AM, Pascal Robert wrote: Le 2012-04-10 à 13:29, Amedeo Mantica a écrit : I have patched WOComponentRequestHandler and created a pull request in the wonder/integration branch then you will set the property: ERXDirectComponentAccessAllowed=false If someone wants to review it: https://github.com/projectwonder/wonder/pull/150/files Amedeo On 10/apr/2012, at 15:14, Patrick Robinson wrote: I'm pretty sure this feature is the only mechanism by which a user can request a specific page (or component) by name. I would want to block arbitrary access to pages as well as prevent spurious session creation. But yes, there are ways to mitigate the effects. If an authenticated user is stored in the Session, then you can check for that before performing an action in invokeAction() or returning a response in appendToResponse(). And you *do* have to worry about invokeAction(), by the way: the presence of a senderID in the URL causes the component action handler to initiate the invokeAction phase. I suppose sessions with no authenticated user could even be terminated at the same time. No end to the fun! - Patrick On Apr 10, 2012, at 2:43 AM, Cheong Hee (Gmail) wrote: Hi Patrick The rationale I am asking is the way web technology is, I think we may not be able to block the arbitrary access of web pages. However, if we could use user authentication as a way to check, terminate the unwanted sessions and redirect to another stateless page, the impacts could be reduced. Correct me if wrong.. Cheers Cheong Hee - Original Message - From: Cheong Hee (Gmail) chn...@gmail.com To: Patrick Robinson p...@vt.edu Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Sent: Tuesday, April 10, 2012 12:53 PM Subject: Re: preventing direct component access Hi Patrick This is an interesting old issue. Just curious, what will be your ultimate ideal resolution to this? Bar the access of the page, or reduce the redundant sessions creation or something else ... Cheers Cheong Hee - Original Message - From: Patrick Robinson p...@vt.edu To: Amedeo Mantica amedeomant...@me.com Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Sent: Tuesday, April 10, 2012 4:52 AM Subject: Re: preventing direct component access That code represents the per-app version of the conventional wisdom that I started out questioning, below. The problem with this is that the user can specifiy a senderID (as in the URL I gave there), and then senderID() will *not* return null; in the case below, it'll be 99. On Apr 9, 2012, at 4:48 PM, Amedeo Mantica wrote: Try this in your Application.java: public WOComponent pageWithName(String pageName, WOContext context) { if((context.senderID()==null)(componentRequestHandlerKey().equals(context.request().requestHandlerKey( { log.error(Direct Access attempt); pageName=Main; } return super.pageWithName(pageName, context); } On 09/apr/2012, at 21:59, Mike Schrag wrote: Yeah, you're right ... might be kind of a pain in the butt to fix without hackery then :) On Apr 9, 2012, at 3:41 PM, Patrick Robinson wrote: But it doesn't even have to have the .wo on the end of the page name for this hack to work. If the app has a SecretPage.wo component, then a URL like this will instantiate and return it: https://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/wo/SecretPage//88.99 - Patrick On Apr 9, 2012, at 10:10 AM, Mike Schrag wrote: probably just catch any time you have a .wo in your URL and throw ... you could do it in the url rewriter or something. i don't think there's ever any reason to have a .wo reference in a normal app. ms On Apr 9, 2012, at 10:00 AM, Patrick Robinson wrote: Yeah, that _does_ sound rather annoying! :-P Is there a perhaps less-annoying way to approximate similar behavior? On Apr 5, 2012, at 2:46 PM, Mike Schrag wrote: I changed this in WO core, and unfortunately it's kind of annoying to fix without some hackery, but in WOComponentRequestHandler, there's a static method requestHandlerValuesForRequest ... That dictionary has a key named wopage in it. If you did some class rewriting (with like gluonj or something), you could change that static method to remove the wopage key ... That MIGHT be enough to do it. On Apr 5, 2012, at 2:39 PM, Patrick Robinson wrote: I've stumbled across a wrinkle re: what I had assumed to be the conventional wisdom for preventing direct access to component pages via URLs like
Re: preventing direct component access
Thanks again for that. I hadn't realized it was that easy, or I'd have done it myself. Maybe next time! :-) - Patrick On Apr 10, 2012, at 2:15 PM, Amedeo Mantica wrote: I originally replaced the WOComponentRequestHandler (get loaded in the classpath before the WO one) After Ramsey Suggestion I renamed and moved to ERXComponentRequestHandler, then patched ERXApplication to assign ERXComponentRequestHandler to the componenthandler key Amedeo On 10/apr/2012, at 20:10, Ramsey Gurley wrote: Probably should be ERX to be consistent. Yeah, WO is very pluggable. You can register your own request handlers for any request handler key. Make up your own request handlers and keys if you like. WOApplication app = WOApplication.application(); app.registerRequestHandler(new ERXComponentRequestHandler(), app.componentRequestHandlerKey()); Problem solved. Ramsey On Apr 10, 2012, at 10:56 AM, Patrick Robinson wrote: Good idea, so far as I understand it. I've not yet quite grasped the distinction between the ER classes vs. the ERX classes. Also, would you register the new handler with the same old request handler key? On Apr 10, 2012, at 1:47 PM, Ramsey Gurley wrote: Commented already https://github.com/projectwonder/wonder/pull/150 On Apr 10, 2012, at 10:33 AM, Pascal Robert wrote: Le 2012-04-10 à 13:29, Amedeo Mantica a écrit : I have patched WOComponentRequestHandler and created a pull request in the wonder/integration branch then you will set the property: ERXDirectComponentAccessAllowed=false If someone wants to review it: https://github.com/projectwonder/wonder/pull/150/files Amedeo On 10/apr/2012, at 15:14, Patrick Robinson wrote: I'm pretty sure this feature is the only mechanism by which a user can request a specific page (or component) by name. I would want to block arbitrary access to pages as well as prevent spurious session creation. But yes, there are ways to mitigate the effects. If an authenticated user is stored in the Session, then you can check for that before performing an action in invokeAction() or returning a response in appendToResponse(). And you *do* have to worry about invokeAction(), by the way: the presence of a senderID in the URL causes the component action handler to initiate the invokeAction phase. I suppose sessions with no authenticated user could even be terminated at the same time. No end to the fun! - Patrick On Apr 10, 2012, at 2:43 AM, Cheong Hee (Gmail) wrote: Hi Patrick The rationale I am asking is the way web technology is, I think we may not be able to block the arbitrary access of web pages. However, if we could use user authentication as a way to check, terminate the unwanted sessions and redirect to another stateless page, the impacts could be reduced. Correct me if wrong.. Cheers Cheong Hee - Original Message - From: Cheong Hee (Gmail) chn...@gmail.com To: Patrick Robinson p...@vt.edu Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Sent: Tuesday, April 10, 2012 12:53 PM Subject: Re: preventing direct component access Hi Patrick This is an interesting old issue. Just curious, what will be your ultimate ideal resolution to this? Bar the access of the page, or reduce the redundant sessions creation or something else ... Cheers Cheong Hee - Original Message - From: Patrick Robinson p...@vt.edu To: Amedeo Mantica amedeomant...@me.com Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Sent: Tuesday, April 10, 2012 4:52 AM Subject: Re: preventing direct component access That code represents the per-app version of the conventional wisdom that I started out questioning, below. The problem with this is that the user can specifiy a senderID (as in the URL I gave there), and then senderID() will *not* return null; in the case below, it'll be 99. On Apr 9, 2012, at 4:48 PM, Amedeo Mantica wrote: Try this in your Application.java: public WOComponent pageWithName(String pageName, WOContext context) { if((context.senderID()==null)(componentRequestHandlerKey().equals(context.request().requestHandlerKey( { log.error(Direct Access attempt); pageName=Main; } return super.pageWithName(pageName, context); } On 09/apr/2012, at 21:59, Mike Schrag wrote: Yeah, you're right ... might be kind of a pain in the butt to fix without hackery then :) On Apr 9, 2012, at 3:41 PM, Patrick Robinson wrote: But it doesn't even have to have the .wo on the end of the page name for this hack to work. If the app has a SecretPage.wo component, then a URL like this will instantiate and return it: https://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/wo/SecretPage//88.99 - Patrick On Apr 9, 2012, at 10:10 AM, Mike Schrag wrote: probably just catch any time you have a .wo in your URL and throw ... you could do
Re: preventing direct component access
Yeah, that _does_ sound rather annoying! :-P Is there a perhaps less-annoying way to approximate similar behavior? On Apr 5, 2012, at 2:46 PM, Mike Schrag wrote: I changed this in WO core, and unfortunately it's kind of annoying to fix without some hackery, but in WOComponentRequestHandler, there's a static method requestHandlerValuesForRequest ... That dictionary has a key named wopage in it. If you did some class rewriting (with like gluonj or something), you could change that static method to remove the wopage key ... That MIGHT be enough to do it. On Apr 5, 2012, at 2:39 PM, Patrick Robinson wrote: I've stumbled across a wrinkle re: what I had assumed to be the conventional wisdom for preventing direct access to component pages via URLs like the following: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo It's an old, old WO problem, and I'm wondering what other people do to handle it. I've always figured the best idea is to just configure the web server to catch WO URLs that end in /wo/(.+)\.wo and rewrite or redirect them. Another potential approach is to try to recognize and catch such requests in the app itself, somewhere like the Application class's pageWithName. The problem is, these solutions don't catch all the sneaky ways of slipping in a back door. Consider: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo//1.2 This ends up with Application's pageWithName trying to create a page with the name SecretPage. A new session has already been created somewhere down inside the component request handler, it'll have a WOContext with a contextID of 0, and the senderID will be 2. You'd be hard-pressed to know that you shouldn't allow the page creation to proceed. You could try to change the web server's search pattern to also catch a slash followed by more characters after the .wo, but you'd have to be careful not to disallow sessionIDs that just happen to end in wo. And even if you could reliably block the above, the hacker could try this: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wox//1.2 (that is, add more characters after the .wo) Now that doesn't fit the pattern at all, and gets hung up in the Application's pageWithName, where a way-too-informative WOPageNotFoundException is thrown. Of course, you'd catch that somewhere like handleException(). Doesn't quite seem like the right approach, either. My point here is, there are more ways of hacking a WebObjects URL than I had previously considered. Does anyone have what they consider to be an ironclad solution to this problem? (I hate it when I discover stuff I thought I had dealt with 10 years ago is still biting me.) - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/mschrag%40pobox.com This email sent to msch...@pobox.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: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: preventing direct component access
But it doesn't even have to have the .wo on the end of the page name for this hack to work. If the app has a SecretPage.wo component, then a URL like this will instantiate and return it: https://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/wo/SecretPage//88.99 - Patrick On Apr 9, 2012, at 10:10 AM, Mike Schrag wrote: probably just catch any time you have a .wo in your URL and throw ... you could do it in the url rewriter or something. i don't think there's ever any reason to have a .wo reference in a normal app. ms On Apr 9, 2012, at 10:00 AM, Patrick Robinson wrote: Yeah, that _does_ sound rather annoying! :-P Is there a perhaps less-annoying way to approximate similar behavior? On Apr 5, 2012, at 2:46 PM, Mike Schrag wrote: I changed this in WO core, and unfortunately it's kind of annoying to fix without some hackery, but in WOComponentRequestHandler, there's a static method requestHandlerValuesForRequest ... That dictionary has a key named wopage in it. If you did some class rewriting (with like gluonj or something), you could change that static method to remove the wopage key ... That MIGHT be enough to do it. On Apr 5, 2012, at 2:39 PM, Patrick Robinson wrote: I've stumbled across a wrinkle re: what I had assumed to be the conventional wisdom for preventing direct access to component pages via URLs like the following: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo It's an old, old WO problem, and I'm wondering what other people do to handle it. I've always figured the best idea is to just configure the web server to catch WO URLs that end in /wo/(.+)\.wo and rewrite or redirect them. Another potential approach is to try to recognize and catch such requests in the app itself, somewhere like the Application class's pageWithName. The problem is, these solutions don't catch all the sneaky ways of slipping in a back door. Consider: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo//1.2 This ends up with Application's pageWithName trying to create a page with the name SecretPage. A new session has already been created somewhere down inside the component request handler, it'll have a WOContext with a contextID of 0, and the senderID will be 2. You'd be hard-pressed to know that you shouldn't allow the page creation to proceed. You could try to change the web server's search pattern to also catch a slash followed by more characters after the .wo, but you'd have to be careful not to disallow sessionIDs that just happen to end in wo. And even if you could reliably block the above, the hacker could try this: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wox//1.2 (that is, add more characters after the .wo) Now that doesn't fit the pattern at all, and gets hung up in the Application's pageWithName, where a way-too-informative WOPageNotFoundException is thrown. Of course, you'd catch that somewhere like handleException(). Doesn't quite seem like the right approach, either. My point here is, there are more ways of hacking a WebObjects URL than I had previously considered. Does anyone have what they consider to be an ironclad solution to this problem? (I hate it when I discover stuff I thought I had dealt with 10 years ago is still biting me.) - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/mschrag%40pobox.com This email sent to msch...@pobox.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: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: preventing direct component access
That code represents the per-app version of the conventional wisdom that I started out questioning, below. The problem with this is that the user can specifiy a senderID (as in the URL I gave there), and then senderID() will *not* return null; in the case below, it'll be 99. On Apr 9, 2012, at 4:48 PM, Amedeo Mantica wrote: Try this in your Application.java: public WOComponent pageWithName(String pageName, WOContext context) { if((context.senderID()==null)(componentRequestHandlerKey().equals(context.request().requestHandlerKey( { log.error(Direct Access attempt); pageName=Main; } return super.pageWithName(pageName, context); } On 09/apr/2012, at 21:59, Mike Schrag wrote: Yeah, you're right ... might be kind of a pain in the butt to fix without hackery then :) On Apr 9, 2012, at 3:41 PM, Patrick Robinson wrote: But it doesn't even have to have the .wo on the end of the page name for this hack to work. If the app has a SecretPage.wo component, then a URL like this will instantiate and return it: https://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/wo/SecretPage//88.99 - Patrick On Apr 9, 2012, at 10:10 AM, Mike Schrag wrote: probably just catch any time you have a .wo in your URL and throw ... you could do it in the url rewriter or something. i don't think there's ever any reason to have a .wo reference in a normal app. ms On Apr 9, 2012, at 10:00 AM, Patrick Robinson wrote: Yeah, that _does_ sound rather annoying! :-P Is there a perhaps less-annoying way to approximate similar behavior? On Apr 5, 2012, at 2:46 PM, Mike Schrag wrote: I changed this in WO core, and unfortunately it's kind of annoying to fix without some hackery, but in WOComponentRequestHandler, there's a static method requestHandlerValuesForRequest ... That dictionary has a key named wopage in it. If you did some class rewriting (with like gluonj or something), you could change that static method to remove the wopage key ... That MIGHT be enough to do it. On Apr 5, 2012, at 2:39 PM, Patrick Robinson wrote: I've stumbled across a wrinkle re: what I had assumed to be the conventional wisdom for preventing direct access to component pages via URLs like the following: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo It's an old, old WO problem, and I'm wondering what other people do to handle it. I've always figured the best idea is to just configure the web server to catch WO URLs that end in /wo/(.+)\.wo and rewrite or redirect them. Another potential approach is to try to recognize and catch such requests in the app itself, somewhere like the Application class's pageWithName. The problem is, these solutions don't catch all the sneaky ways of slipping in a back door. Consider: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo//1.2 This ends up with Application's pageWithName trying to create a page with the name SecretPage. A new session has already been created somewhere down inside the component request handler, it'll have a WOContext with a contextID of 0, and the senderID will be 2. You'd be hard-pressed to know that you shouldn't allow the page creation to proceed. You could try to change the web server's search pattern to also catch a slash followed by more characters after the .wo, but you'd have to be careful not to disallow sessionIDs that just happen to end in wo. And even if you could reliably block the above, the hacker could try this: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wox//1.2 (that is, add more characters after the .wo) Now that doesn't fit the pattern at all, and gets hung up in the Application's pageWithName, where a way-too-informative WOPageNotFoundException is thrown. Of course, you'd catch that somewhere like handleException(). Doesn't quite seem like the right approach, either. My point here is, there are more ways of hacking a WebObjects URL than I had previously considered. Does anyone have what they consider to be an ironclad solution to this problem? (I hate it when I discover stuff I thought I had dealt with 10 years ago is still biting me.) - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/mschrag%40pobox.com This email sent to msch...@pobox.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
preventing direct component access
I've stumbled across a wrinkle re: what I had assumed to be the conventional wisdom for preventing direct access to component pages via URLs like the following: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo It's an old, old WO problem, and I'm wondering what other people do to handle it. I've always figured the best idea is to just configure the web server to catch WO URLs that end in /wo/(.+)\.wo and rewrite or redirect them. Another potential approach is to try to recognize and catch such requests in the app itself, somewhere like the Application class's pageWithName. The problem is, these solutions don't catch all the sneaky ways of slipping in a back door. Consider: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wo//1.2 This ends up with Application's pageWithName trying to create a page with the name SecretPage. A new session has already been created somewhere down inside the component request handler, it'll have a WOContext with a contextID of 0, and the senderID will be 2. You'd be hard-pressed to know that you shouldn't allow the page creation to proceed. You could try to change the web server's search pattern to also catch a slash followed by more characters after the .wo, but you'd have to be careful not to disallow sessionIDs that just happen to end in wo. And even if you could reliably block the above, the hacker could try this: http://myhost.mydomain/cgi-bin/WebObjects/MyApp.woa/-9876/wo/SecretPage.wox//1.2 (that is, add more characters after the .wo) Now that doesn't fit the pattern at all, and gets hung up in the Application's pageWithName, where a way-too-informative WOPageNotFoundException is thrown. Of course, you'd catch that somewhere like handleException(). Doesn't quite seem like the right approach, either. My point here is, there are more ways of hacking a WebObjects URL than I had previously considered. Does anyone have what they consider to be an ironclad solution to this problem? (I hate it when I discover stuff I thought I had dealt with 10 years ago is still biting me.) - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Why the web is a mess
Thanks for this, Ian. It looks like the entire series, including hi-res (480p) video, is hosted here: http://yuiblog.com/crockford/ - Patrick On Mar 20, 2012, at 8:46 AM, Ian Joyner wrote: Did you get the HD version, which I think is on the site I sent. I'm just rewatching Part V. Wow the web really is bad! Ian On 20 Mar 2012, at 22:19, James Cicenia wrote: Just watched the first chapter... long, bad sound, but wonderful. I am definitely looking forward to the rest. Thanks! James On Mar 18, 2012, at 5:21 PM, Ian Joyner wrote: This may be off topic, but it is really on topic. If you have not caught up with this video series by Crockford on Javascript, it is well worth watching: http://net.tutsplus.com/tutorials/javascript-ajax/crockford-on-javascript-the-complete-series/ which is about far more than just Javascript. It is about why programmers are resistant to new ideas, how we usually end up with messes (JS in particular), language design, and subtly why C and C++ are poor languages (and Java as well). Oh, yeah, and why the web is such a mess (just bad ideas done quickly and a great perspective on the lasting effect of the browser wars). This series is well worth watching for the insights it has into our profession. I think the WO community will find them very interesting. Ian ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
veogen.jar issue
Is anyone else using Mike's veogen.jar command-line executable jar? It seems that the set of options it uses is different from the set used by the WOLips-internal eogenerator. For example, the internal one uses -javaTemplate and -subclassJavaTemplate, but veogen.jar instead uses -superclassTemplate and -subclassTemplate. What this means is that you can't use your regular .eogen config files with veogen.jar. Do we have the source for veogen.jar and/or is anyone maintaining it? i.e. can we fix this? :-) - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: What wonder branch is what?
How would you later update your repository with the latest changes from github.com? Sorry - git newbie here. Just trying to wrap my head around how to manage Wonder source changes. - Patrick On Dec 13, 2011, at 10:23 PM, Kieran Kelleher wrote: FYI, If you want to have a simple uncluttered life, you can use a couple of quick git commands to only clone the master branch and leave all the other legacy stuff behind. The trick is to manually add the remote specifying only the remote branches you are interested in tracking with the -t option. For example, a non-committer would do the following (for committers, just the url changes slightly to the ssh variant) mkdir wonder cd wonder git init git remote add -t master origin git://github.com/projectwonder/wonder.git git fetch git checkout master Next, continue with uncluttered git life and a more simple 'git branch -avv' output. :-) Regards, Kieran On Dec 13, 2011, at 6:22 PM, Chuck Hill wrote: origin/master is what you want. On 2011-12-13, at 3:19 PM, G Brown wrote: Hi, There are so many branches: origin/HEAD - origin/master origin/Wonder_1_0_0_Branch origin/Wonder_1_0_1_Branch origin/Wonder_2_0_0_Branch origin/Wonder_2_0_0_WebObjects_5_4_Branch origin/Wonder_2_0_1_Branch origin/Wonder_2_0_2_Branch origin/Wonder_3_0_0_Branch origin/Wonder_4_0_0_Branch origin/Wonder_4_5_0_Branch origin/Wonder_5_0_0_Legacy origin/Wonder_5_0_0_WebObjects_5_3_Branch origin/Wonder_5_0_0_WebObjects_5_4_3_1_Branch origin/Wonder_5_0_0_WebObjects_5_4_Branch origin/Wonder_5_0_0_WebObjects_5_5_Branch origin/Wonder_5_0_0_WebObjects_5_6_Branch origin/Wonder_for_Maven_experiments origin/gh-pages origin/master origin/patrice What is the difference between master and origin/Wonder_5_0_0_WebObjects_5_4_Branch ? origin/Wonder_5_0_0_Legacy and origin/Wonder_5_0_0_WebObjects_5_3_Branch ? origin/Wonder_5_0_0_WebObjects_5_4_3_1_Branch and origin/Wonder_5_0_0_WebObjects_5_4_Branch ? 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/chill%40global-village.net This email sent to ch...@global-village.net -- 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/kelleherk%40gmail.com This email sent to kelleh...@gmail.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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: half solved, Re: having weird build and run issues...
I don't think the Wonder source BUILD.txt file is correct (or at least, it's not sufficient). It says: 3. A wobuild.properties file should be placed in, on Mac OS X, the ~/Library directory. You can also symlink ~/Library/wobuild.properties to your existing ~/Library/Application Support/WOLips/wolips.properties Sure, you can *do* that, but it isn't going to accomplish anything unless ant knows to go read your ~/Library/wobuild.properties But BUILD.txt doesn't tell you that. Also under (3) it says: -- An example of this file is: START wobuild.properties wo.woroot=/ wo.wosystemroot=/System wo.wolocalroot=/ END wobuild.properties These may, or may not, be necessary for some functionality: START wobuild.properties, perhaps wo.dir.root=/ wo.dir.user.home.library.frameworks=/User/yourname/Library/Frameworks wo.dir.local=/ wo.dir.library=/System/Library wo.dir.user.home.library=/User/yourname/Library wo.dir.local.library=/Library wo.dir.library.frameworks=/System/Library/Frameworks wo.dir.local.library.frameworks=/Library/Frameworks wo.dir.system=/System END wobuild.properties, perhaps -- That doesn't seem correct, either, and in fact, when I tried to build the frameworks with a property file with these property names, it failed, as though I hadn't specified a property filename at all. In order to successfully build this stuff, I ended up doing this: ant -propertyfile ~/Library/Application\ Support/WOLips/wolips.543.properties frameworks This file (the same one I use with Eclipse, and for command-line ant builds) specifies properties such as: wo.system.frameworks=/Developer/WebObjects/Versions/WebObjects543/System/Library/Frameworks wo.system.root=/Developer/WebObjects/Versions/WebObjects543/System wo.local.frameworks=/Developer/WebObjects/Versions/WebObjects543/Library/Frameworks wo.local.root=/Developer/WebObjects/Versions/WebObjects543 Using this standard wolips.543.properties property file, I can also install my newly built Wonder frameworks like this: ant -propertyfile ~/Library/Application\ Support/WOLips/wolips.543.properties frameworks.install and it copies the various bits to the right places under my /Developer/WebObjects/Versions/WebObjects543 Perhaps it'd be worth someone's time to update BUILD.txt with more current info. If I thought I understood well enough what the intent is, and what changed, and why, I'd be happy to do it myself. :-) - Patrick On Jan 18, 2012, at 11:23 AM, Pascal Robert wrote: Le 2012-01-18 à 11:12, James Cicenia a écrit : Looks like Wonder binaries and Wonder Source didn't play well together. So I deleted all the binaries and imported the couple dozen I needed. You NEED the binaries when you build with Ant. The incremental builder inside Eclipse will use the source if you have the code opened in Eclipse, but Ant will always use the installed framework. So try to build and install Wonder from source (check the BUILD.txt file for details) to see if it fixes both of your problems. That solved the ERXKeyFilter issue and it now works great in development. BUT, When I run a build it still gives me: BUILD FAILED /Users/jcicenia/Documents/workspace/BlessingsApp/build.xml:212: The framework name 'ERCoolComponents' does not exist. It does exist I tell you! James On Jan 18, 2012, at 7:19 AM, Pascal Robert wrote: Sounds like problems mixing Wonder for WO 5.4 and using WO 5.3. Are you using WO 5.4 everywhere? I can't seem to build with ERCoolComponents for deployment. And now when doing some work on a REST Controller I am getting this error: Show is [ERXKeyFilter: base=Attributes; includes={mainImage=[ERXKeyFilter: base=None; includes={webPath=[ERXKeyFilter: base=None]}], thumbnailImage=[ERXKeyFilter: base=None; includes={webPath=[ERXKeyFilter: base=None]}]}] Jan 17 18:56:20 BlessingsApp[6789] ERROR er.rest.routes.ERXRouteController - Request failed: /cgi-bin/WebObjects/BlessingsApp.woa/ra/Quotation NoSuchMethodError: er.extensions.eof.ERXKeyFilter.includes()Lcom/webobjects/foundation/NSDictionary; at er.rest.ERXRestRequestNode._addAttributesAndRelationshipsForObjectOfEntity(ERXRestRequestNode.java:772) at er.rest.ERXRestRequestNode._fillInWithObjectAndFilter(ERXRestRequestNode.java:866) at er.rest.ERXRestRequestNode._fillInWithObjectAndFilter(ERXRestRequestNode.java:840) at er.rest.ERXRestRequestNode.requestNodeWithObjectAndFilter(ERXRestRequestNode.java:1165) All this started when I imported some Wonder frameworks into my workspace, etc. Help James ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev
eclipse/helios SR2 hanging on Component save
Hi folks, I'm having terrible problems with Eclipse (Helios SR2, i.e. 3.6.2), installed via eclipse-java-helios-SR2-macosx-cocoa-x86_64.tar.gz. Almost every time I try to save after editing a WO Component, it hangs, and I have to force quit, losing my changes. Currently, it's using WOLips 3.6.70245. Is this a known problem, and/or has my installation become somehow wedged? - Patrick ___ Do not post admin requests to the list. They will 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: eclipse/helios SR2 hanging on Component save
So it was a *known* problem, then? I just installed 3.7.1, and don't have The Problem there, either. Thanks, guys. - Patrick On Oct 3, 2011, at 2:35 PM, David Holt wrote: Just seconding that this problem IS solved by moving to 3.7 David On 2011-10-03, at 11:19 AM, Paul Yu wrote: Patrick I don't have these problems using Version: 3.7.0 Build id: I20110613-1736, with the latest WOLips 3.7 Paul On Oct 3, 2011, at 2:14 PM, Patrick Robinson wrote: Hi folks, I'm having terrible problems with Eclipse (Helios SR2, i.e. 3.6.2), installed via eclipse-java-helios-SR2-macosx-cocoa-x86_64.tar.gz. Almost every time I try to save after editing a WO Component, it hangs, and I have to force quit, losing my changes. Currently, it's using WOLips 3.6.70245. Is this a known problem, and/or has my installation become somehow wedged? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pyu%40mac.com This email sent to p...@mac.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.com This email sent to programming...@mac.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Will a 5.3.3 application work on snow leopard server?
+1 This is what we've been doing, too. It's nice not having to worry about what's installed on the server (because *nothing* is installed on the server). - Patrick On Aug 30, 2011, at 7:59 AM, Kieran Kelleher wrote: I have some Snow Leopard servers which have WO 5.4.3 installed, but there are a few apps that are running on WO 5.3.3 with all the WO 5.3.3 frameworks embedded. Apache 2.2 with the adaptor from dimension prebuilts. IMHO, the fastest way to get up and running without worry about 5.3.3/5.4.3 compatibility would be 1) Toss the 5.3.3 frameworks, wotaskd and womonitor on that new machine. 2) Download and install prebuilt fully embedded Wonder wotaskd and womonitor from Hudson build server. 3) Embed the WO 5.3.3 frameworks in your application bundle and just deploy it. If you do this you will have no WO 5.4.3 forced migration to worry about. On Aug 30, 2011, at 12:29 AM, Mr. G Brown wrote: Hi, Background: Today a server broke; it won't even boot. I am busily setting up a new Snow Leopard server. I used the server migration script to migrate most of the settings from an OS X 10.4.11 server to the new Snow Leopard server. The frameworks for web objects 5.3.3 were moved by the migration script. I have a 5.3.3 application, and I guessed that the Apache adapter interface for WebObjects may be similar enough to work with 5.3.3 applications. I installed the mod_WebObjects.so for Apache 2.2. The application seems to run fine when I launch it with a command similar to: sudo -u appserver /path/to/app/Foo.woa/Foo -WOPort 2001 -WOCachingEnabled YES - WODebuggingEnabled NO ... Wotaskd will not start up; I get the following error: java.lang.NoClassDefFoundError: com/webobjects/monitor/_private/MSiteConfig Something is wrong somewhere. So I guess I am asking the following questions: 1. Will the migrated 5.3.3 frameworks ever work with Apache 2.2 on Snow Leopard? It would be temporary until I convert to 5.4.3. 2. Will a 5.3.3 application with D2W easily convert to a 5.4.3 application? I seem to recall there may be problems, but maybe not. Thanks for any info, ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com This email sent to kelleh...@gmail.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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: Question about 1-to-many relationship
Yes, please do! I've suffered from this same problem, and ended up working around it by just changing how the user interacts with the app to something less desirable and more clunky. - Patrick On Jul 13, 2011, at 7:45 PM, Chuck Hill wrote: Please let us know what you find out. Chuck On 2011-07-13, at 4:39 PM, Ricardo J. Parada wrote: Well I'm not so sure yet... :-) I'm backed out my change today. After more testing another case was found were EOF was misbehaving and I was able to fix it today by backing this out. The weird thing is that the other bug that this was supposed to fix is not reproducible. But other things in the UI of the app changed. So who knows. I'm seriously questioning whether this code was really needed. I really don't have any scientific proof. :-) So I'm just gonna wait and see how it goes on the testing. :-) Thanks On Jul 13, 2011, at 6:41 PM, Chuck Hill wrote: Hi Richardo, On 2011-07-07, at 7:09 PM, Ricardo J. Parada wrote: Hi Ramsey, I did not know about ERXEOControlUtilities.editableInstanceOfObject(). It seems to be doing some interesting stuff. :-) But it's not doing an insertObject() if the eo is a new object. So if I try using ERXEOControlUtilities.editableInstanceOfObject() then the problem comes back and it is 100% reproducible in my app. Then I put my code back and things work like a champ. So I'm sticking with my code for now. Maybe someone with a better understanding of the EOF internals can comment on this and if I'm right that the insertObject() is needed then maybe we should patch ERXEOControlUtilities.editableInstanceOfObject() to do an insertObject() and I would be glad to use it. Here's a revised version of my code that local instances the object: // Copy document to child editing context +++boolean isNewObject = document.isNewObject(); document = document.localInstanceIn(childEditingContext); +++if (isNewObject) { +++childEditingContext.insertObject(document); +++} --- The question is: When local instancing a new eo (that's never been saved to the database) into a child editing context, does the local instance of the eo need to be inserted into the child editing context? Answer: ??? Mike do you know?? ;-) Generally the answer is No. Or should be no. I think you have found a bug in EOF with how it handles new objects in child ECs and new objects related in that EC. See, when I asked the child editing context for the insertedObjects() and noticed that the eo was missing from there it occurred to me that I was violating an EOF commandment that says that you have to insert the eo before you start using it. It has been inserted into the parent editing context but not in the child editing context. So we all know that when we violate EOF commandments then weird things happen at random. Which is what seemed to be happening here. Anyways, I'll leave the question open to see if somebody has the answer to it. I'd need to do more research to give you a definitive answer. What you are doing sounds like it is working around a bug in EOF. I don't know if your work around could cause other problems or not. Chuck On Jul 7, 2011, at 7:12 PM, Ramsey Gurley wrote: Hi Ricardo, I've never had the problem you are seeing, but it sounds interesting. I see in ERXEOControlUtilities.editableInstanceOfObject that willRead() is called on the EO immediately after localInstance... it would be interesting to know if this solves the problem as well. Ramsey On Jul 7, 2011, at 4:02 PM, Ricardo J. Parada wrote: I have the to-many delete rule set to Cascade. I changed it to No Action but it was still misbehaving. BUT, I think I figured it out. Let me tell the whole story. :-) I inserted the document object into an editing context. This document has no children in the to-many relationship yet and it has never been saved to the database. The user then clicks a link to open an AjaxModalDialog (AMD). When this happens the document object is localInstanced into a child editing context. So I then add two children to the to-many and then removed one of them. Then when the user clicks DONE in the AMD I then save the changes to the parent editing context, the AMD closes and the user may continue editing other aspects of the document there. Then the user saves there and changes are saved to the database. Well, it turns out that when I local instanced the document into the child editing context I also need to call insertObject on the child editing context to insert the document there. I noticed this as the possible culprit because when I asked the child editing context for the insertedObjects() the document object did not appear in the list. So basically I changed my code that local
Re: Apple Representation On WebObjects-Dev Mailing List?
I remember the first time I saw a DECwriter II, after a couple of years of using a Western Union teletype (with paper tape punch!) that used a 110 baud modem with acoustic coupler for the telephone handset to connect to the mainframe. A VT52 would have seemed like magic indeed! :-) - Patrick On Jul 6, 2011, at 6:03 PM, Chuck Hill wrote: I remember the first time I saw a CRT terminal that used a 110 baud modem to connect to the mainframe. All, the unrivalled potential that platform promised! An iPad would have seemed like magic indeed! On 2011-07-06, at 3:52 PM, Alan Ward wrote: On Jul 6, 2011, at 2:38 PM, Joel M. Benisch wrote: Oh how I miss the well defined structure of the RPG II processing cycle. Was so simple and elegant.. And easy to learn!! :-) And being able to pick up a card and read it by interpreting the hole punches in your head was the geek's equivalent of winning the Super Bowl Either that or being able to toggle in the boot sequence on a PDP11 without referring to any manuals. Ah, the good ol' days. Alan Those were the days -- Joel M. Benisch CPCU, President 973-992-6300 x303 PaperFree Corporation 973-992- FAX 909 Regal Boulevard j...@paperfree.net Livingston, NJ 07039-8249 WE CREATE PRODUCTS WE WOULD WANT TO USE! On Jul 6, 2011, at 4:25 PM, Chuck Hill wrote: On 2011-07-06, at 1:57 PM, Karl wrote: I see it every day at the airport. Was that a CICS exception or VSAM issue? Oh...wow...no it was a ‘RTSO’ exception. (Real time sharing option for you youngsters...now I am really ageing myself). And bringing back long suppressed memories for some of us. Can you believe that they charged $2-3k per year for your terminal to respond in some semblance of real time? Karl On Jul 6, 2011, at 8:51 PM, Petite Abeille wrote: On Jul 6, 2011, at 7:33 PM, Ken Anderson wrote: To me, just the fact that WebObjects has been around since 1996 (15 years!) means that it has more legs than any other tool I can think of. Rumor has it that COBOL is still going strong in some less travelled corner of Elbonia :)) ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/kgretton%40mac.com This email sent to kgret...@mac.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net This email sent to ch...@global-village.net -- 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/jmb%40paperfree.net This email sent to j...@paperfree.net ___ Do not post admin requests to the list. They will 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 aw...@apple.com -- 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/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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
Re: Apple Representation On WebObjects-Dev Mailing List?
On Jul 6, 2011, at 8:50 PM, Chuck Hill wrote: On 2011-07-06, at 6:10 PM, Patrick Robinson wrote: I remember the first time I saw a DECwriter II, after a couple of years of using a Western Union teletype (with paper tape punch!) that used a 110 baud modem with acoustic coupler for the telephone handset to connect to the mainframe. A VT52 would have seemed like magic indeed! :-) Wow. I'd forgotten the name of it but I am pretty sure that VT52 is correct! See, _I'm_ so old that I *remember* the name of the VT52. Chuck, however, is so old that he's *forgotten* it! (My wife asks, Which is older? That's difficult to say...) :-) - Patrick Chuck - Patrick On Jul 6, 2011, at 6:03 PM, Chuck Hill wrote: I remember the first time I saw a CRT terminal that used a 110 baud modem to connect to the mainframe. All, the unrivalled potential that platform promised! An iPad would have seemed like magic indeed! On 2011-07-06, at 3:52 PM, Alan Ward wrote: On Jul 6, 2011, at 2:38 PM, Joel M. Benisch wrote: Oh how I miss the well defined structure of the RPG II processing cycle. Was so simple and elegant.. And easy to learn!! :-) And being able to pick up a card and read it by interpreting the hole punches in your head was the geek's equivalent of winning the Super Bowl Either that or being able to toggle in the boot sequence on a PDP11 without referring to any manuals. Ah, the good ol' days. Alan Those were the days -- Joel M. Benisch CPCU, President 973-992-6300 x303 PaperFree Corporation 973-992- FAX 909 Regal Boulevard j...@paperfree.net Livingston, NJ 07039-8249 WE CREATE PRODUCTS WE WOULD WANT TO USE! On Jul 6, 2011, at 4:25 PM, Chuck Hill wrote: On 2011-07-06, at 1:57 PM, Karl wrote: I see it every day at the airport. Was that a CICS exception or VSAM issue? Oh...wow...no it was a ‘RTSO’ exception. (Real time sharing option for you youngsters...now I am really ageing myself). And bringing back long suppressed memories for some of us. Can you believe that they charged $2-3k per year for your terminal to respond in some semblance of real time? Karl On Jul 6, 2011, at 8:51 PM, Petite Abeille wrote: On Jul 6, 2011, at 7:33 PM, Ken Anderson wrote: To me, just the fact that WebObjects has been around since 1996 (15 years!) means that it has more legs than any other tool I can think of. Rumor has it that COBOL is still going strong in some less travelled corner of Elbonia :)) ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/kgretton%40mac.com This email sent to kgret...@mac.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net This email sent to ch...@global-village.net -- 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/jmb%40paperfree.net This email sent to j...@paperfree.net ___ Do not post admin requests to the list. They will 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 aw...@apple.com -- 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
Re: [Wonder-disc] new wolips and wonder --
On Nov 27, 2010, at 11:36 AM, David LeBer wrote: As always TANSTAAFL applies. Wow I haven't seen THAT in a long time! But still, it sounds like Linode is a fair dinkum thinkum, eh? :-) - Patrick ___ Do not post admin requests to the list. They will 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: Embedding FOP: resolving 'href' and 'url' references
Hi Paul, I just saw this (late to the party). I solved this for one of our apps in a way very similar to what you have there: public class XSLURIResolver implements URIResolver { public Source resolve(String href, String base) throws TransformerException { StringBuffer path = new StringBuffer(WOApplication.application().path()); path.append(/Contents/Resources/); path.append(href); File file = new File(path.toString()); if(file.exists()) return new StreamSource(file); return null; } } This works whether it's running on development or deployment machine, and whether from Eclipse or from command line. - Patrick On Sep 14, 2010, at 9:25 PM, Paul Hoadley wrote: On 14/09/2010, at 10:01 PM, Q wrote: Unless FOP supports some kind of resource resolution delegate Thanks for the idea. It turns out that FOP does indeed support custom URI resolvers. I created a subclass of FOURIResolver which just overrides resolve(String, String), and returns a StreamSource by calling WOResourceManager.inputStreamForResourceNamed(): public class WOURIResolver extends FOURIResolver { @Override public Source resolve(java.lang.String href, java.lang.String base) throws javax.xml.transform.TransformerException { return new StreamSource(WOApplication.application().resourceManager().inputStreamForResourceNamed(href, null, null)); } } (Obviously this is an incomplete proof of concept. That method would certainly need to call super.resolve() at some point if the WOResourceManager can't find the resource, as it's effectively swallowing up all _other_ URI references. I just happen to have none in this particular situation.) Passing one of these to TransformerFactory.setURIResolver() sorts out the xsl:import issue, and to FopFactory.setURIResolver() sorts out the fo:external-graphic problem. Have a look at the source for ERPDFGeneration in wonder for how this problem is currently handled. If you aren't tied to using FOP you may wish to try using it instead. As an aside, I'm only tied to FOP to the extent that I have an existing XSLFO solution for simple invoice generation that I currently use with RenderX's XEP. The cost of embedding XEP for this particular application is prohibitive. FOP seemed like an interesting alternative if I could get it to work. I haven't looked at it since about version 0.2, and it seems to be doing well enough to render the very simple documents I'm throwing at it here. And the price is right. -- Paul. http://logicsquad.net/ ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: [Wonder-disc] Ant Instal Failed to process eclipse frameworks
I don't think I understand, either. Is your WO 5.3.3 installed under something like /Developer/WebObjects/Versions/WebObjects533/ (which your original email hinted at)? Or is it installed in the default location of / (as your 533 set up below suggests)? What does your wolips.properties file contain? On May 17, 2010, at 9:13 AM, Gino Pacitti wrote: Hi Pascal I set up my file system using this page: http://wiki.objectstyle.org/confluence/display/WOL/Using+WOLips+With+Multiple+Versions+of+WebObjects So depending which properties file I use I have - 533 set up /Library - WebObjects --Applications (empty) --Extensions axis-ant.jar axis.jar commons-discovery.jar commons-logging.jar jaxpc.jar log4j-1.2.8.jar saaj.jar wsdl.jar --lib JavaXML.jar JavaDirectToWeb.jar JavaDTWGeneration.jar JavaEOAccess.jar JavaEOApplication.jar JavaEOControl.jar JavaEODistribution.jar JavaEOGeneration.jar JavaEOInterface.jar JavaEOInterfaceCocoa.jar JavaEOInterfaceSwing.jar JavaEOProject.jar JavaEORuleSystem.jar JavaFoundation.jar JavaJDBCAdaptor.jar JavaJNDIAdaptor.jar JavaWebObjects.jar JavaWebServicesClient.jar JavaWebServicesGeneration.jar JavaWebServicesSupport.jar JavaWOExtensions.jar JavaWOJSPServlet.jar /System -Library -- Frameworks JavaDirectToWeb.framework JavaDTWGeneration.framework JavaEOAccess.framework JavaEOApplication.framework JavaEOCocoa.framework JavaEOControl.framework JavaEODistribution.framework JavaEOGeneration.framework JavaEOInterface.framework JavaEOInterfaceCocoa.framework JavaEOInterfaceSwing.framework JavaEOProject.framework JavaEORuleSystem.framework JavaFoundation.framework JavaJDBCAdaptor.framework JavaJNDIAdaptor.framework JavaWebObjects.framework JavaWebServicesClient.framework JavaWebServicesGeneration.framework JavaWebServicesSupport.framework JavaWOExtensions.framework JavaWOJSPServlet.framework JavaXML.framework -- PrivateFrameworks EOPlaceholders.framework JavaMonitor.framework --WebObjects ---Adaptors Apache CGI ---JavaApplications JavaMonitor.woa wotaskd.woa ---WODocumentRoot WebObjects Frameworks Java Javamonitor On 17 May 2010, at 13:47, Pascal Robert wrote: What do you have in /Library/Java/Extensions and /Library/WeObjects/Extensions? Dave I dunno what I am doing wrong but I am having a lot of issues with a standard Eclipse/WOLips install I upgraded to Galileo and WOLips 3.5. Templates don't work and I cant seem to add WO Frameworks to the Build Path as they are just not there... Is it supposed to be this difficult? :) Any suggestions... Gino On 17 May 2010, at 12:08, David Avendasora wrote: Gino, WOLips 3.4 is old, and has bugs that will not be fixed, so I highly recommend moving to Eclipse/WOLips 3.5. And 3.6 seems to be pretty stable too. Since you are just getting started with Eclipse you really should use a more current version. Dave On May 17, 2010, at 6:38 AM, Gino Pacitti wrote: OK..so done Galileo with WOlips 3.5 - which was not a good idea as it just gave lots of errors. Reinstalled Gannymede and WoLips 3.4 (that works - nightly build update was for Galileo so broke my Eclipse 3.4 system) So I have a default installation of Eclipse 3.4 and wolips 3.4 Used the 533 and 534 sets of Frameworks and FileSystem/Properties etc.. to do 2 version development. I create a Wonder Application and can build and run with browser opening with Hello World but now - I go to do a Ant Instal to build a deployment application and it stops and gives this error? Failed to process eclipse frameworks: org.apache.xerces.dom.DeferredAttrImpl.getTextContent()Ljava/lang/ String; Why? Any ideas please help... Gino On 16 May 2010, at 21:41, David Avendasora wrote: On May 16, 2010, at 4:34 PM, Gino Pacitti wrote: Hi David I created a new WO Application using the new menu item. (An aside here and maybe not connected is that the only way to create a new WOApplication was to use the wizard - and then it did not give me any input boxes to add the package names as the tutorials seem to indicate. It just allowed the project name and then a default project was created. I then had to refactor the package names for the components etc..) Ah. You clicked Finish instead of Next when you created it. The screens to change those options are optional as far as Eclipse is concerned and it allows you to skip them. While I can't think of how this would cause the issue you are currently having, I'd suggest starting over at this point, and do yourself a favor and start with a project based on Wonder. It does so much for you. Dave But then Building and running seem to work ok as it auto launches in the Browser with HelloWorld. My problem is the console error message and subsequent exit giving the reason as this : BUILD FAILED
Re: [Wonder-disc] Ant Instal Failed to process eclipse frameworks
Oh, OK. Well, the original ant error message was Failed to process eclipse frameworks, which sounds like it can't find a framework. Try running ant with -verbose, and see if it tells you what framework it can't find. - Patrick On May 17, 2010, at 10:17 AM, Gino Pacitti wrote: Hi ... Just for simplicity I used the 533 without the full path... It is as I originally said /Developer/WebObjects/Versions/WebObjects533/ Sorry for any confusion... Properties file here: wo.network.root=/Network wo.system.root=/Developer/WebObjects/Versions/WebObjects533/System wo.local.root=/Developer/WebObjects/Versions/WebObjects533 wo.user.root=/Users/user wo.network.frameworks=/Network/Library/Frameworks wo.system.frameworks=/Developer/WebObjects/Versions/WebObjects533/System/Library/Frameworks wo.local.frameworks=/Developer/WebObjects/Versions/WebObjects533/Library/Frameworks wo.user.frameworks=/Users/user/Library/Frameworks wo.bootstrapjar=/Developer/WebObjects/Versions/WebObjects533/System/Library/WebObjects/JavaApplications/wotaskd.woa/WOBootstrap.jar wo.extensions=/Developer/WebObjects/Versions/WebObjects533/Library/WebObjects/Extensions wo.apps.root=/Developer/WebObjects/Versions/WebObjects533/Library/WebObjects/Applications wo.api.root=/Developer/Documentation/DocSets/com.apple.ADC_Reference_Library.WebObjectsReference.docset/Contents/Resources/Documents/documentation/InternetWeb/Reference/WO533Reference Gino On 17 May 2010, at 15:14, Patrick Robinson wrote: I don't think I understand, either. Is your WO 5.3.3 installed under something like /Developer/WebObjects/Versions/WebObjects533/ (which your original email hinted at)? Or is it installed in the default location of / (as your 533 set up below suggests)? What does your wolips.properties file contain? On May 17, 2010, at 9:13 AM, Gino Pacitti wrote: Hi Pascal I set up my file system using this page: http://wiki.objectstyle.org/confluence/display/WOL/Using+WOLips+With+Multiple+Versions+of+WebObjects So depending which properties file I use I have - 533 set up /Library - WebObjects --Applications (empty) --Extensions axis-ant.jar axis.jar commons-discovery.jar commons-logging.jar jaxpc.jar log4j-1.2.8.jar saaj.jar wsdl.jar --lib JavaXML.jar JavaDirectToWeb.jar JavaDTWGeneration.jar JavaEOAccess.jar JavaEOApplication.jar JavaEOControl.jar JavaEODistribution.jar JavaEOGeneration.jar JavaEOInterface.jar JavaEOInterfaceCocoa.jar JavaEOInterfaceSwing.jar JavaEOProject.jar JavaEORuleSystem.jar JavaFoundation.jar JavaJDBCAdaptor.jar JavaJNDIAdaptor.jar JavaWebObjects.jar JavaWebServicesClient.jar JavaWebServicesGeneration.jar JavaWebServicesSupport.jar JavaWOExtensions.jar JavaWOJSPServlet.jar /System -Library -- Frameworks JavaDirectToWeb.framework JavaDTWGeneration.framework JavaEOAccess.framework JavaEOApplication.framework JavaEOCocoa.framework JavaEOControl.framework JavaEODistribution.framework JavaEOGeneration.framework JavaEOInterface.framework JavaEOInterfaceCocoa.framework JavaEOInterfaceSwing.framework JavaEOProject.framework JavaEORuleSystem.framework JavaFoundation.framework JavaJDBCAdaptor.framework JavaJNDIAdaptor.framework JavaWebObjects.framework JavaWebServicesClient.framework JavaWebServicesGeneration.framework JavaWebServicesSupport.framework JavaWOExtensions.framework JavaWOJSPServlet.framework JavaXML.framework -- PrivateFrameworks EOPlaceholders.framework JavaMonitor.framework --WebObjects ---Adaptors Apache CGI ---JavaApplications JavaMonitor.woa wotaskd.woa ---WODocumentRoot WebObjects Frameworks Java Javamonitor On 17 May 2010, at 13:47, Pascal Robert wrote: What do you have in /Library/Java/Extensions and /Library/WeObjects/Extensions? Dave I dunno what I am doing wrong but I am having a lot of issues with a standard Eclipse/WOLips install I upgraded to Galileo and WOLips 3.5. Templates don't work and I cant seem to add WO Frameworks to the Build Path as they are just not there... Is it supposed to be this difficult? :) Any suggestions... Gino On 17 May 2010, at 12:08, David Avendasora wrote: Gino, WOLips 3.4 is old, and has bugs that will not be fixed, so I highly recommend moving to Eclipse/WOLips 3.5. And 3.6 seems to be pretty stable too. Since you are just getting started with Eclipse you really should use a more current version. Dave On May 17, 2010, at 6:38 AM, Gino Pacitti wrote: OK..so done Galileo with WOlips 3.5 - which was not a good idea as it just gave lots of errors. Reinstalled Gannymede and WoLips 3.4 (that works - nightly build update was for Galileo so broke my Eclipse 3.4 system) So I have a default installation of Eclipse 3.4 and wolips 3.4 Used the 533 and 534 sets of Frameworks and FileSystem/Properties etc.. to do 2 version development. I create a Wonder Application
Re: [Wonder-disc] Ant Instal Failed to process eclipse frameworks
Just out of curiosity, what was in your /Library/Java/Extensions, that you moved out? On May 17, 2010, at 10:57 AM, Gino Pacitti wrote: Well believe it or not but using Pascals advice and moving everything out of /Library/Java/Extensions seems to have done the trick... My HelloWorld app builds and ANT installs with no errors... Hopefully it should be plain sailing from now on but thank you VERY much for your time and help.. Gino On 17 May 2010, at 15:54, Mike Schrag wrote: Reinstalled Gannymede and WoLips 3.4 (that works - nightly build update was for Galileo so broke my Eclipse 3.4 system) what URL did you use to install? my line might be confusing coming in at the mid point of a thread... I did an initial install of Gannymede and WOLips seemed to be working together... It notified me of an update with WOLips and so I installed the update... Which I believe was WOLips 3.5.. This then caused Gannymede to not recognize WOLips and gave me no options. A slight issue I did have is that I could not create any WO Application using the standed new menu item... I had to use a wizard that allowed only a Project name - I had to manually refactor the name of packages for .java and components. I'm not sure how you did an install and it then offered an update -- that seems super suspicious. I've killed the previous shortcut /wolips/stable to prevent this problem in the future. There is now: http://webobjects.mdimension.com/wolips/WOLips36Current http://webobjects.mdimension.com/wolips/WOLips35Stable http://webobjects.mdimension.com/wolips/WOLips34Stable I have no idea what actual version you ended up installing, particularly after that update. I would start from scratch and use one of these URLs that is more explicit, so you know what's up. 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/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: [Wonder-disc] Ant Instal Failed to process eclipse frameworks
Yeah, you would never want those in your java extensions dir. I'll just add my 2 cents to what others have suggested: I would not put ANYTHING in either your java or your WebObjects extensions dirs unless you really understand how it works, and have a very good reason to do so. Otherwise, you just end up with the kind of pain you've just experienced. Glad you got it working, - Patrick On May 17, 2010, at 11:05 AM, Gino Pacitti wrote: Well I took everything out and then put everything back except xerces.jar and Xalan.jar These seem to be the culprits... GIno On 17 May 2010, at 16:00, Patrick Robinson wrote: Just out of curiosity, what was in your /Library/Java/Extensions, that you moved out? On May 17, 2010, at 10:57 AM, Gino Pacitti wrote: Well believe it or not but using Pascals advice and moving everything out of /Library/Java/Extensions seems to have done the trick... My HelloWorld app builds and ANT installs with no errors... Hopefully it should be plain sailing from now on but thank you VERY much for your time and help.. Gino On 17 May 2010, at 15:54, Mike Schrag wrote: Reinstalled Gannymede and WoLips 3.4 (that works - nightly build update was for Galileo so broke my Eclipse 3.4 system) what URL did you use to install? my line might be confusing coming in at the mid point of a thread... I did an initial install of Gannymede and WOLips seemed to be working together... It notified me of an update with WOLips and so I installed the update... Which I believe was WOLips 3.5.. This then caused Gannymede to not recognize WOLips and gave me no options. A slight issue I did have is that I could not create any WO Application using the standed new menu item... I had to use a wizard that allowed only a Project name - I had to manually refactor the name of packages for .java and components. I'm not sure how you did an install and it then offered an update -- that seems super suspicious. I've killed the previous shortcut /wolips/stable to prevent this problem in the future. There is now: http://webobjects.mdimension.com/wolips/WOLips36Current http://webobjects.mdimension.com/wolips/WOLips35Stable http://webobjects.mdimension.com/wolips/WOLips34Stable I have no idea what actual version you ended up installing, particularly after that update. I would start from scratch and use one of these URLs that is more explicit, so you know what's up. 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/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: [Wonder-disc] Ant Instal Failed to process eclipse frameworks
I no longer put even JDBC drivers in there. What if you needed a different version of the driver for a specific app? It happened to me! :-) On May 17, 2010, at 11:12 AM, Pascal Robert wrote: I strongly suggest that you remove everything except JDBC drivers. Yes you fixed your problem for now, but if you leave stuff in Extensions, you will get other problems later, trust us. Well I took everything out and then put everything back except xerces.jar and Xalan.jar These seem to be the culprits... GIno On 17 May 2010, at 16:00, Patrick Robinson wrote: Just out of curiosity, what was in your /Library/Java/Extensions, that you moved out? On May 17, 2010, at 10:57 AM, Gino Pacitti wrote: Well believe it or not but using Pascals advice and moving everything out of /Library/Java/Extensions seems to have done the trick... My HelloWorld app builds and ANT installs with no errors... Hopefully it should be plain sailing from now on but thank you VERY much for your time and help.. Gino ___ Do not post admin requests to the list. They will 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: announcement
Wow, this already feels belated! But I'll add my congratulations to the heap. Thanks for all you've done for WO from the outside, and Here's to many more fruitful WO years ahead! - Patrick On Apr 21, 2010, at 12:33 PM, Mike Schrag wrote: Hey everyone ... I wanted to let you guys know that Apr 30 will be my last day at mDimension. A few weeks ago, I accepted a position at Apple. Not to worry, though -- supporting WOLips and Wonder will be part of my responsibilities, so I'm far from disappearing. I think iTMS has done a really good job demonstrating that they're committed to contributing, with Entity Modeler app, eomodeldoc, and a substantial amount of work recently with ERModernLook. The folks over there appreciate the value of the WebObjects and Wonder communities, and I look forward to a lot of exciting things in the future. As far as mDimension, we are parting on really good terms. They have been a great company to work for over the past 5 years. For years before I came on, Bill would tell me about this framework called WebObjects and how great it was. When I started at mDT, he got me going with WO with a bunch of books, WWDC videos, and helpful guidance, and they set me on The Path. mDT has also consistently made a substantial investment in the community, supporting every bit of development that I've done in WOLips, Wonder, WOWODC, and the build servers throughout my time here, and I applaud them for that. For the things you guys may directly care about: * WOLips - still working on it * Wonder - still working on it * Build Servers - mDT will continue to host the build servers * WOWODC - still attending, though not in an official Apple capacity To contact me in the future, my AIM/twitter are the same, but you can use my msch...@pobox.com email address. 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/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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: Installing WO on Centos 5.4
This sounds to me *just like* what happens when you run wotaskd with -WOHost localhost, but forget to run your app with the same parameter (i.e. either put WOHost=localhost in your app's Properties, or add -DWOHost=localhost to your app's run config program or vm arguments). If you run any of this with WOHost=localhost, then you want to run all of it that way. I guess if you're doing this on a laptop that's moving around, and its name and IP are changing all the time, then you need to set things up to work with localhost. Otherwise, I find it easier to just let wotaskd and JavaMonitor run without specifying a WOHost, and set your apache ServerName to your actual DNS name. Then you won't have to do anything special in Eclipse, nor when you deploy. That's just my experience, running this stuff in development under Mac OS X, and deploying under Mac OS X Server. - Patrick On Feb 25, 2010, at 5:47 PM, Fabián Montealegre Carvajal wrote: Hello, I'm trying to install WO 5.3 on a Centos 5.4 using this guide: http://wiki.objectstyle.org/confluence/display/WO/Installing+WO+5.3+or+WO+5.4+on+Linux I have finished the complete guide and the wotaskd and womonitor are up and running. I've managed to setup an app through womonitor and it's starting up ok according to womonitor. In the womonitor's applications tab I can see the only app I have set up. The problem is that when I click on the application link I get the following error: The requested application was not found on this server. I've tried to run wotaskd with the properties file modified (WOHost = ip, localhost, etc) but with no success. Apache logs aren't showing any useful info. Any ideas why is this happening? Notes: Java version 1.5 -- Fabián Montealegre Carvajal ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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: Installing WO on Centos 5.4
On Feb 26, 2010, at 2:23 PM, Chuck Hill wrote: Try editing the apache.conf file (the WebObject's one, not httpd.conf). Find these lines: # To change the logging options, read the following comments: # The option name is WebObjectsLog and the first value indicates the path of the log file. # The second value indicates the log level. There are five, in decreasing informational order: #Debug,Info,Warn,Error,User # # Note: To enable logging, touch '/tmp/logWebObjects' as the administrator user (usually root). # # The following line is the default: # WebObjectsLog /Library/WebObjects/Logs/WebObjects.log Debug Uncomment the last line, restart Apache and sudo /tmp/logWebObjects What Chuck means here is: sudo touch /tmp/logWebObjects You just want to create an (empty) file by that name. Its presence is what triggers the adaptor to log to the file defined by that WebObjectsLog directive in your apache.conf, that Chuck quotes from above. Also, I'm pretty sure you need to restart apache *after* creating /tmp/logWebObjects. - Patrick Now try going to your app once or twice to get the error message. Then look in /Library/WebObjects/Logs/WebObjects.log The first thing to look for is if the host name it is using is the one you have configured in JavaMonitor and the application. Chuck -- Chuck Hill Senior Consultant / VP Development Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: Installing WO on Centos 5.4
On Feb 26, 2010, at 8:40 PM, Chuck Hill wrote: On Feb 26, 2010, at 5:26 PM, Patrick Robinson wrote: On Feb 26, 2010, at 2:23 PM, Chuck Hill wrote: Try editing the apache.conf file (the WebObject's one, not httpd.conf). Find these lines: # To change the logging options, read the following comments: # The option name is WebObjectsLog and the first value indicates the path of the log file. # The second value indicates the log level. There are five, in decreasing informational order: # Debug,Info,Warn,Error,User # # Note: To enable logging, touch '/tmp/logWebObjects' as the administrator user (usually root). # # The following line is the default: # WebObjectsLog /Library/WebObjects/Logs/WebObjects.log Debug Uncomment the last line, restart Apache and sudo /tmp/logWebObjects What Chuck means here is: sudo touch /tmp/logWebObjects Well... yeah. Guess that was too late in the day to blame on lack of coffee? Is there *ever* enough coffee? You just want to create an (empty) file by that name. Its presence is what triggers the adaptor to log to the file defined by that WebObjectsLog directive in your apache.conf, that Chuck quotes from above. Also, I'm pretty sure you need to restart apache *after* creating /tmp/logWebObjects. You should be able to use that file like a semaphore to turn logging off and on. Or you used to be able to. Well, you're probably right - I thought it used to be that way, too. At the moment, what I'm seeing (which initially led me to believe apache had to be restarted) is that it only spews stuff to the log file when apache is started (or restarted, or gracefully restarted). Didn't it used to more-or-less continually dump stuff to the log file, as apps would come and go? - Patrick Chuck Now try going to your app once or twice to get the error message. Then look in /Library/WebObjects/Logs/WebObjects.log The first thing to look for is if the host name it is using is the one you have configured in JavaMonitor and the application. Chuck -- Chuck Hill Senior Consultant / VP Development Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net This email sent to ch...@global-village.net -- Chuck Hill Senior Consultant / VP Development Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
SOLVED: Re: need to add dir to classpath
Here's how I ended up solving this: I created Resources/Keystores/, and put the .keystore file there. The problem is how to get this directory into the app's classpath at runtime, both when running from Eclipse, and when deployed. To run this in Eclipse: Edit the Run Configuration, select the Classpath tab, click User Entries, click the Advanced button, select Add Folders, navigate to the project's Resources/Keystores, and select it. To build for deployment: Edit build.xml. Add an otherclasspath nested element at the end of the woapplication element, thusly: woapplication [...] otherclasspath dir=. embed=true include name=Resources/Keystores / /otherclasspath /woapplication That will cause ant to add the following at the top of MacOSClassPath.txt (and all the other platform classpath files): APPROOT/Resources/Keystores/ When the app is deployed, Resources/Keystores/ will be in the classpath. Thanks for all the helpful suggestions! - Patrick On Jan 13, 2010, at 5:24 PM, Patrick Robinson wrote: It looks to me like the otherclasspath ... / nested element of woapplication / might be persuaded to add the right thing to the various *ClassPath.txt files, but I haven't stumbled across the right incantation, yet. otherclasspath dir=Resources/Keystore / causes the following to be added to the top of (e.g.) MacOSClassPath.txt: HOMEROOT/workspace/MyProject/Resources/Keystores/ But I think what we want there is (as Kieran suggested earlier): APPROOT/Resources/Keystores/ Is that doable? - Patrick On Jan 13, 2010, at 11:56 AM, Mike Schrag wrote: This actually isn't a directory dep .. it's really Adding a non- Java jar resource or something like that, but yeah, probably someone should put this info somewhere. On Jan 13, 2010, at 11:55 AM, Ray Kiddy wrote: On Jan 13, 2010, at 8:41 AM, Patrick Robinson wrote: Ah! That works in Eclipse (it causes the .keystore file to be copied to build/app.woa/Contents/Resources/Java/), but it doesn't work for deployment. Do I need to add something to build.xml to make it do the same thing there? Looking at the front page of the WOLips wiki, I see we have: http://wiki.objectstyle.org/confluence/display/WOL/Add+a+Jar +Dependency http://wiki.objectstyle.org/confluence/display/WOL/Add+a +Framework+Dependency I cannot find any others. Does there need to be another page on Add a Directory Dependency? Is this written up anywhere on the wiki already? Should some of these pages be consolidated? cheers - ray On Jan 13, 2010, at 11:11 AM, Mike Schrag wrote: you need to put it in your source folder and add the file extension to the classes.include.patternset ... On Jan 13, 2010, at 11:01 AM, Elizabeth Lynch wrote: Hi Patrick How about right-clicking it and trying WOLips Tools-Include as Resource? Liz On 13 Jan 2010, at 14:30, Patrick Robinson wrote: No, that didn't work... it just gets ignored. Thanks for the suggestion, though; it sounded promising! I thought it might result in the file's being put into Contents/Resources/Java/, which *is* in the classpath. - Patrick On Jan 13, 2010, at 6:17 AM, David Avendasora wrote: Hi Patrick, This is just a stab-in-the-dark, but can't you just drop it into the Sources directory? Dave On Jan 12, 2010, at 11:20 PM, Patrick Robinson wrote: I need to use a java library that expects to find my java keystore file (which would normally be specified by the javax.net.ssl.keyStore system property) in a directory on the classpath. How do I do that? Is there a way to create a dir (perhaps under Resources), and tell the build system to include it in the classpath? - Patrick ___ Do not post admin requests to the list. They will 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: need to add dir to classpath
No, that didn't work... it just gets ignored. Thanks for the suggestion, though; it sounded promising! I thought it might result in the file's being put into Contents/Resources/Java/, which *is* in the classpath. - Patrick On Jan 13, 2010, at 6:17 AM, David Avendasora wrote: Hi Patrick, This is just a stab-in-the-dark, but can't you just drop it into the Sources directory? Dave On Jan 12, 2010, at 11:20 PM, Patrick Robinson wrote: I need to use a java library that expects to find my java keystore file (which would normally be specified by the javax.net.ssl.keyStore system property) in a directory on the classpath. How do I do that? Is there a way to create a dir (perhaps under Resources), and tell the build system to include it in the classpath? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com This email sent to webobje...@avendasora.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/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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: need to add dir to classpath
Ah! That works in Eclipse (it causes the .keystore file to be copied to build/app.woa/Contents/Resources/Java/), but it doesn't work for deployment. Do I need to add something to build.xml to make it do the same thing there? On Jan 13, 2010, at 11:11 AM, Mike Schrag wrote: you need to put it in your source folder and add the file extension to the classes.include.patternset ... On Jan 13, 2010, at 11:01 AM, Elizabeth Lynch wrote: Hi Patrick How about right-clicking it and trying WOLips Tools-Include as Resource? Liz On 13 Jan 2010, at 14:30, Patrick Robinson wrote: No, that didn't work... it just gets ignored. Thanks for the suggestion, though; it sounded promising! I thought it might result in the file's being put into Contents/Resources/Java/, which *is* in the classpath. - Patrick On Jan 13, 2010, at 6:17 AM, David Avendasora wrote: Hi Patrick, This is just a stab-in-the-dark, but can't you just drop it into the Sources directory? Dave On Jan 12, 2010, at 11:20 PM, Patrick Robinson wrote: I need to use a java library that expects to find my java keystore file (which would normally be specified by the javax.net.ssl.keyStore system property) in a directory on the classpath. How do I do that? Is there a way to create a dir (perhaps under Resources), and tell the build system to include it in the classpath? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com This email sent to webobje...@avendasora.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/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/liz%40plsys.co.uk This email sent to l...@plsys.co.uk ___ Do not post admin requests to the list. They will 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 msch...@mdimension.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: need to add dir to classpath
But even that isn't going to handle what this lib of mine needs, which is that the *directory* where the keystore file lives be in the classpath. On Jan 13, 2010, at 11:47 AM, Mike Schrag wrote: hmmm .. i thought class includes were used by build.xml also . actually, i took a look at the project i have that uses Kerberos (and has a krb5.conf in source): wocompile srcdir=src destdir=bin includes=**/ *.java,**/*.conf looks like i added it to the wocompile script. kind of lame. On Jan 13, 2010, at 11:41 AM, Patrick Robinson wrote: Ah! That works in Eclipse (it causes the .keystore file to be copied to build/app.woa/Contents/Resources/Java/), but it doesn't work for deployment. Do I need to add something to build.xml to make it do the same thing there? On Jan 13, 2010, at 11:11 AM, Mike Schrag wrote: you need to put it in your source folder and add the file extension to the classes.include.patternset ... On Jan 13, 2010, at 11:01 AM, Elizabeth Lynch wrote: Hi Patrick How about right-clicking it and trying WOLips Tools-Include as Resource? Liz On 13 Jan 2010, at 14:30, Patrick Robinson wrote: No, that didn't work... it just gets ignored. Thanks for the suggestion, though; it sounded promising! I thought it might result in the file's being put into Contents/Resources/Java/, which *is* in the classpath. - Patrick On Jan 13, 2010, at 6:17 AM, David Avendasora wrote: Hi Patrick, This is just a stab-in-the-dark, but can't you just drop it into the Sources directory? Dave On Jan 12, 2010, at 11:20 PM, Patrick Robinson wrote: I need to use a java library that expects to find my java keystore file (which would normally be specified by the javax.net.ssl.keyStore system property) in a directory on the classpath. How do I do that? Is there a way to create a dir (perhaps under Resources), and tell the build system to include it in the classpath? - Patrick ___ Do not post admin requests to the list. They will 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: need to add dir to classpath
It looks to me like the otherclasspath ... / nested element of woapplication / might be persuaded to add the right thing to the various *ClassPath.txt files, but I haven't stumbled across the right incantation, yet. otherclasspath dir=Resources/Keystore / causes the following to be added to the top of (e.g.) MacOSClassPath.txt: HOMEROOT/workspace/MyProject/Resources/Keystores/ But I think what we want there is (as Kieran suggested earlier): APPROOT/Resources/Keystores/ Is that doable? - Patrick On Jan 13, 2010, at 11:56 AM, Mike Schrag wrote: This actually isn't a directory dep .. it's really Adding a non- Java jar resource or something like that, but yeah, probably someone should put this info somewhere. On Jan 13, 2010, at 11:55 AM, Ray Kiddy wrote: On Jan 13, 2010, at 8:41 AM, Patrick Robinson wrote: Ah! That works in Eclipse (it causes the .keystore file to be copied to build/app.woa/Contents/Resources/Java/), but it doesn't work for deployment. Do I need to add something to build.xml to make it do the same thing there? Looking at the front page of the WOLips wiki, I see we have: http://wiki.objectstyle.org/confluence/display/WOL/Add+a+Jar +Dependency http://wiki.objectstyle.org/confluence/display/WOL/Add+a+Framework +Dependency I cannot find any others. Does there need to be another page on Add a Directory Dependency? Is this written up anywhere on the wiki already? Should some of these pages be consolidated? cheers - ray On Jan 13, 2010, at 11:11 AM, Mike Schrag wrote: you need to put it in your source folder and add the file extension to the classes.include.patternset ... On Jan 13, 2010, at 11:01 AM, Elizabeth Lynch wrote: Hi Patrick How about right-clicking it and trying WOLips Tools-Include as Resource? Liz On 13 Jan 2010, at 14:30, Patrick Robinson wrote: No, that didn't work... it just gets ignored. Thanks for the suggestion, though; it sounded promising! I thought it might result in the file's being put into Contents/Resources/Java/, which *is* in the classpath. - Patrick On Jan 13, 2010, at 6:17 AM, David Avendasora wrote: Hi Patrick, This is just a stab-in-the-dark, but can't you just drop it into the Sources directory? Dave On Jan 12, 2010, at 11:20 PM, Patrick Robinson wrote: I need to use a java library that expects to find my java keystore file (which would normally be specified by the javax.net.ssl.keyStore system property) in a directory on the classpath. How do I do that? Is there a way to create a dir (perhaps under Resources), and tell the build system to include it in the classpath? - Patrick ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects- d...@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/ webobjects%40avendasora.com This email sent to webobje...@avendasora.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects- d...@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pgr% 40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/liz% 40plsys.co.uk This email sent to l...@plsys.co.uk ___ Do not post admin requests to the list. They will 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 msch...@mdimension.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/ray% 40ganymede.org This email sent to r...@ganymede.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/mschrag% 40mdimension.com This email sent to msch...@mdimension.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/pgr
OT: Scotch (was Re: Objects don't get initialized sometimes)
Ahhh, now we're talking. Very nice, indeed. You might also like Lagavulin 16yr (my personal fav). Talisker has a nice flavour map that you might find interesting. - Patrick On Jan 11, 2010, at 8:45 PM, Kieran Kelleher wrote: On Jan 11, 2010, at 8:07 PM, Chuck Hill wrote: On Jan 11, 2010, at 5:04 PM, Kieran Kelleher wrote: Ha ha! Gennady, never mind Chuck - he is probably after a few glasses of scotch to help him get thru the cold weather :-P Scotch?!!? That is not very Irish of you! I thought that Scotch was what the Scottish drank because they knew not how to make Irish whiskey. looks around hoping that no Scots are nearby Actually, I only liked whiskey diluted in Irish Coffee until I discovered Talisker 10 year scotch last year very nice as an after dinner treat at the weekends, especially in this frigid weather that Chuck has sent from the cold barren north ;-) Goodnight! Kieran MySQL InnoDB is awesome and runs great on 64bit Snow Leopard too! Regards, Kieran On Jan 11, 2010, at 7:54 PM, Chuck Hill wrote: On Jan 11, 2010, at 4:47 PM, Kieran Kelleher wrote: Even if my guess is wrong, I hope this will help some other WebObjects devs - DO NOT USE FrontBase - it will cause you great pain and suffering!! Fixed it for you. :-P -- 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/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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
need to add dir to classpath
I need to use a java library that expects to find my java keystore file (which would normally be specified by the javax.net.ssl.keyStore system property) in a directory on the classpath. How do I do that? Is there a way to create a dir (perhaps under Resources), and tell the build system to include it in the classpath? - Patrick ___ Do not post admin requests to the list. They will 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: Deployment build?
You can also create these from the command line with ant, which can be very handy. Grab a copy of woproject.jar from down inside your eclipse's install folder (e.g. where-you-put-eclipse/plugins/org.objectstyle.wolips.woproject.ant_3.4.5830/lib/woproject.jar), and put it somewhere convenient. If woproject.jar were in your home directory, then with your project's directory as your current directory, do this: ant -lib ~/woproject.jar build As Kieran says, it'll create the app and webserver .tar.gz bundles inside your project's dist/ directory. - Patrick On Dec 22, 2009, at 1:30 PM, Kieran Kelleher wrote: When u run the build.xml in Eclipse (with the correct ant targets) it makes a dist dir with 2 tar.gz's. One of those is the app bundle. The other is the webserver bundle. You just need to transfer those, expand and set permissions on them and then use WOMonitor to add a new app to the server and configure it and launch it using WOMonitor. On Dec 22, 2009, at 1:23 PM, Mark Woollard wrote: First off am new to webobjects + WOLips! Have developed an WO app that I want to deploy to a linux server which is configured with webobjects as detailed here: http://wiki.objectstyle.org/confluence/display/WO/Installing+WO+5.3+or+WO+5.4+on+Linux This appears to be working fine since JavaMonitor works. My project runs within Eclipose/WOLips fine but building and transferring to the server it doesn't and as far as I can tell its missing the App.woa/App component that is referenced in the plist. Is there something I need to do to get Eclipse/WOLips to create this? Thanks 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 Subscription: http://lists.apple.com/mailman/options/webobjects-dev/kieran_lists%40mac.com This email sent to kieran_li...@mac.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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: Building for deployment
Oh, I dunno - perhaps you simply enjoy archaic word meanings. According to the OED, under receipt, n.: 13. gen. The formula of a preparation, or an account of the means, for bringing about some end; (in extended use) the means for attaining an end. Cf. RECIPE n. 3. Now arch. :-) - Patrick On Dec 14, 2009, at 1:20 PM, Henrique Gomes wrote: On Dec 14, 2009, at 4:42 PM, Kieran Kelleher wrote: receipt ? :-) Does it show that I'm not a native speaker?! I meant 'recipe'. In any case, Wonder uses build properties to decide where the various directories are. You can put a file named build.properties in the Wonder root directory to dictate the build properties which includes the target directory or pass a build.properties on the command line to override wonder's build properties. Yes, the problem is the amount of properties. I have hudson building wonder in ${WORKSPACE}/Root. And the other jobs using the artifacts from the wonder build, expanding the tar.gz on {WORKSPACE}/Root. That's all fine for the build server. On my mac I just wanted a simple -local switch to have wonder install the frameworks on ~/ Library/Frameworks. I seldom require them like that, and dislike putting stuff in /Library if it is just for a quick test. In those cases I manually cp -r from the build directory See Wonder/Build/build/generic.xml for details. HTH, Kieran On Dec 14, 2009, at 10:48 AM, Henrique Gomes wrote: On Dec 14, 2009, at 2:29 PM, Kieran Kelleher wrote: Wonder is installed locally from the same working copy as the wonder workspace projects are linked to Can you share the receipt for that? Right now I use a hudson build server ( linux ) for the builds with all the complication of setupWonder.sh but I was always curious if there is a simple switch to make $ ant frameworks.install install on the user domain like ~/Library/Frameworks Thanks, Henrique Gomes ___ Do not post admin requests to the list. They will 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 kieran_li...@mac.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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
SnowLeopard ant build of apps for java 1.5 on 10.4
I'm trying to figure out how to build WO 5.3.3 apps under 10.6, to be deployed on 10.4 (with java 1.5). I would normally build my apps on the development box with ant, then move them over. I got the impression from something I read (no idea where, now) that you could use Snow Leopard's java 1.6 compiler to build 1.5-compliant apps. I don't think the Eclipse Java - Compiler - compliance level affects what ant does, neither from within Eclipse, nor (of course) from the command line. I've seen suggestions to add source and target attributes to the wocompile task. I assume that means something like this: wocompile srcdir=Sources destdir=bin source=1.5 target=1.5 But that doesn't seem to have an effect file still reports the .class files as being version 50.0. I also saw a suggestion to pass -source and -target to ant, but I don't understand that: those aren't valid ant parameters. I suppose I could install an old java 1.5 compiler on Snow Leopard. Is that the only way? - Patrick ___ Do not post admin requests to the list. They will 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: UTF-8 forms and database, still some special characters get through as things like #64257; Why?
Just another couple of ideas: Regarding (4) below, If your project doesn't use Wonder, then in your Application constructor, do this: WOMessage.setDefaultEncoding(UTF8); Regarding (5), if you're using HTML 4.01 Transitional, then it might look something like this: !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd; html head meta http-equiv=Content-type content=text/html; charset=UTF-8 etc. - Patrick On Nov 12, 2009, at 8:11 AM, Ramsey Lee Gurley wrote: Hi Johan, Just a short checklist that I can think of... Don't forget: 1) The database needs to be storing values in UTF-8. If it isn't, then all your effort is wasted :) For MySQL that means a db url like jdbc:mysql://localhost/Example? capitalizeTypenames=truezeroDateTimeBehavior=convertToNullcharacterE ncoding=UTF-8 And setting your default charset and collation in your my.cnf file. 2) Different fonts may not have all the characters to display the different characters. If you're using a default stylesheet, then the browsers may be displaying differently simply because of fonts. Speaking of stylesheets, you probably want to encode that in UTF-8 also. Start your stylesheet with something like @charset UTF-8; @import url(reset.css); /* Begin site CSS */ 3) Set eclipse encodingScreen shot 2009-11-12 at 7.49.36 AM.png 4) Use Wonder. Set encoding in the properties file # Project Encoding er.extensions.ERXApplication.DefaultEncoding=UTF-8 5) Set encoding in the page wrapper ?xml version=1.0 encoding=UTF-8 standalone=no? !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg- flat.dtd 6) Localizable.strings should be encoded in UTF-16 That's all I can think of off the top of my head. Anyone have more? Perhaps we should put up a wiki page just for project encoding since it seems to be something a lot of people stumble on. Ramsey On Nov 12, 2009, at 6:07 AM, Johan Henselmans wrote: Reading David Griffith's struggle with the euro sign, I thought checking myself if that worked in my test application. What I did was: go to a textfield in a form, then (on a mac) press shift and alt key, and go over the keyboard from 1 in the upper left to / in the lower right. Save the stuff, or do something with it, like going to a next form or back or whatever. Interestingly, it Seems that some characters are not picked up by the UTF-8, while others are. These are the results in Safari: #8260;€‹›#64257;#64258;‡°·‚—±Œ„´‰ #711;Á¨ˆØ#8719;”’ÅÍÎÏ#733;ÓÔ#63743;ÒÚÆ»`¸#731;Ç#9674;#305;˜Â¯ #728;¿ Here in Firefox: #8260;€‹›#64257;#64258;‡°··‚—±Œ„´‰ #711;Á¨ˆØ#8719;”’ÅÍÎÏ#733;ÓÔ#63743;ÒÚÆ»¸#731;Ç#9674;#305;˜Â¯# 728;¿ This is WebObjects 5.4.3, latest wonder, OS X 10.5.8 latest security updates Can anyone explain to me why that is? (I hope the mailserver does not screw up). Regards, Johan Henselmans http://www.netsense.nl Tel: +31-20-6267538 Fax: +31-20-6279159 ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/rgurley% 40mac.com This email sent to rgur...@mac.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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: Snow Leopard and WebObjects
Think of it as liquid bread. - Patrick On Sep 4, 2009, at 6:54 PM, Chuck Hill wrote: On Sep 3, 2009, at 11:37 PM, Mark Morris wrote: While in Europe long ago I had some non-export, domestic Guinness, and you just about needed a knife and fork for that stuff! Have to admit, much as I like beer, it would be hard for me to acquire a taste for it Don't think of it as beer. Think of it as a bitter, cream soup. Served cold. Not shame in using a spoon if you are a beginner. :-P -- Mark On Sep 3, 2009, at 9:55 PM, Chuck Hill wrote: Guinness VERY good. On Sep 3, 2009, at 10:30 PM, Kieran Kelleher wrote: 2625348212_54810f0216.jpg On Sep 3, 2009, at 10:13 PM, Chuck Hill wrote: Meat good. On Sep 3, 2009, at 7:45 PM, Lon Varscsak wrote: Fire good. On Thu, Sep 3, 2009 at 4:07 PM, Chuck Hill ch...@global- village.net wrote: On Sep 2, 2009, at 9:43 AM, Galen Rhodes wrote: OK, I know Apple has been tight lipped on the subject. But what is the general feeling that people are having on the subject of Snow Leopard and WebObjects? Snow Leopard good. WebObjects good. 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/markm% 40onpointsoftware.com This email sent to ma...@onpointsoftware.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/pgr%40vt.edu This email sent to p...@vt.edu ___ Do not post admin requests to the list. They will 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: Deployment Error
On Jul 16, 2008, at 5:52 AM, Q wrote: On 16/07/2008, at 6:57 PM, Thierry Kramis wrote: Hi All We're trying to deploy our first WO 5.4 application using Wonder on our Leopard server. The application wont start due to the following error: ... Caused by: java.lang.IllegalStateException: Main bundle 'Properties' file can't be read. Is there a Resources/Properties file in your deployed application bundle? Check your project's woproject/resources.include.patternset (and the other patternsets), and make sure that files you put in your Resources folder are getting copied. - Patrick ___ Do not post admin requests to the list. They will 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]
NPE on project import
I asked about this last week on the WOLips list, but that was maybe the wrong place. I have eclipse 3.3.2 and the newest stable wolips (3.3.5311) on two machines (a powermac G5, and a Mac Book Pro), both still running Tiger. I have a project on my G5 that I need to import into eclipse on my laptop, but the import operation fails - it throws a NullPointerException. Subsequently, the project won't open; it just throws a different NPE. There was a thread (That dreaded eclipse NPE again) on this list (around a month ago) about this issue, but there was no resolution. Has anyone else experienced this? Would you think there's something strange about my project that's causing this? Here's what appears in the exported Error Log from the failed import (I'll show the trace from the failed project open after that): -- !ENTRY org.eclipse.core.resources 4 2 2008-07-08 22:16:02.020 !MESSAGE Problems occurred when invoking code from plug-in: org.eclipse.core.resources. !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt.get (HashtableOfObjectToInt.java:71) at org.eclipse.jdt.internal.core.JavaModelManager $VariablesAndContainersSaveHelper.saveNewId(JavaModelManager.java:3453) at org.eclipse.jdt.internal.core.JavaModelManager $VariablesAndContainersSaveHelper.saveClasspathEntry (JavaModelManager.java:3407) at org.eclipse.jdt.internal.core.JavaModelManager $VariablesAndContainersSaveHelper.saveClasspathEntries (JavaModelManager.java:3402) at org.eclipse.jdt.internal.core.JavaModelManager $VariablesAndContainersSaveHelper.saveContainers (JavaModelManager.java:3444) at org.eclipse.jdt.internal.core.JavaModelManager $VariablesAndContainersSaveHelper.saveProjects(JavaModelManager.java: 3508) at org.eclipse.jdt.internal.core.JavaModelManager $VariablesAndContainersSaveHelper.save(JavaModelManager.java:3336) at org.eclipse.jdt.internal.core.JavaModelManager.saveVariablesAndContainer s(JavaModelManager.java:3239) at org.eclipse.jdt.internal.core.JavaModelManager.saving (JavaModelManager.java:3551) at org.eclipse.core.internal.resources.SaveManager.executeLifecycle (SaveManager.java:343) at org.eclipse.core.internal.resources.SaveManager$1.run (SaveManager.java:160) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.resources.SaveManager.broadcastLifecycle (SaveManager.java:163) at org.eclipse.core.internal.resources.SaveManager.save (SaveManager.java:982) at org.eclipse.core.internal.resources.DelayedSnapshotJob.run (DelayedSnapshotJob.java:44) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) -- And here's what I see when I try to open the project: -- !ENTRY org.eclipse.jface 4 2 2008-07-08 22:16:39.697 !MESSAGE Problems occurred when invoking code from plug-in: org.eclipse.jface. !STACK 0 java.lang.NullPointerException at org.eclipse.jdt.internal.ui.packageview.ClassPathContainer.getChildren (ClassPathContainer.java:138) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.g etContainerPackageFragmentRoots(PackageExplorerContentProvider.java:334) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.g etChildren(PackageExplorerContentProvider.java:269) at org.objectstyle.wolips.jdt.ui.WOPackageExplorerContentProvider.getChildr en(WOPackageExplorerContentProvider.java:105) at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren (AbstractTreeViewer.java:1320) at org.eclipse.jface.viewers.TreeViewer.getRawChildren (TreeViewer.java:378) at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.hasFilteredChi ldren(ProblemTreeViewer.java:250) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart $PackageExplorerProblemTreeViewer.isFiltered(PackageExplorerPart.java: 287) at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.filter (ProblemTreeViewer.java:269) at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.getFilteredChi ldren(ProblemTreeViewer.java:258) at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren (AbstractTreeViewer.java:581) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run (AbstractTreeViewer.java:778) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java: 67) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren (AbstractTreeViewer.java:755) at org.eclipse.jface.viewers.TreeViewer.createChildren (TreeViewer.java:627) at org.eclipse.jface.viewers.AbstractTreeViewer.setExpandedState (AbstractTreeViewer.java:2363) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handl eDoubleClick(PackageExplorerActionGroup.java:299) at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart $4.doubleClick(PackageExplorerPart.java:607) at org.eclipse.jface.viewers.StructuredViewer$1.run (StructuredViewer.java:799) at
Velocity EOGenerator: refactor package?
This is a bit old, but I assume it's still true: On Dec 19, 2007, at 8:48 PM, Mike Schrag wrote: is it possible to setup packagename argument in the EOGenerator command or turn on create package functionality? No, because this is really a setting of your EOModel, not just of the generation of Java files. However, there is a new setting coming to Entity Modeler that will allow you to define the default package name for entities (which WILL actually write into the model file properly). (coming = probably next week) Is there a way to mass-refactor your entities' classes into a different package, and (the real problem!) have that change reflected in the model? I'm dealing with a rather old project where the entity classes had been in the default package. It took a bit of reading (old posts) and experimenting to figure out that you can't change the existing package for all your entity classes by just specifying something in the eogen file. You apparently have to specify the fully qualified package.class name in each entity. OK, so I did that, and all is now as it should be. But what do you do if you want to change the package for your entities' classes? Did I miss out on the easy and magical way to do this? :-) - Patrick ___ Do not post admin requests to the list. They will 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: Velocity EOGenerator: refactor package?
That's a nice hackaround :-), but the problem with this approach is that the entities initially were in the default package, so there was no string I could search for. - Patrick On Jun 24, 2008, at 11:54 AM, David Avendasora wrote: Okay, follow these steps: (I am assuming you have your own Veogenerator templates - if you don't, you'll need to set some up to keep Veogenerator from running and possibly messing everything up.) 1) Rename your template files so your .eogen file can't find them. This will keep Veogenerator from finding them and therefore will not run. 2) Select your model in Eclipse. 3) Under the Search menu, select File 4) In the Containing text field, put the old package path ie. com.company.application 5) In the File name patterns field put .plist 6) Click the Replace button at the bottom of the window 7) That should bring up the actual Replace window. Type in the new package name that you want in the With field. 8) Run the search replace. 9) Refactor - Rename the packages of existing classes in your project 10) Name the Veogenerator templates back to what they are supposed to be so Veogenerator will run again. This should get you both the actual classes and the model refactored. Eclipse can do a do a search and replace to change the entries in the model. Select the model, the trick is making sure that you can then do the refactor of the packages _before_ Veogenerator kicks off and creates all the new packages from scratch.. Dave On Jun 24, 2008, at 10:10 AM, Patrick Robinson wrote: This is a bit old, but I assume it's still true: On Dec 19, 2007, at 8:48 PM, Mike Schrag wrote: is it possible to setup packagename argument in the EOGenerator command or turn on create package functionality? No, because this is really a setting of your EOModel, not just of the generation of Java files. However, there is a new setting coming to Entity Modeler that will allow you to define the default package name for entities (which WILL actually write into the model file properly). (coming = probably next week) Is there a way to mass-refactor your entities' classes into a different package, and (the real problem!) have that change reflected in the model? I'm dealing with a rather old project where the entity classes had been in the default package. It took a bit of reading (old posts) and experimenting to figure out that you can't change the existing package for all your entity classes by just specifying something in the eogen file. You apparently have to specify the fully qualified package.class name in each entity. OK, so I did that, and all is now as it should be. But what do you do if you want to change the package for your entities' classes? Did I miss out on the easy and magical way to do this? :-) - Patrick ___ Do not post admin requests to the list. They will 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: Velocity EOGenerator: refactor package?
Sure 'nuff good point! - Patrick On Jun 24, 2008, at 3:36 PM, David Avendasora wrote: Sure you can! Search for: className = and replace with: className = com.company.appname. no problem! Dave On Jun 24, 2008, at 3:25 PM, Patrick Robinson wrote: That's a nice hackaround :-), but the problem with this approach is that the entities initially were in the default package, so there was no string I could search for. - Patrick On Jun 24, 2008, at 11:54 AM, David Avendasora wrote: Okay, follow these steps: (I am assuming you have your own Veogenerator templates - if you don't, you'll need to set some up to keep Veogenerator from running and possibly messing everything up.) 1) Rename your template files so your .eogen file can't find them. This will keep Veogenerator from finding them and therefore will not run. 2) Select your model in Eclipse. 3) Under the Search menu, select File 4) In the Containing text field, put the old package path ie. com.company.application 5) In the File name patterns field put .plist 6) Click the Replace button at the bottom of the window 7) That should bring up the actual Replace window. Type in the new package name that you want in the With field. 8) Run the search replace. 9) Refactor - Rename the packages of existing classes in your project 10) Name the Veogenerator templates back to what they are supposed to be so Veogenerator will run again. This should get you both the actual classes and the model refactored. Eclipse can do a do a search and replace to change the entries in the model. Select the model, the trick is making sure that you can then do the refactor of the packages _before_ Veogenerator kicks off and creates all the new packages from scratch.. Dave On Jun 24, 2008, at 10:10 AM, Patrick Robinson wrote: This is a bit old, but I assume it's still true: On Dec 19, 2007, at 8:48 PM, Mike Schrag wrote: is it possible to setup packagename argument in the EOGenerator command or turn on create package functionality? No, because this is really a setting of your EOModel, not just of the generation of Java files. However, there is a new setting coming to Entity Modeler that will allow you to define the default package name for entities (which WILL actually write into the model file properly). (coming = probably next week) Is there a way to mass-refactor your entities' classes into a different package, and (the real problem!) have that change reflected in the model? I'm dealing with a rather old project where the entity classes had been in the default package. It took a bit of reading (old posts) and experimenting to figure out that you can't change the existing package for all your entity classes by just specifying something in the eogen file. You apparently have to specify the fully qualified package.class name in each entity. OK, so I did that, and all is now as it should be. But what do you do if you want to change the package for your entities' classes? Did I miss out on the easy and magical way to do this? :-) - Patrick ___ Do not post admin requests to the list. They will 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: Velocity EOGenerator: refactor package?
I'm happy to have the _Entity.java files regenerated as often as EOGenerator likes. But definitely not all those Entity.java files. :-) This seems to be a more straightforward approach, and also seems to work well. I hadn't noticed the update fully qualifierd names... box when I was doing this, before. Thanks for the tip! - Patrick On Jun 24, 2008, at 12:11 PM, Don Lindsay wrote: Hello; If you are using WOLips and Eclipse. Double click on your eogen file for your project, if you cannot see it click the small triangle in the upper right of the project explorer and choose filters and ensure eogen is not checked. Once you are editing your eogen, set the package there. Then just regenerate your entities. If you are using WOLips and Ecipse and you do not want to re- generate your entities. Select each entity that you want to put in a new package by holding down the Open Apple/Command key and clicking on it in project explorer. AFter you have them all selected, right click, choose refactor | Move, type in the new package. Make sure you select Update fully qualified names in non- Java text files (this will catch your plist files in your eomodel. Click ok then go though the preview to ensure the changes were made correctly. Don On Jun 24, 2008, at 10:10 AM, Patrick Robinson wrote: This is a bit old, but I assume it's still true: On Dec 19, 2007, at 8:48 PM, Mike Schrag wrote: is it possible to setup packagename argument in the EOGenerator command or turn on create package functionality? No, because this is really a setting of your EOModel, not just of the generation of Java files. However, there is a new setting coming to Entity Modeler that will allow you to define the default package name for entities (which WILL actually write into the model file properly). (coming = probably next week) Is there a way to mass-refactor your entities' classes into a different package, and (the real problem!) have that change reflected in the model? I'm dealing with a rather old project where the entity classes had been in the default package. It took a bit of reading (old posts) and experimenting to figure out that you can't change the existing package for all your entity classes by just specifying something in the eogen file. You apparently have to specify the fully qualified package.class name in each entity. OK, so I did that, and all is now as it should be. But what do you do if you want to change the package for your entities' classes? Did I miss out on the easy and magical way to do this? :-) - Patrick ___ Do not post admin requests to the list. They will 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]
velocity eogenerator problem
I'm converting an old Xcode project to WOLips (using Tiger, java 1.5, Eclipse 3.3.2, WOLips 3.3.5266, and WO 5.3.3). I reached the point where I made a change to my model which resulted in velocity EOGenerator being run, and now I have a bunch of code that won't compile. I'm getting: The type NSArray is not generic; it cannot be parameterized with arguments Award All my WOLips EOGenerator system preferences are blank (i.e. default). In my eogen file, I've specified the superclass package, and the Destination and Subclass Destination folders, and that's it. Project Wonder is not involved at all. I've seen that others have had this problem, and the solution for them has always seemed to involved use of the 5.4 vs 5.3 versions of Wonder - but this project doesn't use Wonder. If I check the EOGenerator preference box for Use Java 1.4 Templates (Velocity only), then this problem goes away. But, why? I'm using java 1.5. What's the problem here? -- Patrick Robinson AHNR Info Technology, Virginia Tech [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]
securing communications between web server and WO instances
I've got a question that I can't recall ever being addressed here. Using https gets you encrypted/secure communication between your users' browsers and your web server. But what do you all typically do to secure communications between your web server and your WO app instances, especially when those instances are running on separate hardware? Do you have a private network behind your web server (i.e. between your web server and your WO servers)? -- Patrick Robinson AHNR Info Technology, Virginia Tech [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]
SOLVED (*really*, this time!): Re: returning PDF via appendToResponse
It turns out that the problem I was having, and the reason my solution worked, has nothing to do with PDF files. It has to do with the request-response loop. By default, WOApplication.isPageRefreshOnBacktrackEnabled() is true. One implication of this is that (to paraphrase the API documentation for setIsPageRefreshOnBacktrackEnabled) when the app receives a request that it has already received, the first two phases of the req- res loop (takeValues and invokeAction) do not occur. Only the third phase, appendToResponse, is called; that is, the response page for the context will have appendToResponse called on it, to regenerate its response. In my action method, I was setting a variable and returning null. The variable that was set was being handled in my appendToResponse, causing it to replace the normal component-based woresponse with a pdf file that's returned with a content-disposition of attachment. This means that the page in my web browser is not refreshed. When I click the link that's bound to my action method a second time, WO recognizes that this is a duplicate of a previously handled request, and so it does not call my action method, but only my appendToResponse. But in my awake(), I clear the variable that my action method sets -- the one my appendToResponse uses to determine its behavior. When I changed things so that my action method instead returned a second component -- one with empty html and wod, and which just has an appendToResponse that returns the file attachment, the situation became somewhat different. The first time I click the link bound to my action method, the action method creates (via pageWithName) an instance of the second component, and this component returns the pdf file in its appendToResponse. As before, my web browser's view of things is not refreshed. The second time I click the link, WO recognizes the request as a duplicate, does NOT re-invoke my action method, but calls appendToResponse on the previously created response page (the one I created in my action method via pageWithName). So the file is returned a second time, as expected. As Steve Quirk pointed out to me, I could also have simply created a new response in my action method, set its content and headers, and returned it directly from my action method. In this case, repeatedly clicking a link bound to the action method will, as before, repeatedly send the identical request to WO. But the behavior is again different in this case. Normally, a component's appendToResponse is called from its generateResponse method. But if I return a WOResponse (of my own creation) from my action method (instead of returning a WOComponent), then generateResponse is not called, and so appendToResponse is not called. My action method will be called repeatedly on subsequent identical requests. If a WOComponent is returned by an action method (which implements the WOActionResults interface), then that WOComponent will be stored in the context, and can have generateResponse/appendToResponse called on it again if an identical request is received. But if a WOResponse is returned by the action method, this doesn't occur -- , and so subsequent identical requests will result in the action method's being reinvoked. Interesting, no? - Patrick On Dec 13, 2007, at 5:34 PM, Patrick Robinson wrote: Well, it's always fun to reply to one's own emails. First, the solution to (1) is to have the action method return a different page, e.g. public WOComponent downloadFile() { WOComponent fileComponent = pageWithName(FileDownloadComponent); fileComponent.setSelectedThing(aThing); return fileComponent; } Then in FileDownloadComponent.appendToResponse(), you return the PDF: public void appendToResponse( ... ) { res.setHeader(mimeType, content-type); res.setHeader(attachment; filename= + filename, content- disposition); res.setContent(selectedThing.data()); res.disableClientCaching(); res.removeHeadersForKey(Cache-Control); res.removeHeadersForKey(pragma); } FileDownloadComponent's .html and .wod files are empty, so it doesn't seem to matter whether or not you call super.appendToResponse(). The result of doing it this way is that when I log the WOResponse in Application.dispatchRequest(), all I see is the PDF file response that I set, above. I can click the link to invoke the action method repeatedly, but I only ever see the one WOResponse, now. The solution to (2) is simply to change the content-disposition from attachment to inline. That is: res.setHeader(inline; filename= + filename, content- disposition); - Patrick On Dec 13, 2007, at 3:18 PM, Patrick Robinson wrote: I've seen lots of examples for returning a PDF by fiddling with the WOResponse in a component's appendToResponse() method. Code like this: public void appendToResponse(WOResponse res
returning PDF via appendToResponse
I've seen lots of examples for returning a PDF by fiddling with the WOResponse in a component's appendToResponse() method. Code like this: public void appendToResponse(WOResponse res, WOContext con) { super.appendToResponse(res, con); if (someCondition) { res.setContent(pdfFile); res.setHeader(application/pdf, Content-Type); res.setHeader(attachment; filename=MyFile.pdf, Content-disposition); res.disableClientCaching(); res.removeHeadersForKey(Cache-Control); res.removeHeadersForKey(pragma); } } We've made use of this kind of thing by having an action method that sets someCondition, as well as the details of what pdfFile to download: public void awake() { someCondition = false; } public WOComponent downloadFile() { someCondition = true; pdfFile = nsDataForSelectedFile(selectedFile); } I have two problems: (1) I was getting the PDF downloaded only every other time I clicked the link bound to the downloadFile() action method. Because I was curious, I implemented Application.dispatchRequest(), and discovered that the first time I clicked the link, I'd get a PDF file in the WOResponse. The next time I clicked it, the WOResponse would contain the HTML of the page where the link lived! Then, the next time, I'd get the pdf again. Why is this? (2) I'd like to get the pdf to open in the browser, in the Acrobat plugin (if there is one), rather than downloading it to the downloaded file dir. I've read things suggesting that: - you just need to change the content-disposition from attachment to inline. - you may also need to specify ; name=MyFile.pdf after the application/pdf content-type. - you may or may not need to specify the content-length. - you shouldn't be calling super.appendToResponse(). I don't understand how this would make a difference, as I'm replacing the response's content, anyway. But none of these things seems to work. Just changing the content- disposition to inline has the effect of making the browser window go black for a sec, then back to the HTML page (making me think maybe I was on the right track). At this point, I discovered problem (1), and wondered if the way I'm mangling the WOResponse has something to do with it. Anyone have any insights? I'd sure appreciate it! -- Patrick Robinson AHNR Info Technology, Virginia Tech [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]
SOLVED: Re: returning PDF via appendToResponse
Well, it's always fun to reply to one's own emails. First, the solution to (1) is to have the action method return a different page, e.g. public WOComponent downloadFile() { WOComponent fileComponent = pageWithName(FileDownloadComponent); fileComponent.setSelectedThing(aThing); return fileComponent; } Then in FileDownloadComponent.appendToResponse(), you return the PDF: public void appendToResponse( ... ) { res.setHeader(mimeType, content-type); res.setHeader(attachment; filename= + filename, content- disposition); res.setContent(selectedThing.data()); res.disableClientCaching(); res.removeHeadersForKey(Cache-Control); res.removeHeadersForKey(pragma); } FileDownloadComponent's .html and .wod files are empty, so it doesn't seem to matter whether or not you call super.appendToResponse(). The result of doing it this way is that when I log the WOResponse in Application.dispatchRequest(), all I see is the PDF file response that I set, above. I can click the link to invoke the action method repeatedly, but I only ever see the one WOResponse, now. The solution to (2) is simply to change the content-disposition from attachment to inline. That is: res.setHeader(inline; filename= + filename, content- disposition); - Patrick On Dec 13, 2007, at 3:18 PM, Patrick Robinson wrote: I've seen lots of examples for returning a PDF by fiddling with the WOResponse in a component's appendToResponse() method. Code like this: public void appendToResponse(WOResponse res, WOContext con) { super.appendToResponse(res, con); if (someCondition) { res.setContent(pdfFile); res.setHeader(application/pdf, Content-Type); res.setHeader(attachment; filename=MyFile.pdf, Content-disposition); res.disableClientCaching(); res.removeHeadersForKey(Cache-Control); res.removeHeadersForKey(pragma); } } We've made use of this kind of thing by having an action method that sets someCondition, as well as the details of what pdfFile to download: public void awake() { someCondition = false; } public WOComponent downloadFile() { someCondition = true; pdfFile = nsDataForSelectedFile(selectedFile); } I have two problems: (1) I was getting the PDF downloaded only every other time I clicked the link bound to the downloadFile() action method. Because I was curious, I implemented Application.dispatchRequest(), and discovered that the first time I clicked the link, I'd get a PDF file in the WOResponse. The next time I clicked it, the WOResponse would contain the HTML of the page where the link lived! Then, the next time, I'd get the pdf again. Why is this? (2) I'd like to get the pdf to open in the browser, in the Acrobat plugin (if there is one), rather than downloading it to the downloaded file dir. I've read things suggesting that: - you just need to change the content-disposition from attachment to inline. - you may also need to specify ; name=MyFile.pdf after the application/pdf content-type. - you may or may not need to specify the content-length. - you shouldn't be calling super.appendToResponse(). I don't understand how this would make a difference, as I'm replacing the response's content, anyway. But none of these things seems to work. Just changing the content- disposition to inline has the effect of making the browser window go black for a sec, then back to the HTML page (making me think maybe I was on the right track). At this point, I discovered problem (1), and wondered if the way I'm mangling the WOResponse has something to do with it. Anyone have any insights? I'd sure appreciate it! -- Patrick Robinson AHNR Info Technology, Virginia Tech [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/pgr%40vt.edu This email sent to [EMAIL PROTECTED] -- Patrick Robinson AHNR Info Technology, Virginia Tech [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 Community Web site
On Nov 3, 2007, at 7:40 PM, Chuck Hill wrote: On Nov 3, 2007, at 4:37 PM, Pascal Robert wrote: We also need a slogan. So I was thinking of doing a contest (but without any money prizes :-)). So submit your slogan ideas to me before Friday November 9 at 12:00pm. On Saturday, a survey will be created so that you can vote our the slogan submissions. WebObjects - because everything else sucks worse Sounds like mutt's slogan (www.mutt.org): All mail clients suck. This one just sucks less. - Patrick ___ Do not post admin requests to the list. They will 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: template parsing/generation inserts extra spaces
I probably shouldn't even suggest this, but... you're sure the string bound to ResultType doesn't have a space at the end? :-) - Patrick On Jul 2, 2007, at 12:14 AM, Lachlan Deck wrote: Hi there, If I have: webobject name=ResultType/webobject name=HasMultipleDisplayedObjectss/webobject The component is generated as: 'SomeType s' instead of 'SomeTypes'. Any ideas? WO5.3.x 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/pgr%40vt.edu This email sent to [EMAIL PROTECTED] -- Patrick Robinson AHNR-IT, Virginia Tech [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: template parsing/generation inserts extra spaces
And HasMultipleDisplayedObjects is just a plain ol' WOConditional? Out of curiosity, I just tried it, and I get 'SomeTypes'. In my test, the WOConditional's condition was specified as true (or false), but that shouldn't matter. And my ResultType is a WOString whose value is bound to a java String. Is there any javascript going on? On Jul 2, 2007, at 12:15 PM, Lachlan Deck wrote: On 03/07/2007, at 1:05 AM, Patrick Robinson wrote: I probably shouldn't even suggest this, but... you're sure the string bound to ResultType doesn't have a space at the end? :-) No, because... webobject name=ResultType/_Twebobject name=HasMultipleDisplayedObjects_S/webobject results in: 'SomeType_T _S' So something else is up... On Jul 2, 2007, at 12:14 AM, Lachlan Deck wrote: If I have: webobject name=ResultType/webobject name=HasMultipleDisplayedObjectss/webobject The component is generated as: 'SomeType s' instead of 'SomeTypes'. Any ideas? WO5.3.x 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/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: Apple's Support of WebObjects
On May 4, 2007, at 5:12 PM, Mike Schrag wrote: I like the apple tools. I know WOLips and project WOnder exist for eclipse but I do not like these tools much. I agree with Kieran completely, but for people who just don't like Eclipse/WOLips (compared to Xcode, specifically), what /exactly/ is it that you don't like? The one thing I can't figure out how to do in Eclipse, that I have found to be almost indispensable in Xcode, is to be able to open separate files in separate *windows* - that is, windows that I can independently size and move around on my desktop. I just _hate_ that, and I find it bizarre that I haven't seen others complaining about this, too. How can you stand having to have your open files isolated under tabs?! Or am I missing something? -- Patrick Robinson AHNR-IT, Virginia Tech [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]
EOGenericRecord vs. storedValue methods
I've been experiencing some confounding property validation behavior, and I just figured out how to reproduce it. I get one behavior if my EO class is EOGenericRecord, and a different behavior if it's a custom class using the storedValue methods. I've got a WOTextField bound to a Number attribute of an EO, and I've implemented validationFailedWithException() in the usual way: public void validationFailedWithException(Throwable e, Object value, String keyPath) { try { takeValueForKeyPath(value, keyPath); } catch (IllegalArgumentException iae) { // ignore } super.validationFailedWithException(e, value, keyPath); } Now here's the bizarre part. If the EO's class (as set in EOModeler) is EOGenericRecord, and I enter non-numeric data in the form field, then when validationFailedWithException() is called (so that keyPath is someEO.someNumber), it calls takeValueForKeyPath(), and successfully puts the bad data back into the EO's someNumber attribute (that is, no IllegalArgumentException is thrown), and the user sees the bad data he entered in the form field. However, if I make a custom class for the entity, and generate the class files as usual so that the accessors look like this: public Number someNumber() { return (Number)storedValueForKey(someNumber); } public void setSomeNumber(Number aValue) { takeStoredValueForKey(aValue, someNumber); } If I do that, and then enter non-numeric data in the form field bound to someEO.someNumber, then the call to takeValueForKeyPath() in validationFailedWithException() throws an IllegalArgumentException, and the bad data does NOT make it back to the form field, and the user does NOT see the bad data that he entered. Is this just one of the side effects of EOGenericRecord's using dictionaries to store what are, conceptually, instance variables? Since it's a dictionary, it can cram any kind of object you want in there, at least while it's bouncing around the UI. Coercing data to the right types can be put off 'til validation and saving to the db? -- Patrick Robinson AHNR Info Technology, Virginia Tech [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: EOGenericRecord vs. storedValue methods
Thanks for confirming, Chuck. I guess changing the EOGenerator templates is about the only way to continue enjoying that particular behavior. Or, I suppose another approach would be to bind the form fields to strings (or something), and try to copy them into EO properties in the action method. Hey, waitaminute! Didn't you cover this in your book? flip, flip, flip ah, yes. I should've remembered. Ch 5. DictionaryHoldingAreaPage.java :-) Thanks again, - Patrick On Aug 25, 2006, at 5:33 PM, Chuck Hill wrote: Hi Patrick, On Aug 25, 2006, at 2:28 PM, Patrick Robinson wrote: I've been experiencing some confounding property validation behavior, and I just figured out how to reproduce it. I get one behavior if my EO class is EOGenericRecord, and a different behavior if it's a custom class using the storedValue methods. I've got a WOTextField bound to a Number attribute of an EO, and I've implemented validationFailedWithException() in the usual way: public void validationFailedWithException(Throwable e, Object value, String keyPath) { try { takeValueForKeyPath(value, keyPath); } catch (IllegalArgumentException iae) { // ignore } super.validationFailedWithException(e, value, keyPath); } Now here's the bizarre part. If the EO's class (as set in EOModeler) is EOGenericRecord, and I enter non-numeric data in the form field, then when validationFailedWithException() is called (so that keyPath is someEO.someNumber), it calls takeValueForKeyPath(), and successfully puts the bad data back into the EO's someNumber attribute (that is, no IllegalArgumentException is thrown), and the user sees the bad data he entered in the form field. Yes, because it is just storing an Object in a dictionary. However, if I make a custom class for the entity, and generate the class files as usual so that the accessors look like this: public Number someNumber() { return (Number)storedValueForKey(someNumber); } public void setSomeNumber(Number aValue) { takeStoredValueForKey(aValue, someNumber); } If I do that, and then enter non-numeric data in the form field bound to someEO.someNumber, then the call to takeValueForKeyPath() in validationFailedWithException() throws an IllegalArgumentException, and the bad data does NOT make it back to the form field, and the user does NOT see the bad data that he entered. IllegalArgumentException is from Java as your code has passed a String to public void setSomeNumber(Number aValue). Is this just one of the side effects of EOGenericRecord's using dictionaries to store what are, conceptually, instance variables? Since it's a dictionary, it can cram any kind of object you want in there, at least while it's bouncing around the UI. Coercing data to the right types can be put off 'til validation and saving to the db? Yes, exactly. You could alter the templates and generate your custom classes as: public Object someNumber() { return storedValueForKey(someNumber); } public void setSomeNumber(Object aValue) { takeStoredValueForKey(aValue, someNumber); } then cast someNumber() when you need a real Number. 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/pgr%40vt.edu This email sent to [EMAIL PROTECTED] -- Patrick Robinson AHNR-IT, Virginia Tech [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
strange EO inheritance issue
I've got a rather strange EO inheritance question. I've got a situation where I've set up single-table inheritance (with a subclass type column) for 7 out of 8 of my subclasses; and a separate table (with the same type column) that has a bunch more columns for the 8th, just because I didn't want all those columns sitting there empty for most of the rows (i.e. for the other 7 subclasses). Probably false economy, but be that as it may My structure looks like this: A -- B -- C C is modeled as an inheritance hierarchy using horizontal mapping, and B is modeled as the inheritance hierarchy described above, using mostly single-table mapping. There is a different subclass of B for each corresponding subclass of C. It all built just fine, but when it came time to save an object of my new C subclass (the one that corresponds to the B subclass with its own table), the primary key of the C subclass object did not propagate to the B subclass object -- it was left as null. This is done with Oracle, so there's an Oracle sequence C_SEQ that's used to obtain C's primary key, and C_ID is the primary key of all C subclasses. Normally, this propagates to the B subclass objects just fine (with all the other B subclasses, that is), but it isn't working with the B subclass that is set in EOModeler to use its own table. Has anyone else tried to do this kind of thing, or am I just trying to do something idiotic? :-) -- Patrick Robinson AHNR Info Technology, Virginia Tech [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: strange EO inheritance issue
Ken, I'm having a little trouble figuring out what the performance problems might be. Wouldn't it depend on the access patterns? In this app, each A object belongs to a different user, and they create shared C objects, which are associated with the A's via B. Just because one type of C corresponds to an association via a type of B which happens to be stored in a separate B table... I dunno, it doesn't seem like a problem to me. What am I not considering? But that said, I think your suggestion of putting the extra columns in a separate table with a relationship to it from the 8th subclass is an excellent one. I should've thought of that! Thanks, - Patrick On Aug 3, 2006, at 5:15 PM, Ken Anderson wrote: Patrick, Not to rain on your parade, but this is probably going to be a performance nightmare (even if you get it to work right). I would suggest putting those extra columns in a separate table, putting a relationship to it in the 8th subclass, and setting a nice batch fault number on it. I bet you it will perform WAY better. Ken On Aug 3, 2006, at 5:05 PM, Patrick Robinson wrote: I've got a rather strange EO inheritance question. I've got a situation where I've set up single-table inheritance (with a subclass type column) for 7 out of 8 of my subclasses; and a separate table (with the same type column) that has a bunch more columns for the 8th, just because I didn't want all those columns sitting there empty for most of the rows (i.e. for the other 7 subclasses). Probably false economy, but be that as it may My structure looks like this: A -- B -- C C is modeled as an inheritance hierarchy using horizontal mapping, and B is modeled as the inheritance hierarchy described above, using mostly single-table mapping. There is a different subclass of B for each corresponding subclass of C. It all built just fine, but when it came time to save an object of my new C subclass (the one that corresponds to the B subclass with its own table), the primary key of the C subclass object did not propagate to the B subclass object -- it was left as null. This is done with Oracle, so there's an Oracle sequence C_SEQ that's used to obtain C's primary key, and C_ID is the primary key of all C subclasses. Normally, this propagates to the B subclass objects just fine (with all the other B subclasses, that is), but it isn't working with the B subclass that is set in EOModeler to use its own table. Has anyone else tried to do this kind of thing, or am I just trying to do something idiotic? :-) -- Patrick Robinson AHNR Info Technology, Virginia Tech [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/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: strange EO inheritance issue
On Aug 3, 2006, at 5:24 PM, Sacha Michel Mallais wrote: On Aug 3, 2006, at 2:05 PM, Patrick Robinson wrote: I've got a rather strange EO inheritance question. I've got a situation where I've set up single-table inheritance (with a subclass type column) for 7 out of 8 of my subclasses; and a separate table (with the same type column) that has a bunch more columns for the 8th, just because I didn't want all those columns sitting there empty for most of the rows (i.e. for the other 7 subclasses). Probably false economy, but be that as it may My structure looks like this: A -- B -- C C is modeled as an inheritance hierarchy using horizontal mapping, and B is modeled as the inheritance hierarchy described above, using mostly single-table mapping. There is a different subclass of B for each corresponding subclass of C. It all built just fine, but when it came time to save an object of my new C subclass (the one that corresponds to the B subclass with its own table), the primary key of the C subclass object did not propagate to the B subclass object -- it was left as null. This is done with Oracle, so there's an Oracle sequence C_SEQ that's used to obtain C's primary key, and C_ID is the primary key of all C subclasses. Normally, this propagates to the B subclass objects just fine (with all the other B subclasses, that is), but it isn't working with the B subclass that is set in EOModeler to use its own table. Has anyone else tried to do this kind of thing, or am I just trying to do something idiotic? :-) Hi Patrick, I've recently tried a similar thing to no success. It appears that there is a WO bug WRT propagating PKs to tables that are not correlation tables (a correlation table is a table mapping two entities in a many-to-many relationship with no other attributes -- if B had attributes B.aPK and B.cPK, and no others, it would be a correlation table). What I did was to throw out propagation and instead use a standard integer PK. Hey Sacha, Before I started trying to mix single-table and horizonal mapping in a single inheritance hierarchy, I actually had this all working. B was a correlation table with some additional attributes. That is, its PK was composed of B.aPK and B.cPK, but it also had cType (which let me subclass B into various subclass correlation tables via single- table mapping), and some things like sortOrder (to let the user specify a particular order for the C objects), myComments, etc. The propagation of PK from A and C (i.e. its subclasses) to B (i.e. its subclasses) actually worked just fine. The fly got into the ointment when I started mixing inheritance models in a single hierarchy. -- Patrick Robinson AHNR-IT, Virginia Tech [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: strange EO inheritance issue
Hey John, Oh, yes, I checked every aspect of every database column and constraint, and of every model attribute and relationship *very* painstakingly. I was even comparing the entities' .plist files in text mode. I would think single-table mapping would be the better choice if performance is the driving concern... no? I would think the benefit of vertical mapping would be clarity of expression of the design (that is, implementation look a lot like conceptual design); and for horizontal mapping. I chose single-table mapping for B because for the most part, it's merely a correlation table with a couple of extra attributes, mostly shared by all subclasses. There are a couple of exceptions, but they are just that: exceptions - not the general rule. I tend to agree with you, though, that this is getting to be a complicated mess, and probably not worth the effort. But it would be kinda cool if I could get it to work. :) - Patrick On Aug 3, 2006, at 7:55 PM, John Larson wrote: Patrick, Not to seem too obvious, but did you check the relationship in your C subclass. I spent two days troubleshooting a bunch of subclassing just to find out I forgot to uncheck the Abstract box in the subclasses. I'm just about over the hangover now, but I now *always* check EOModeler. IMHO, however, I would evaluate your decision to use such a scheme. In the time you spend troubleshooting this you may be able to implement true horizontal or vertical inheritance and get better performance. John On Aug 3, 2006, at 4:05 PM, Patrick Robinson wrote: I've got a rather strange EO inheritance question. I've got a situation where I've set up single-table inheritance (with a subclass type column) for 7 out of 8 of my subclasses; and a separate table (with the same type column) that has a bunch more columns for the 8th, just because I didn't want all those columns sitting there empty for most of the rows (i.e. for the other 7 subclasses). Probably false economy, but be that as it may My structure looks like this: A -- B -- C C is modeled as an inheritance hierarchy using horizontal mapping, and B is modeled as the inheritance hierarchy described above, using mostly single-table mapping. There is a different subclass of B for each corresponding subclass of C. It all built just fine, but when it came time to save an object of my new C subclass (the one that corresponds to the B subclass with its own table), the primary key of the C subclass object did not propagate to the B subclass object -- it was left as null. This is done with Oracle, so there's an Oracle sequence C_SEQ that's used to obtain C's primary key, and C_ID is the primary key of all C subclasses. Normally, this propagates to the B subclass objects just fine (with all the other B subclasses, that is), but it isn't working with the B subclass that is set in EOModeler to use its own table. Has anyone else tried to do this kind of thing, or am I just trying to do something idiotic? :-) -- Patrick Robinson AHNR Info Technology, Virginia Tech [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/the_larsons% 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/archive%40mail-archive.com This email sent to archive@mail-archive.com