mirror of
https://github.com/gnustep/libs-gsweb.git
synced 2025-02-22 19:21:23 +00:00
* GSWeb.framework/GSWApplication.m: added "exit" in terminate generate simple response in -handleException:inContext: be sure to have a context in -_handleException:inContext: generate simple response in -_handleException:inContext: generate simple response in -handlePageRestorationErrorInContext: be sure to have a context in -_handlePageRestorationErrorInContext: generate simple response in -_handlePageRestorationErrorInContext: generate simple response in -handleSessionCreationErrorInContext: generate simple response in -handleSessionRestorationErrorInContext: be sure to have a context in -_handleSessionRestorationErrorInContext: generate simple response in -_handleSessionRestorationErrorInContext: * GSWeb.framework/GSWComponentRequestHandler.m: added default response when we catch exceptions,... handle more exceptions * GSWeb.framework/GSWConstants.h/.m: added GSWHTTPHeader_UserAgent * GSWeb.framework/GSWDefaultAdaptor.m: terminate application if it is locked * GSWeb.framework/GSWDefaultAdaptorThread.m: Added default response to handle exceptions and various errors Correct bug in request data reading (request datas were sometimes not complely readen) * GSWeb.framework/GSWFileUpload.m: Added Exception handling * GSWeb.framework/GSWRequest.m: add exception handling * GSWeb.framework/GSWResponse.h/.m: added GSWResponse (GSWResponseError) * GSWAdaptor/Apache/GNUmakefile: added -DEAPI * GSWAdaptor/Apache/mod_gsweb.c: added debug traces * GSWAdaptor/common/GSWConfig.c/.h: added debug traces, added init parameter * Makefile.postamble: added docs generation * Doc/GNUstepWeb-HOWTO moved to howto.gsdoc * Doc/gsweb.gsdoc: new file * GSWeb.framework/Makefile.postamble: added docs generation * GSWExtensions.framework/Makefile.postamble: added docs generation * GSWExtensionsGSW.framework/Makefile.postamble: added docs generation git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@7244 72102866-910b-0410-8b05-ffd578937521
193 lines
5.5 KiB
XML
193 lines
5.5 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 0.6.6//EN" "http://www.gnustep.org/gsdoc-0_6_6.xml">
|
|
<gsdoc base="howto">
|
|
<head>
|
|
<title>GNUstepWeb HOWTO</title>
|
|
<author name="Mirko Viviani">
|
|
<email address="mirko.viviani@rccr.cremona.it"/>
|
|
<url url="http://www.gnustep.org/developers/whoiswho.html"/>
|
|
<desc></desc>
|
|
</author>
|
|
<version>0.1</version>
|
|
<date>5 february, 2000</date>
|
|
<abstract>This document explains how to build and manage GNUstepWeb applications.</abstract>
|
|
<copy>2000 Free Software Foundation, Inc.</copy>
|
|
</head>
|
|
|
|
<body>
|
|
<front>
|
|
<contents/>
|
|
|
|
<chapter>
|
|
<heading>Introduction</heading>
|
|
<p>This document explains how to build GNUstepWeb applications, explain differences from Apple WebObjects and known bug of these libraries.</p>
|
|
</chapter>
|
|
</front>
|
|
|
|
<chapter>
|
|
<heading>Project wrapper</heading>
|
|
<p>Follow these guidelines to maintain your GSWeb application wrapper.</p>
|
|
<example>
|
|
MyApp/ Application wrapper
|
|
Main.gswc/ First page requested by GSWeb
|
|
Main.html
|
|
Main.gswd
|
|
|
|
MyApp_main.m main() function
|
|
Main.m Your Main class code
|
|
Main.h Your Main class interface
|
|
|
|
GNUmakefile
|
|
Makefile.preamble
|
|
Makefile.postamble
|
|
|
|
Main.gswa/ Compiled application
|
|
Main.debug/ Compiled application with debug support
|
|
</example>
|
|
</chapter>
|
|
|
|
|
|
<chapter>
|
|
<heading>Makefiles</heading>
|
|
<p> </p>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<heading>Debug</heading>
|
|
<p>In order to debug your application compile it with "gmake debug=yes" and
|
|
install with "gmake install debug=yes". You'll find your application in
|
|
GNUSTEP_SYSTEM_ROOT/GSWApps/MyApp.debug</p>
|
|
<p>Now you can enable debug starting your app with -GSWebDebug=<option></p>
|
|
<example>
|
|
Options
|
|
-------------
|
|
dflt
|
|
GSWebFn
|
|
seriousError
|
|
exception
|
|
error
|
|
gswdync
|
|
low
|
|
gswcomponents
|
|
associations
|
|
sessions
|
|
bundles
|
|
requests
|
|
resmanager
|
|
options
|
|
info
|
|
</example>
|
|
<p>There are two special options: all and most. The following table explain
|
|
which options enable.</p>
|
|
<example>
|
|
Options all most
|
|
------------- --- ----
|
|
dflt x x
|
|
GSWebFn x
|
|
seriousError x x
|
|
exception x x
|
|
error x x
|
|
gswdync x x
|
|
low x
|
|
gswcomponents x x
|
|
associations x x
|
|
sessions x
|
|
bundles x
|
|
requests x x
|
|
resmanager x
|
|
options x
|
|
info x x
|
|
</example>
|
|
<p>
|
|
NOTE: GSWeb will search componentes first in GNUSTEP_SYSTEM_ROOT/GSWApps/Myapp.gswa
|
|
so before start your debug app remove or update MyApp.gswa wrapper
|
|
with "gmake install".</p>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<heading>Threaded applications</heading>
|
|
<p>By default GSWeb will start your application in Multi Thread mode.
|
|
In order to use this facility your libobjc.a must be compiled with thread
|
|
support, else you app won't work.</p>
|
|
<p>If you don't have ObjC thread support start your app with -GSWMTEnabled NO</p>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<heading>WebObjects compatibility</heading>
|
|
<p>WebScript is not implemented yet, you can only use compiled components.</p>
|
|
<p>You must use Objective-C code, at the moment there aren't equivalent Java classes.</p>
|
|
<p>The following table explain suffix differences:</p>
|
|
<example>
|
|
|
|
Name WebObjects GSWeb
|
|
---- ---------- -----
|
|
Application woa gswa
|
|
Component wo gswc
|
|
Component definition wod gswd
|
|
Script wos gsws
|
|
Archive woo gswi
|
|
Library woso gswso
|
|
URL Prefix /WebObjects /GSWeb
|
|
Resource request handler wr rr
|
|
Component request handler wo cr
|
|
Direct request handler wa dr
|
|
ObjC classes prefix WO GSW
|
|
</example>
|
|
<p>If you need WO name space compatibility set to 1 GSWEB_NAMES in
|
|
GSWeb.framework/GSWConfig.h and recompile all the libraries.</p>
|
|
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<heading>Known bugs</heading>
|
|
|
|
<p>In order to make your application working you can follow these guidelines:</p>
|
|
<p>1. Always create an Application and Session class also if you don't use them.</p>
|
|
<p>
|
|
<code>
|
|
@interface Session:GSWSession
|
|
{
|
|
}
|
|
|
|
@end
|
|
|
|
@interface Application:GSWApplication
|
|
{
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation Session
|
|
@end
|
|
|
|
@implementation Application
|
|
@end
|
|
</code></p>
|
|
<p>2. Start your application with -GSWHost hostname else it will crash.</p>
|
|
|
|
<p>4. The HTML parser has some problems with percentage fields, eg:</p>
|
|
<p>
|
|
<TABLE WIDTH=100% BORDER="0"> This does NOT work
|
|
<TABLE WIDTH="100%" BORDER="0"> This work
|
|
</p>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<heading>Documentation</heading>
|
|
<p>You can find WebObjects documentation and good tutorials <uref url="http://developer.apple.com/techpubs/enterprise/WebObjects/">here</uref></p>
|
|
</chapter>
|
|
|
|
<chapter>
|
|
<heading>Trademarks</heading>
|
|
<p>WebObjects is a trademark of Apple Computer, Inc.</p>
|
|
</chapter>
|
|
<back>
|
|
<!--
|
|
<chapter>
|
|
<heading>Afterward</heading>
|
|
</chapter>
|
|
-->
|
|
<index type="label"/>
|
|
</back>
|
|
</body>
|
|
</gsdoc>
|