libs-gsweb/Doc/howto.gsdoc
Manuel Guesdon 77cbf60540 2000-08-14 Manuel Guesdon <mguesdon@orange-concept.com>
* 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
2000-08-25 10:36:16 +00:00

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=&#60;option&#62;</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>
&#60;TABLE WIDTH&#61;100&#37; BORDER&#61;&#34;0&#34;&#62; This does NOT work
&#60;TABLE WIDTH&#61;&#34;100&#37;&#34; BORDER&#61;&#34;0&#34;&#62; 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>