From macosx@opengroupware.org Sat Apr 1 06:14:07 2006 From: macosx@opengroupware.org (Helge Hess) Date: Sat, 1 Apr 2006 07:14:07 +0200 Subject: [OGo-MacOSX] How can I have the application running in the background without using the windows server In-Reply-To: <25592043-C85B-4DD0-8F78-C3A2458DAFD5@free.fr> References: <25592043-C85B-4DD0-8F78-C3A2458DAFD5@free.fr> Message-ID: <2915E366-82CB-424F-A6AD-C851D3AE6E8F@opengroupware.org> On 31. Mrz 2006, at 21:14 Uhr, Philippe Laval wrote: > Yesterday, I have read a lot of code about SOPE XML-RPC > implementation and also about how oGo uses of this part of the > framework. Actually there are two implementations. An old one which is somewhat based on WODirectAction and a new one which is based on SOPE-as-in- ZOPE, aka SoObjectRequestHandler. The ogo-xmlrpcd uses the first/old one and I'm not so fond of the implementation (rather hackish code). I think the new one is quite nice but AFAIK not really used currently (not sure whether ZNeK does some stuff with it). An example can be found in OGo in ZideStore/Protocols/Blogger which implements some BloggerAPI for OGo. Greets, Helge -- http://docs.opengroupware.org/Members/helge/ OpenGroupware.org From macosx@opengroupware.org Sat Apr 1 12:01:55 2006 From: macosx@opengroupware.org (Marcus Mueller) Date: Sat, 01 Apr 2006 13:01:55 +0200 Subject: [OGo-MacOSX] How can I have the application running in the background without using the windows server In-Reply-To: <2915E366-82CB-424F-A6AD-C851D3AE6E8F@opengroupware.org> References: <25592043-C85B-4DD0-8F78-C3A2458DAFD5@free.fr> <2915E366-82CB-424F-A6AD-C851D3AE6E8F@opengroupware.org> Message-ID: <442E5DA3.6090708@mulle-kybernetik.com> Helge Hess schrieb: > I think the new one is quite nice but AFAIK not really used currently > (not sure whether ZNeK does some stuff with it). An example can be found The new implementation is really nice ... it's very close to the WebObjects idea of doing things (it's using DirectActions and standard accessor methods for mapping the positional arguments in an XML-RPC call to the parameters probably used in the direct action ... very nifty indeed). However, the setup in the product.plist currently has one glitch ... you have to use the RequestHandler as the object for adding categories (XML-RPC methods) to - not the Application object. I think that this is a bug ... however I never understood this particular semantic in the product.plist at all, so I don't really care. Helge can probably elaborate on this (what he intended to do with it). Cheers, Marcus From macosx@opengroupware.org Sat Apr 1 14:58:03 2006 From: macosx@opengroupware.org (Helge Hess) Date: Sat, 1 Apr 2006 15:58:03 +0200 Subject: [OGo-MacOSX] How can I have the application running in the background without using the windows server In-Reply-To: <442E5DA3.6090708@mulle-kybernetik.com> References: <25592043-C85B-4DD0-8F78-C3A2458DAFD5@free.fr> <2915E366-82CB-424F-A6AD-C851D3AE6E8F@opengroupware.org> <442E5DA3.6090708@mulle-kybernetik.com> Message-ID: <4D838CDE-BD4A-4E62-82BC-A8AE3617028C@opengroupware.org> On 1. Apr 2006, at 13:01 Uhr, Marcus Mueller wrote: > The new implementation is really nice ... it's very close to the > WebObjects idea of doing things (it's using DirectActions and > standard accessor methods for mapping the positional arguments in > an XML-RPC call to the parameters probably used in the direct > action ... very nifty indeed). However, the setup in the > product.plist currently has one glitch ... you have to use the > RequestHandler as the object for adding categories (XML-RPC > methods) to - not the Application object. I'm pretty sure this isn't the case. You need to define the methods on the SoObject you address in your XML-RPC calls. If you have /myapp/so/Calendar you need to define your methods on the "Calendar" object. If you need to define the methods on your request handler, you probably use a URL like URL: /myapp/[something] which I think returns a WORequestHandler in the path lookup. Notably another option supported by SOPE (this is also how its done in Zope) is to use the XML-RPC package name for path processing. Say you want to invoke calendar.events.addEvent() you can either directly map the "calendar.events.addEvent" method in product.plist OR you just map the "addEvent" method and use an object hierarchy like: /myapp/so/calendar/events to define the XML-RPC call. SOPE will automatically revert to namespace processing if it can't find fully qualified method on the target object. (see SoObjectXmlRpcDispatcher.m) Greets, Helge -- http://docs.opengroupware.org/Members/helge/ OpenGroupware.org From macosx@opengroupware.org Sun Apr 2 15:53:57 2006 From: macosx@opengroupware.org (Philippe Laval) Date: Sun, 2 Apr 2006 16:53:57 +0200 Subject: [OGo-MacOSX] Bugs found in BasicAuthSession example Message-ID: <70BB1346-A266-4A95-B518-7728E03BE3BD@free.fr> --Apple-Mail-1-326196687 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed On my computer I have set the Apache server to serve BasicAuthSession web application at port 24000 There was two bugs : <===== Bug : selector indexOfString is NOT defined ! (not using libFoundation on Mac OS X) <===== Bug : ClickCount does NOT display itself ! (variable not initialized) To who should I send the big fix ? Philippe ==================== http://localhost/BasicAuthSession/ $ cd /Users/philippe/SOPE-4.5/sopex/Samples/BasicAuthSession $ ./build/Development/BasicAuthSession.app/Contents/MacOS/ BasicAuthSession -WOPort 24000 2006-04-02 15:31:16.501 BasicAuthSession[1165] Unknown class 'MLHierarchyView' in nib file, using `NSControl' instead. 2006-04-02 15:31:16.504 BasicAuthSession[1165] Unknown class 'MLHierarchyView' in nib file, using `NSControl' instead. 2006-04-02 15:31:16.553 BasicAuthSession[1165] Note: WOApplication debugging is enabled. localhost - - [02/Apr/2006:15:31:16 GMT] "GET /BasicAuthSession HTTP/ 1.1" 401 0 0.016 - - - 127.0.0.1 - - [02/Apr/2006:15:31:24 GMT] "GET /BasicAuthSession/ HTTP/ 1.1" 401 0 0.006 - - - 2006-04-02 15:31:33.499 BasicAuthSession[1165] *** -[NSCFString indexOfString:]: selector not recognized [self = 0x5234480] <===== Bug : selector indexOfString is NOT defined ! Modified to add the code from libFoundation. - (unsigned int)indexOfString:(NSString *)substring - (unsigned int)indexOfString:(NSString*)substring fromIndex: (unsigned)index - (unsigned int)indexOfString:(NSString*)substring range:(NSRange)range http://localhost/BasicAuthSession/ http://localhost/BasicAuthSession.sopex/wo/PhilippeXXXXXXXXXX/ 00e442fd6b30285fe00.5 SessionID: PhilippeXXXXXXXXXX ClickCount: click <===== Bug : ClickCount does NOT display itself ! This could have solved the problem but it does not work (I don't know how to set the break points for objC methods) $ gdb ./build/Development/BasicAuthSession.app/Contents/MacOS/ BasicAuthSession (gdb) set args -WOPort 24000 - (id)initWithContext:(WOContext *)_ctx { if ((self = [super initWithContext:_ctx])) { // It could be interresting to initialize variables ;-) clickCount = 0; } return self; } $ cd /Users/philippe/SOPE-4.5/sopex/Samples/BasicAuthSession $ ./build/Development/BasicAuthSession.app/Contents/MacOS/ BasicAuthSession -WOPort 24000 As you will see the SOPEX application can not handle the authentication 16:11:57 |BasicAuthSession| WOHttpAdaptor listening on address *:24000 16:11:57 [ERROR] |BasicAuthSession| could not restore session for context <0x02864400[WOContext]: 001442fdbad02864400 app=BasicAuthSession sn=none eid=(null) rqeid=(null)> So I Changed to include only the session specific code when the flag WITHOUT_SOPEX is defined. This will also change the application from SOPEXMain to WOApplicationMain (see BasicAuthSession_main.m). Can change the Other C Flags to : -DNeXT_RUNTIME=1 -DAPPLE_RUNTIME=1 -DNeXT_Foundation_LIBRARY=1 - DCOCOA_Foundation_LIBRARY=1 -DWITHOUT_SOPEX Compile with DWITHOUT_SOPEX enabled $ cd /Users/philippe/SOPE-4.5/sopex/Samples/BasicAuthSession $ ./build/Development_WITHOUT_SOPEX/BasicAuthSession.app/Contents/ MacOS/BasicAuthSession -WOPort 24000 2006-04-02 16:31:49.112 BasicAuthSession[1850] Note: WOApplication debugging is enabled. If you now launch Safari at http://localhost/BasicAuthSession/ SessionID: PhilippeXXXXXXXXXX ClickCount: 0 click Click sometimes the "click" link, the ClickCount increments SessionID: PhilippeXXXXXXXXXX ClickCount: 1 click Compile without DWITHOUT_SOPEX enabled $ cd /Users/philippe/SOPE-4.5/sopex/Samples/BasicAuthSession $ ./build/Development/BasicAuthSession.app/Contents/MacOS/ BasicAuthSession -WOPort 24000 2006-04-02 16:32:58.458 BasicAuthSession[1851] Unknown class 'MLHierarchyView' in nib file, using `NSControl' instead. 2006-04-02 16:32:58.458 BasicAuthSession[1851] Unknown class 'MLHierarchyView' in nib file, using `NSControl' instead. 2006-04-02 16:32:58.502 BasicAuthSession[1851] Note: WOApplication debugging is enabled. localhost - - [02/Apr/2006:16:32:58 GMT] "GET /BasicAuthSession HTTP/ 1.1" 200 252 0.027 - - - localhost - - [02/Apr/2006:16:33:03 GMT] "GET /BasicAuthSession.sopex/ wo/073B073B01442FE09A/001442fe09a02851400.5 HTTP/1.1" 200 206 0.004 - - - localhost - - [02/Apr/2006:16:33:03 GMT] "GET /BasicAuthSession.sopex/ wo/073B073B01442FE09A/002442fe09f02864600.5 HTTP/1.1" 200 206 0.003 - - - --Apple-Mail-1-326196687 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1
Were did you get sope-4.5 ?$ which = sope-4.5no sope-4.5 in /bin /sbin = /usr/bin /usr/sbin /usr/local/bin = /usr/local/teTeX/bin/powerpc-apple-darwin-current /usr/local/pgsql/bin = /usr/local/teTeX/bin/powerpc-apple-darwin-currentI have = also build SOPE-4.5 with gnu-make (from the root folder - this make = works also for me).Le 2 = avr. 06 =E0 17:37, Helge Hess a =E9crit :On 2. Apr 2006, at 16:56 Uhr, Philippe Laval = wrote:How should I = setup Apache for the TestSite example ?Just = like any other SOPE app. Eg map /TestSite to the port its running on. = Inside the sample directory start=A0 sope-4.5Eg:---snip---helge@groove$ `which sope-4.5 `Apr 02 17:33:52 sope-4.5 [24786]: |sope-4| starting = SOPE on OFS root: = /Volumes/Store/helge/tiger/dev/SOPE-4.5/sope-appserver/samples/TestSiteApr 02 17:33:52 sope-4.5 [24786]: |sope-4| = registered site defaults: = /Volumes/Store/helge/tiger/dev/SOPE-4.5/sope-appserver/samples/TestSite/.s= ope.plistApr 02 17:33:52 sope-4.5 = [24786]: |sope-4| WOHttpAdaptor listening on address *:230322006-04-02 17:34:24.037 sope-4.5[24786] = Note(SoObject): SoDebugKeyLookup is enabled!2006-04-02 17:34:24.037 sope-4.5[24786] = Note(SoObject): SoDebugBaseURL is enabled!localhost - - [02/Apr/2006:17:34:24 GMT] "GET / HTTP/1.1" 302 0 0.041 = - - -localhost - - = [02/Apr/2006:17:34:24 GMT] "GET /index HTTP/1.1" 200 881 0.054 - - = ----snap---BTW: this kind of SOPE-usage is = considered experimental.Greets,=A0 = Helge--=A0OpenGroupware.org--=A0OpenGroupware.org MacOS X--OpenGroupware.org MacOS = X=
On 2. Apr 2006, at 17:40 Uhr, Philippe Laval = wrote:How shoud I = configure my computer to use gstep-make correctly ?=There are multiple modes to use gnustep-make with = SOPE, the easiest (on OSX) is to use a GNUstep deployment = root.Take a clean checkout of SOPE 4.5. First build = gnustep-make, its contained inside SOPE-4.5, like:---cd = gnustep-make./configure = --prefix=3D$HOME/GNUstep=A0 =A0 =A0 = =A0 =A0 =A0 \=A0 =A0 =A0 =A0 =A0 =A0 = --without-system-root =A0 =A0= =A0 =A0 =A0 =A0 \=A0 =A0 =A0 =A0 =A0 =A0 = --with-network-root=3D$HOME/GNUstep \=A0 =A0 =A0 =A0 = =A0 =A0 --with-local-root=3D$HOME/GNUstep =A0 \=A0 =A0 =A0 =A0 = =A0 =A0 --with-user-root=3D$HOME/GNUstep=A0 =A0 \=A0 =A0 =A0 =A0 = =A0 =A0 --with-library-combo=3Dapple-apple-appl \=A0 =A0 --disable-pchmake -s installsource = $HOME/GNUstep/Library/Makefiles/GNUstep.sh---snap---Then go to the SOPE-4.5 source dir and call = configure like---snip---./configure --enable-debug --disable-strip = \=A0 = --with-gnustep --gsmake=3D$GNUSTEP_SYSTEM_ROOT---snap---Should I = source someting ?There are ways to remove the = need for sourcing GNUstep.sh, either compiling as frameworks or = installing to FHS locations. The former could be incomplete and not well = tested and the latter is not very Mac like :-) (but the default way to = use SOPE on Linux)So: in the setup explained = above, yes, you need to source GNUstep.sh prior running a SOPE = application. You do NOT need to source GNUstep.sh for compilation (the = required variables are hardwired in the config.make created by = configure).=What are your environment = variables ?---snip---helge@groove$ env|grep GNUGNUSTEP_LOCAL_ROOT=3D/Users/helge/GNUstepGNUSTEP_HOST=3Dpowerpc-apple-darwin8.2.0GUILE_LOAD_PATH=3D/Users/helge/GNUstep/Library/Libraries/GuileGNUSTEP_NETWORK_ROOT=3D/Users/helge/GNUstepGNUSTEP_MAKEFILES=3D/Users/helge/GNUstep/Library/MakefilesGNUSTEP_ROOT=3D/Users/helge/GNUstepGNUSTEP_FLATTENED=3DyesGNUSTEP_HOST_OS=3Ddarwin8.2.0GNUSTEP_HOST_VENDOR=3DapplePATH=3D/Users/helge/GNUstep/Tools:~/bin:/usr/local/bin:/usr/X11R6/bin:/V= olumes/Store/fink-tiger/bin:/Volumes/Store/fink-tiger/sbin:/bin:/sbin:/usr= /bin:/usr/sbin:/usr/X11R6/binGNUSTEP_HOST_CPU=3DpowerpcDYLD_FRAMEWORK_PATH=3D/Users/helge/GNUstep/Library/FrameworksGNUSTEP_USER_ROOT=3D/Users/helge/GNUstepDYLD_LIBRARY_PATH=3D/Users/helge/GNUstep/Library/LibrariesGNUSTEP_SYSTEM_ROOT=3D/Users/helge/GNUstepGNUSTEP_PATHLIST=3D/Users/helge/GNUstepCLASSPATH=3D/Users/helge/GNUstep/Library/Libraries/Java---snap---Greets,=A0 = Helge--=A0OpenGroupware.org--=A0OpenGroupware.org MacOS X=
I = have done what you have described and I got my folder=A0GNUstep full of = librairies and tools ;-). Cool.=A0So I have = remember that I could not build=A0mod_ngobjweb without modifiing the = make file.I tried the make command again and got the same = result. Some hints ?ThanksPhilippeG5:~/SOPE-4.5/sope-appserver/= mod_ngobjweb philippe$ makemake: no: Command not = foundgcc -Wall -I. -fPIC -DSHARED_MODULE -DDARWIN = -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -I/usr/include/httpd -I=A0=A0= -c -o globals.o globals.c/usr/bin/ld: Undefined = symbols:_maincollect2: ld returned 1 exit = statusmake: *** [globals.o] Error 1G5:~/SOPE-4.5/sope-appserver/= mod_ngobjweb philippe$ = envMANPATH=3D:/usr/local/manTERM_PROGRAM=3DApple_Ter= minalTERM=3Dxterm-colorSHELL=3D/bin/bashG= NUSTEP_LOCAL_ROOT=3D/Users/philippe/GNUstepTERM_PROGRAM_VERSION= =3D133OLDPWD=3D/Users/philippe/SOPE-4.5/sope-appserverGNUSTEP_HOST=3Dpowerpc-apple-darwin8.5.0 USER=3Dphilippe=GUILE_LOAD_PATH=3D/Users/philippe/GNUstep/Library/Libraries/GuileGNUSTEP_NETWORK_ROOT=3D/Users/philippe/GNUstepGNUSTEP_MA= KEFILES=3D/Users/philippe/GNUstep/Library/MakefilesGNUSTEP_ROOT= =3D/Users/philippe/GNUstepGNUSTEP_FLATTENED=3Dyes__C= F_USER_TEXT_ENCODING=3D0x1F5:0:91GNUSTEP_HOST_OS=3Ddarwin8.5.0<= /DIV>GNUSTEP_HOST_VENDOR=3DapplePATH=3D/Users/philippe/GNU= step/Tools:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/teTeX/b= in/powerpc-apple-darwin-current:/usr/local/pgsql/bin:/usr/local/teTeX/bin/= powerpc-apple-darwin-currentPWD=3D/Users/philippe/SOPE-4.5/sope= -appserver/mod_ngobjwebGNUSTEP_HOST_CPU=3DpowerpcDYL= D_FRAMEWORK_PATH=3D/Users/philippe/GNUstep/Library/FrameworksSH= LVL=3D1HOME=3D/Users/philippeGNUSTEP_USER_ROOT=3D/Us= ers/philippe/GNUstepDYLD_LIBRARY_PATH=3D/Users/philippe/GNUstep= /Library/LibrariesGNUSTEP_SYSTEM_ROOT=3D/Users/philippe/GNUstep=LOGNAME=3DphilippeGNUSTEP_PATHLIST=3D/Users/philippe= /GNUstepCLASSPATH=3D/Users/philippe/GNUstep/Library/Libraries/J= avaLIBRARY_COMBO=3Dapple-apple-applSECURITYSESSIONID= =3Da064f0_=3D/usr/bin/envLe 2 avr. 06 =E0 = 17:51, Helge Hess a =E9crit :On 2. Apr 2006, at 17:40 Uhr, Philippe Laval = wrote:How shoud I = configure my computer to use gstep-make correctly ?=There are multiple modes to use gnustep-make with = SOPE, the easiest (on OSX) is to use a GNUstep deployment = root.Take a clean checkout of SOPE 4.5. First build = gnustep-make, its contained inside SOPE-4.5, like:---cd = gnustep-make./configure = --prefix=3D$HOME/GNUstep=A0 =A0 =A0 = =A0 =A0 =A0 \=A0 =A0 =A0 =A0 =A0 =A0 = --without-system-root =A0 =A0= =A0 =A0 =A0 =A0 \=A0 =A0 =A0 =A0 =A0 =A0 = --with-network-root=3D$HOME/GNUstep \=A0 =A0 =A0 =A0 = =A0 =A0 --with-local-root=3D$HOME/GNUstep =A0 \=A0 =A0 =A0 =A0 = =A0 =A0 --with-user-root=3D$HOME/GNUstep=A0 =A0 \=A0 =A0 =A0 =A0 = =A0 =A0 --with-library-combo=3Dapple-apple-appl \=A0 =A0 --disable-pchmake -s installsource = $HOME/GNUstep/Library/Makefiles/GNUstep.sh---snap---Then go to the SOPE-4.5 source dir and call = configure like---snip---./configure --enable-debug --disable-strip = \=A0 = --with-gnustep --gsmake=3D$GNUSTEP_SYSTEM_ROOT---snap---Should I = source someting ?There are ways to remove the = need for sourcing GNUstep.sh, either compiling as frameworks or = installing to FHS locations. The former could be incomplete and not well = tested and the latter is not very Mac like :-) (but the default way to = use SOPE on Linux)So: in the setup explained = above, yes, you need to source GNUstep.sh prior running a SOPE = application. You do NOT need to source GNUstep.sh for compilation (the = required variables are hardwired in the config.make created by = configure).=What are your environment = variables ?---snip---helge@groove$ env|grep GNUGNUSTEP_LOCAL_ROOT=3D/Users/helge/GNUstepGNUSTEP_HOST=3Dpowerpc-apple-darwin8.2.0GUILE_LOAD_PATH=3D/Users/helge/GNUstep/Library/Libraries/GuileGNUSTEP_NETWORK_ROOT=3D/Users/helge/GNUstepGNUSTEP_MAKEFILES=3D/Users/helge/GNUstep/Library/MakefilesGNUSTEP_ROOT=3D/Users/helge/GNUstepGNUSTEP_FLATTENED=3DyesGNUSTEP_HOST_OS=3Ddarwin8.2.0GNUSTEP_HOST_VENDOR=3DapplePATH=3D/Users/helge/GNUstep/Tools:~/bin:/usr/local/bin:/usr/X11R6/bin:/V= olumes/Store/fink-tiger/bin:/Volumes/Store/fink-tiger/sbin:/bin:/sbin:/usr= /bin:/usr/sbin:/usr/X11R6/binGNUSTEP_HOST_CPU=3DpowerpcDYLD_FRAMEWORK_PATH=3D/Users/helge/GNUstep/Library/FrameworksGNUSTEP_USER_ROOT=3D/Users/helge/GNUstepDYLD_LIBRARY_PATH=3D/Users/helge/GNUstep/Library/LibrariesGNUSTEP_SYSTEM_ROOT=3D/Users/helge/GNUstepGNUSTEP_PATHLIST=3D/Users/helge/GNUstepCLASSPATH=3D/Users/helge/GNUstep/Library/Libraries/Java---snap---Greets,=A0 = Helge--=A0OpenGroupware.org--=A0OpenGroupware.org MacOS X=
= --Apple-Mail-7-339296281-- From macosx@opengroupware.org Sun Apr 2 19:36:59 2006 From: macosx@opengroupware.org (Philippe Laval) Date: Sun, 2 Apr 2006 20:36:59 +0200 Subject: [OGo-MacOSX] Problem building iCalPortal sample with gnustep make on Mac OS 10.4.5 Message-ID: <2D52C519-6CA9-4601-BB77-26F31A8B26C8@free.fr> $ cd iCalPortal $ make ... Compiling file iCalView.m ... Compiling file iCalDayView.m ... Compiling file iCalWeekView.m ... make[1]: *** No rule to make target `WebDAV/shared_debug_obj/ subproject.o', needed by `iCalPortal.woa/./iCalPortal'. Stop. make: *** [iCalPortal.all.woapp.variables] Error 2 From macosx@opengroupware.org Sun Apr 2 21:07:34 2006 From: macosx@opengroupware.org (Helge Hess) Date: Sun, 2 Apr 2006 22:07:34 +0200 Subject: [OGo-MacOSX] Problem building iCalPortal sample with gnustep make on Mac OS 10.4.5 In-Reply-To: <2D52C519-6CA9-4601-BB77-26F31A8B26C8@free.fr> References: <2D52C519-6CA9-4601-BB77-26F31A8B26C8@free.fr> Message-ID: <0843A83C-D07A-47F9-9FC1-2D2A1AA67DE8@opengroupware.org> On 2. Apr 2006, at 20:36 Uhr, Philippe Laval wrote: > $ cd iCalPortal > $ make > ... > Compiling file iCalView.m ... > Compiling file iCalDayView.m ... > Compiling file iCalWeekView.m ... > make[1]: *** No rule to make target `WebDAV/shared_debug_obj/ > subproject.o', needed by `iCalPortal.woa/./iCalPortal'. Stop. > make: *** [iCalPortal.all.woapp.variables] Error 2 I've committed some small changes which may fix the issue, but probably not. However, it does work for me :-) Greets, Helge -- http://docs.opengroupware.org/Members/helge/ OpenGroupware.org From macosx@opengroupware.org Mon Apr 3 10:20:14 2006 From: macosx@opengroupware.org (=?ISO-8859-1?Q?Marcus_M=FCller?=) Date: Mon, 3 Apr 2006 11:20:14 +0200 Subject: [OGo-MacOSX] How can I have the application running in the background without using the windows server In-Reply-To: <4D838CDE-BD4A-4E62-82BC-A8AE3617028C@opengroupware.org> References: <25592043-C85B-4DD0-8F78-C3A2458DAFD5@free.fr> <2915E366-82CB-424F-A6AD-C851D3AE6E8F@opengroupware.org> <442E5DA3.6090708@mulle-kybernetik.com> <4D838CDE-BD4A-4E62-82BC-A8AE3617028C@opengroupware.org> Message-ID:--Apple-Mail-1-392574081 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed On 01.04.2006, at 15:58, Helge Hess wrote: > On 1. Apr 2006, at 13:01 Uhr, Marcus Mueller wrote: >> The new implementation is really nice ... it's very close to the >> WebObjects idea of doing things (it's using DirectActions and >> standard accessor methods for mapping the positional arguments in >> an XML-RPC call to the parameters probably used in the direct >> action ... very nifty indeed). However, the setup in the >> product.plist currently has one glitch ... you have to use the >> RequestHandler as the object for adding categories (XML-RPC >> methods) to - not the Application object. > > I'm pretty sure this isn't the case. You need to define the methods > on the SoObject you address in your XML-RPC calls. If you have > > /myapp/so/Calendar > > you need to define your methods on the "Calendar" object. > > If you need to define the methods on your request handler, you > probably use a URL like URL: > /myapp/[something] > which I think returns a WORequestHandler in the path lookup. Correct. I'm posting to /RPC2 ... thanks for your detailed explanation. Just for clarity's sake, I then need to add the "categories" to the SoObjectRequestHandler object, i.e.: --- snip --- categories = { SoObjectRequestHandler = { methods = { "system.listMethods" = { protectedBy = "View"; actionClass = "BMSOPEAction"; actionName = "listSystemMethods"; arguments = { positionalKeys = ( ); }; }; }; }; }; --- snap --- > Notably another option supported by SOPE (this is also how its done > in Zope) is to use the XML-RPC package name for path processing. > Say you want to invoke > > calendar.events.addEvent() > > you can either directly map the "calendar.events.addEvent" method > in product.plist OR you just map the "addEvent" method and use an > object hierarchy like: > > /myapp/so/calendar/events > > to define the XML-RPC call. SOPE will automatically revert to > namespace processing if it can't find fully qualified method on the > target object. (see SoObjectXmlRpcDispatcher.m) I see. This really offers quite some flexibility, although I can't think of a situation where this might be very useful. It's nice to have it, though. Cheers, Marcus -- Marcus Mueller . . . crack-admin/coder ;-) Mulle kybernetiK . http://www.mulle-kybernetik.com Current projects: http://www.mulle-kybernetik.com/znek/ --Apple-Mail-1-392574081 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1 On 01.04.2006, at = 15:58, Helge Hess wrote:On 1. Apr 2006, at 13:01 Uhr, Marcus Mueller = wrote:The new = implementation is really nice ... it's very close to the WebObjects idea = of doing things (it's using DirectActions and standard accessor methods = for mapping the positional arguments in an XML-RPC call to the = parameters probably used in the direct action ... very nifty indeed). = However, the setup in the product.plist currently has one glitch ... you = have to use the RequestHandler as the object for adding categories = (XML-RPC methods) to - not the Application object.=I'm pretty sure this isn't the case. You need to = define the methods on the SoObject you address in your XML-RPC calls. If = you have=A0 = /myapp/so/Calendaryou need to define your methods = on the "Calendar" object.If you need to define the = methods on your request handler, you probably use a URL like = URL:=A0 /myapp/[something]which I think returns a WORequestHandler in the path = lookup.Correct. I'm posting to = /RPC2 ... thanks for your detailed explanation. Just for clarity's sake, = I then need to add the "categories" to the=A0SoObjectRequestHandler = object, i.e.:--- snip ---=A0 = categories =3D {=A0 =A0 SoObjectRequestHandler =3D = {=A0 =A0 =A0 methods =3D {=A0 =A0 =A0=A0 = =A0"system.listMethods" =3D {=A0 =A0 =A0 =A0 =A0 protectedBy = =3D "View";=A0 =A0 =A0 =A0 =A0 actionClass =3D = "BMSOPEAction";=A0 =A0 =A0 =A0 =A0 actionName=A0 =3D = "listSystemMethods";=A0 =A0 =A0 =A0 =A0 arguments=A0=A0 =3D { = positionalKeys =3D ( ); };=A0 =A0 =A0 =A0 };=A0 =A0 = =A0 };=A0 =A0 };=A0 };--- snap = ---Notably = another option supported by SOPE (this is also how its done in Zope) is = to use the XML-RPC package name for path processing. Say you want to = invoke=A0 = calendar.events.addEvent()you can either directly map the = "calendar.events.addEvent" method in product.plist OR you just map the = "addEvent" method and use an object hierarchy like:=A0 = /myapp/so/calendar/eventsto define the XML-RPC call. SOPE = will automatically revert to namespace processing if it can't find fully = qualified method on the target object. (see = SoObjectXmlRpcDispatcher.m)I see. This really offers quite = some flexibility, although I can't think of a situation where this might = be very useful. It's nice to have it, though.= --Apple-Mail-1-392574081-- From macosx@opengroupware.org Mon Apr 3 18:55:17 2006 From: macosx@opengroupware.org (Helge Hess) Date: Mon, 3 Apr 2006 19:55:17 +0200 Subject: [OGo-MacOSX] How can I have the application running in the background without using the windows server In-Reply-To:Cheers,
=A0=A0Marcus
--=A0
Marcus Mueller=A0=A0.=A0=A0.=A0=A0.=A0=A0crack-admin/coder = ;-)
Mulle = kybernetiK=A0=A0.=A0=A0http://www.mulle-kybernetik.com= A>
Current = projects:=A0http://www.mulle-kybernetik= .com/znek/
=References: <25592043-C85B-4DD0-8F78-C3A2458DAFD5@free.fr> <2915E366-82CB-424F-A6AD-C851D3AE6E8F@opengroupware.org> <442E5DA3.6090708@mulle-kybernetik.com> <4D838CDE-BD4A-4E62-82BC-A8AE3617028C@opengroupware.org> Message-ID: <77D19F1F-D103-41DD-BF5A-606A2B64F0EC@opengroupware.org> On 3. Apr 2006, at 11:20 Uhr, Marcus M=FCller wrote: > Correct. I'm posting to /RPC2 ... thanks for your detailed =20 > explanation. Maybe we should make the /RPC2 URL a special case which returns the =20 application object. But then maybe not ;-) > Just for clarity's sake, I then need to add the "categories" to the =20= > SoObjectRequestHandler object, i.e.: Yes, RPC2 is a registered request handler (the SoApplication -=20 lookupName:inContext: will try to resolve names by calling -=20 handlerForKey:). > --- snip --- > categories =3D { > SoObjectRequestHandler =3D { Yup, this is messy. Just define a proper object which is your XML-RPC =20= API and attach that to the application object. Actually it might even =20= be possible to use "RPC2" as a key for that object, like: categories =3D { SoApplication =3D { slots =3D { RPC2 =3D { defaultAccess =3D allow; protectedBy =3D " "; valueClass =3D ZNeKAPI; }; }; }; }; classes =3D { ZNeKAPI =3D { methods =3D { > "system.listMethods" =3D { > protectedBy =3D "View"; > actionClass =3D "BMSOPEAction"; > actionName =3D "listSystemMethods"; > arguments =3D { positionalKeys =3D ( ); }; > }; > }; }; }; Might work, didn't try. > I see. This really offers quite some flexibility, although I can't =20 > think of a situation where this might be very useful. Hu? This allows you to properly package your API. Like events addEvent deleteEvent tasks addTask deleteTask Obviously you don't want to put your whole XML-RPC API in just a =20 single object/class. A bit more obscure is the ability to address individual objects with =20 XML-RPC. But still quite cool IMHO. Greets, Helge --=20 http://docs.opengroupware.org/Members/helge/ OpenGroupware.org From macosx@opengroupware.org Tue Apr 4 00:19:17 2006 From: macosx@opengroupware.org (=?ISO-8859-1?Q?Marcus_M=FCller?=) Date: Tue, 4 Apr 2006 01:19:17 +0200 Subject: [OGo-MacOSX] How can I have the application running in the background without using the windows server In-Reply-To: <77D19F1F-D103-41DD-BF5A-606A2B64F0EC@opengroupware.org> References: <25592043-C85B-4DD0-8F78-C3A2458DAFD5@free.fr> <2915E366-82CB-424F-A6AD-C851D3AE6E8F@opengroupware.org> <442E5DA3.6090708@mulle-kybernetik.com> <4D838CDE-BD4A-4E62-82BC-A8AE3617028C@opengroupware.org> <77D19F1F-D103-41DD-BF5A-606A2B64F0EC@opengroupware.org> Message-ID: --Apple-Mail-13-442916834 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed On 03.04.2006, at 19:55, Helge Hess wrote: > Yup, this is messy. Just define a proper object which is your XML- > RPC API and attach that to the application object. Actually it > might even be possible to use "RPC2" as a key for that object, like: > > categories = { > SoApplication = { > slots = { > RPC2 = { > defaultAccess = allow; > protectedBy = " "; > valueClass = ZNeKAPI; Is this some future extension - or is this already possible? This is some very cool idea for providing "aliases" ... > classes = { > ZNeKAPI = { > methods = { >> "system.listMethods" = { >> protectedBy = "View"; >> actionClass = "BMSOPEAction"; >> actionName = "listSystemMethods"; >> arguments = { positionalKeys = ( ); }; Is this correct? You provide some value class which itself doesn't implement anything as it's defining methods which get redirected to the BMSOPEAction class. Or did you skip (overlook) that part of the definition and meant something different? > Might work, didn't try. > >> I see. This really offers quite some flexibility, although I can't >> think of a situation where this might be very useful. > > Hu? This allows you to properly package your API. Like > > events > addEvent > deleteEvent > tasks > addTask > deleteTask > > Obviously you don't want to put your whole XML-RPC API in just a > single object/class. Sure, of course not. It already works by mapping methods to action classes, just as in the example given above. Packaging everything depending on URLs is cool, but not very intuitive to use in other client side implementations. In python's xmlrpclib module, you need different server objects for different URLs. It's thus not very "handy" to access such an API ... like it or not, but XML-RPC works with these crude package-prefixed method names. But don't get me wrong - I like both ideas, it's just that I - personally - wouldn't use the URL approach for XML-RPC, nor would I endorse it. > A bit more obscure is the ability to address individual objects > with XML-RPC. But still quite cool IMHO. What do you mean? Cheers, Marcus -- Marcus Mueller . . . crack-admin/coder ;-) Mulle kybernetiK . http://www.mulle-kybernetik.com Current projects: http://www.mulle-kybernetik.com/znek/ --Apple-Mail-13-442916834 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1 On 03.04.2006, at = 19:55, Helge Hess wrote:Yup, this is messy. Just define a proper object = which is your XML-RPC API and attach that to the application object. = Actually it might even be possible to use "RPC2" as a key for that = object, like:=A0 = categories =3D {=A0 =A0 SoApplication =3D = {=A0 =A0 =A0= slots =3D {=A0 =A0 =A0 =A0 RPC2 =3D = {=A0 =A0 =A0= =A0 =A0 defaultAccess =3D allow;=A0 =A0 =A0 =A0 =A0 protectedBy = =A0 =3D = "<public>";=A0 =A0 =A0 =A0 =A0 = valueClass=A0 =A0 =3D = ZNeKAPI;Is this some future extension - = or is this already possible? This is some very cool idea for providing = "aliases" ...=A0=A0cla= sses =3D {=A0 =A0 ZNeKAPI =3D {=A0 =A0 =A0 = methods =3D {=A0 =A0 =A0 =A0 = "system.listMethods" =3D {=A0 =A0 =A0 =A0 =A0 protectedBy =3D= "View";=A0 =A0 =A0 =A0 =A0 actionClass =3D= "BMSOPEAction";=A0 =A0 =A0 =A0 =A0 = actionName=A0 =3D = "listSystemMethods";=A0 =A0 =A0 =A0 =A0 arguments = =A0 =3D { positionalKeys =3D = ( ); };Is this correct? You provide = some value class which itself doesn't implement anything as it's = defining methods which get redirected to the BMSOPEAction class. Or did = you skip (overlook) that part of the definition and meant something = different?Might work, didn't try.I see. This really offers quite some flexibility, = although I can't think of a situation where this might be very = useful.Hu? This allows you to properly = package your API. Like=A0 events=A0 =A0 = addEvent=A0 =A0 deleteEvent=A0 = tasks=A0 =A0 addTask=A0 =A0 = deleteTaskObviously you don't want to put your whole XML-RPC = API in just a single object/class.Sure, of course not. It already = works by mapping methods to action classes, just as in the example given = above.Packaging everything = depending on URLs is cool, but not very intuitive to use in other client = side implementations. In python's xmlrpclib module, you need different = server objects for different URLs. It's thus not very "handy" to access = such an API ... like it or not, but XML-RPC works with these crude = package-prefixed method names.But don't get me wrong - I = like both ideas, it's just that I - personally - wouldn't use the URL = approach for XML-RPC, nor would I endorse it.A bit more obscure is the = ability to address individual objects with XML-RPC. But still quite cool = IMHO.What do you mean?=Cheers,
=A0=A0Marcus
--=A0
Marcus Mueller=A0=A0.=A0=A0.=A0=A0.=A0=A0crack-admin/coder = ;-)
Mulle = kybernetiK=A0=A0.=A0=A0http://www.mulle-kybernetik.com= A>
Current = projects:=A0http://www.mulle-kybernetik= .com/znek/
=
= --Apple-Mail-13-442916834-- From macosx@opengroupware.org Tue Apr 4 00:37:48 2006 From: macosx@opengroupware.org (Helge Hess) Date: Tue, 4 Apr 2006 01:37:48 +0200 Subject: [OGo-MacOSX] How can I have the application running in the background without using the windows server In-Reply-To:References: <25592043-C85B-4DD0-8F78-C3A2458DAFD5@free.fr> <2915E366-82CB-424F-A6AD-C851D3AE6E8F@opengroupware.org> <442E5DA3.6090708@mulle-kybernetik.com> <4D838CDE-BD4A-4E62-82BC-A8AE3617028C@opengroupware.org> <77D19F1F-D103-41DD-BF5A-606A2B64F0EC@opengroupware.org> Message-ID: On 4. Apr 2006, at 01:19 Uhr, Marcus M=FCller wrote: > Is this some future extension - or is this already possible? Not sure what you mean, but everything outlined should be "already =20 possible". > Is this correct? You provide some value class which itself doesn't =20 > implement anything as it's defining methods which get redirected to =20= > the BMSOPEAction class. Or did you skip (overlook) that part of the =20= > definition and meant something different? Get the Zope/SOPE concept ;-) The given class (SoClass) *does* have a =20= method. That the method in turn is implemented as a direct action and =20= not a regular ObjC method is just a minor difference. (a SoMethod is =20 anything "callable"). Thats Python/Zope style. Implementation doesn't matter. Everything =20 which is 'callable' can be a method, be it a WOComponent, a =20 WODirectAction or a plain ObjC selector (or a SQLMethod which =20 executes SQL or a PythonMethod etc etc). > Packaging everything depending on URLs is cool, but not very =20 > intuitive to use in other client side implementations. Reread my initial response. You don't need to use URLs, you can also =20 use XML-RPC namespaces. Processing is exactly the same. Either use server =3D Server("http://host/MyApp") server.events.deleteEvent(12345) or use server =3D Server("http://host/MyApp/so/events") server.deleteEvent(12345) Its your choice. For the app developer it doesn't matter. > In python's xmlrpclib module, you need different server objects for =20= > different URLs. No, you don't. >> A bit more obscure is the ability to address individual objects =20 >> with XML-RPC. But still quite cool IMHO. > What do you mean? Well, object oriented programming ;-) Say you have an event object =20 living at (mapped to): http://host/zidestore/so/helge/Calendars/12634 you can run XML-RPC "methods" on it. (XML-RPC "methods" are not =20 really methods but just functions, unless you map "self" to the URL ...) Greets, Helge --=20 http://docs.opengroupware.org/Members/helge/ OpenGroupware.org From macosx@opengroupware.org Wed Apr 5 13:51:42 2006 From: macosx@opengroupware.org (william) Date: Wed, 5 Apr 2006 13:51:42 +0100 Subject: [OGo-MacOSX] Sorry to bother but cannot get past the start line Message-ID: running tiger server installed xcode darwin ports tried installing gnumake step as per various instructions but when i try sourcing it file not found I know this might seem basic but my company have sold the idea of this product now they want me to impliment it despite never trying first. Any help would be greatfully recieved From macosx@opengroupware.org Wed Apr 5 14:30:21 2006 From: macosx@opengroupware.org (Helge Hess) Date: Wed, 5 Apr 2006 15:30:21 +0200 Subject: [OGo-MacOSX] Sorry to bother but cannot get past the start line In-Reply-To: References: Message-ID: On 5. Apr 2006, at 14:51 Uhr, william wrote: > tried installing gnumake step as per various instructions but when > i try sourcing it file not found Well, you need to post more a exact description of what you have done and what error messages you get (eg the exact commands you use to source what file). Helge -- http://docs.opengroupware.org/Members/helge/ OpenGroupware.org From macosx@opengroupware.org Wed Apr 5 23:16:59 2006 From: macosx@opengroupware.org (=?ISO-8859-1?Q?Marcus_M=FCller?=) Date: Thu, 6 Apr 2006 00:16:59 +0200 Subject: [OGo-MacOSX] Xcode changes in r1244 Message-ID: <61D15229-F2C7-4B58-ADE5-E9A864318CF4@mulle-kybernetik.com> --Apple-Mail-1-611978426 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Hi all, the "Wrapper" buildstyle is now producing universal (fat) binaries by default. In order to do so, its SDKROOT has been fixed to 10.4u. It's possible that not everything will compile now, as you usually don't have i386 versions of PostgreSQL and SQLite3 installed. However, the Wrapper buildstyle is definitely aimed at deployments ... and universal is now the way to go. :-) I didn't touch the "Development" buildstyle - everything here should stay as it was before. Cheers, Marcus -- Marcus Mueller . . . crack-admin/coder ;-) Mulle kybernetiK . http://www.mulle-kybernetik.com Current projects: http://www.mulle-kybernetik.com/znek/ --Apple-Mail-1-611978426 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1 Hi all, the "Wrapper" buildstyle is = now producing universal (fat) binaries by default. In order to do so, = its SDKROOT has been fixed to 10.4u. It's possible that not everything = will compile now, as you usually don't have i386 versions of PostgreSQL = and SQLite3 installed.However, the Wrapper = buildstyle is definitely aimed at deployments ... and universal is now = the way to go. :-)
I didn't touch the = "Development" buildstyle - everything here should stay as it was = before.
Cheers,
=A0=A0Marcus
--=A0
Marcus Mueller=A0=A0.=A0=A0.=A0=A0