<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.gnustep.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dwetzel</id>
	<title>GNUstepWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.gnustep.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dwetzel"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php/Special:Contributions/Dwetzel"/>
	<updated>2026-04-19T10:42:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.7</generator>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=6982</id>
		<title>GNUstepWeb</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=6982"/>
		<updated>2017-12-29T16:50:40Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Framework|&lt;br /&gt;
shortdescription = GNUstepWeb is a web application library |&lt;br /&gt;
&lt;br /&gt;
currentversion = [http://gnustep.org] |&lt;br /&gt;
&lt;br /&gt;
releasedate = use git |&lt;br /&gt;
&lt;br /&gt;
license = LGPL2|&lt;br /&gt;
&lt;br /&gt;
overview =  GNUstepWeb is a development framework for web applications written in Objective-C which is designed to be source-code compatible with [https://en.wikipedia.org/wiki/WebObjects WebObjects] 4.5 - a product originally developed by NeXT Inc, whose newer versions have been released by Apple and are Java-based. |&lt;br /&gt;
&lt;br /&gt;
features = This library is a component of the [[GNUstep]] project in the dev-libs section and is available in the standard ways - such as the [https://github.com/gnustep/libs-gsweb GNUstep GitHub Repository].&lt;br /&gt;
&lt;br /&gt;
David Wetzel recommends using the current version that can be obtained by executing the following [[GIT]] check out in an empty directory&lt;br /&gt;
 git clone https://github.com/gnustep/libs-gsweb &lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
maintainer = David Wetzel |&lt;br /&gt;
&lt;br /&gt;
Installation tips =&lt;br /&gt;
* Install GNUstep core and gdl2 components&lt;br /&gt;
* Install Apache 2.x&lt;br /&gt;
* Download svn current version (see above)&lt;br /&gt;
* Install Apache2 / GNUstepWeb adaptor module (see GSWAdaptors/Apache/INSTAL in GNUstepWeb Tree)&lt;br /&gt;
* Setup Adaptor configuration (see GSWAdaptors/Apache/INSTAL)&lt;br /&gt;
* Build and install GNUstepWeb (see INSTALL) in GNUstepWeb Tree&lt;br /&gt;
* Build and install Examples/hello (see Examples/hello/INSTALL)&lt;br /&gt;
* Run hello&lt;br /&gt;
* Point your browser to: http://localhost/GSWeb/hello.gswa.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
relatedlinks = &lt;br /&gt;
* Apple has [http://developer.apple.com/legacy/mac/library/documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/webobjects.html#//apple_ref/doc/uid/TP40006775 legacy WebObjects 4.5 documentation] available. Find all other legacy documentation [http://developer.apple.com/legacy/mac/library/navigation/index.html here], just filter for WebObjects.&lt;br /&gt;
* [[Creating A Simple GSWeb Application]] is very easy. |&lt;br /&gt;
&lt;br /&gt;
category = [[Category:GNUstepWeb]] [[Category:Networking_Frameworks]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=6973</id>
		<title>GNUstepWeb</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=6973"/>
		<updated>2017-09-01T00:40:53Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Framework|&lt;br /&gt;
shortdescription = GNUstepWeb is a web application library |&lt;br /&gt;
&lt;br /&gt;
currentversion = [http://gnustep.org] |&lt;br /&gt;
&lt;br /&gt;
releasedate = use git |&lt;br /&gt;
&lt;br /&gt;
license = LGPL2|&lt;br /&gt;
&lt;br /&gt;
overview =  GNUstepWeb is a development framework for web applications written in Objective-C which is designed to be source-code compatible with [http://www.apple.com/webobjects/ WebObjects] 4.5 - a product originally developed by NeXT Inc, whose newer versions have been released by Apple and are Java-based. |&lt;br /&gt;
&lt;br /&gt;
features = This library is a component of the [[GNUstep]] project in the dev-libs section and is available in the standard ways - such as the [ftp://ftp.gnustep.org/pub/daily-snapshots/dev-libs.current.tar.bz2 GNUstep ftp site].&lt;br /&gt;
&lt;br /&gt;
David Wetzel recommends using the current version that can be obtained by executing the following [[GIT]] check out in an empty directory&lt;br /&gt;
 git clone https://github.com/gnustep/libs-gsweb &lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
maintainer = David Wetzel |&lt;br /&gt;
&lt;br /&gt;
Installation tips =&lt;br /&gt;
* Install GNUstep core and gdl2 components&lt;br /&gt;
* Install Apache 2.x&lt;br /&gt;
* Download svn current version (see above)&lt;br /&gt;
* Install Apache2 / GNUstepWeb adaptor module (see GSWAdaptors/Apache/INSTAL in GNUstepWeb Tree)&lt;br /&gt;
* Setup Adaptor configuration (see GSWAdaptors/Apache/INSTAL)&lt;br /&gt;
* Build and install GNUstepWeb (see INSTALL) in GNUstepWeb Tree&lt;br /&gt;
* Build and install Examples/hello (see Examples/hello/INSTALL)&lt;br /&gt;
* Run hello&lt;br /&gt;
* Point your browser to: http://localhost/GSWeb/hello.gswa.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
relatedlinks = &lt;br /&gt;
* Apple has [http://developer.apple.com/legacy/mac/library/documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/webobjects.html#//apple_ref/doc/uid/TP40006775 legacy WebObjects 4.5 documentation] available. Find all other legacy documentation [http://developer.apple.com/legacy/mac/library/navigation/index.html here], just filter for WebObjects.&lt;br /&gt;
* [[Creating A Simple GSWeb Application]] is very easy. |&lt;br /&gt;
&lt;br /&gt;
category = [[Category:GNUstepWeb]] [[Category:Networking_Frameworks]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GDL_FAQ&amp;diff=5944</id>
		<title>GDL FAQ</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GDL_FAQ&amp;diff=5944"/>
		<updated>2010-06-28T00:27:38Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
=== Should I Make Foreign Key Attributes Class Properties? === &lt;br /&gt;
&lt;br /&gt;
No. If you need to access a foreign key value (because you want to display it in the user interface, for example), you should access it through the corresponding destination object.&lt;br /&gt;
&lt;br /&gt;
[[Category:Database Frameworks]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GDL&amp;diff=5943</id>
		<title>GDL</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GDL&amp;diff=5943"/>
		<updated>2010-06-28T00:27:14Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GNUstep Database Library 2 (GDL2) is a set of libraries to map Objective-C objects to rows of relational database management systems (RDBMS). It aims to be compatible with Enterprise Objects Framework ([[EOF]]) as released with WebObjects 4.5 from Apple Inc and is used in conjuction with [[GNUstepWeb]].&lt;br /&gt;
&lt;br /&gt;
==== Current Version: [ftp://ftp.gnustep.org/pub/gnustep/libs/gnustep-dl2-0.12.0.tar.gz 0.12.0] ====&lt;br /&gt;
&lt;br /&gt;
* Released February 20, 2009&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
GDL2 consists of the following components: &lt;br /&gt;
&lt;br /&gt;
* EOControl&lt;br /&gt;
: The fundamental abstraction library which includes many non RDBMS related extensions such as KeyValueCoding extensions and other categories. Most importantly it contains the classes which handle the coordination of object graphs namely EOEditingContext.&lt;br /&gt;
&lt;br /&gt;
* EOAccess&lt;br /&gt;
: This library implements the underlying mechanism to retrieve and store data in RDBMS. It defines the abstract classes like EOAdaptor which are subclassed to interface with concrete RDBMS implementations.&lt;br /&gt;
&lt;br /&gt;
* EOInterface&lt;br /&gt;
: This library implements classes used to synchronize UI components such as NSTextFields, NSButtons and NSTableViews with the state of objects which an EOEditingContext contains.&lt;br /&gt;
&lt;br /&gt;
* EOAdaptors&lt;br /&gt;
: This is a collection of concrete EOAdaptor projects needed to connect to specific databases. GDL2 currently supplies an Adaptor for PostgreSQL and SQLite.&lt;br /&gt;
&lt;br /&gt;
* DBModeler&lt;br /&gt;
: GDL2 offers an alpha version of [[DBModeler]] to create and maintain .eomodel(d) files.&lt;br /&gt;
&lt;br /&gt;
* EOModeler&lt;br /&gt;
: This framework is used by DBModeler can be used to write bundles for DBModeler to interface with the application.&lt;br /&gt;
&lt;br /&gt;
* GDL2Palette&lt;br /&gt;
: Both Gorm and InterfaceBuilder can be used to create nib files which contain display groups an EOEditingContext.  The palette provides those applications with the necessary code to hook up UI components with the model objects.&lt;br /&gt;
&lt;br /&gt;
* Examples/Trading&lt;br /&gt;
: The Trading framework, provides an example model, and some routines to create a database from the model, and populate the database with data, while not an example itself it is intended for use by example applications using GDL2 alone, EOInterface or GSWeb, and for higher level tests.&lt;br /&gt;
&lt;br /&gt;
* Using GDL2 in other Projects&lt;br /&gt;
&lt;br /&gt;
: Typically you would want to use EOControl and EOAccess for tools and&lt;br /&gt;
EOInterface additionally for applications.&lt;br /&gt;
&lt;br /&gt;
:: Tools:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:: Applications:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess EOInterface&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
:: GDL2 based Palettes / DBModeler Bundles:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess EOInterface EOModeler&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== State ===&lt;br /&gt;
&lt;br /&gt;
Currently GDL2 is meant for developers who can help test and contribute to the current code or are willing to test the interface. It is not ready for general purpose production code. Having said that, it should be mentioned that GDL2 is being used in production environments and has been much tested in those contexts.&lt;br /&gt;
&lt;br /&gt;
Expect the current interface to change especially with respect to functions and methods not documented in EOF 4.5. Even the library names themselves may change.&lt;br /&gt;
&lt;br /&gt;
If you identify something that you need, please let us know at or even better get copyright assignment for the FSF and post a patch.&lt;br /&gt;
&lt;br /&gt;
=== Maintainer ===&lt;br /&gt;
&lt;br /&gt;
* [mailto:ayers@fsfe.org David Ayers]&lt;br /&gt;
* [mailto:dave@turbocat.de David Wetzel]&lt;br /&gt;
* [mailto:ratmice@gmail.com Matt Rice]&lt;br /&gt;
&lt;br /&gt;
[[Category:Database Frameworks]]&lt;br /&gt;
[[Category:Frameworks]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GDL_FAQ&amp;diff=5942</id>
		<title>GDL FAQ</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GDL_FAQ&amp;diff=5942"/>
		<updated>2010-06-28T00:25:51Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
=== Should I Make Foreign Key Attributes Class Properties? === &lt;br /&gt;
&lt;br /&gt;
No. If you need to access a foreign key value (because you want to display it in the user interface, for example), you should access it through the corresponding destination object.&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GDL_FAQ&amp;diff=5941</id>
		<title>GDL FAQ</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GDL_FAQ&amp;diff=5941"/>
		<updated>2010-06-28T00:24:02Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Should I Make Foreign Key Attributes Class Properties?&lt;br /&gt;
&lt;br /&gt;
No. If you need to access a foreign key value (because you want to display it in the user interface, for example), you should access it through the corresponding destination object.&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=User:Dwetzel&amp;diff=5940</id>
		<title>User:Dwetzel</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=User:Dwetzel&amp;diff=5940"/>
		<updated>2010-06-28T00:21:50Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''David Wetzel'''&lt;br /&gt;
&lt;br /&gt;
'''E-mail''': dave at turbocat dot de&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWebFAQ&amp;diff=5928</id>
		<title>GSWebFAQ</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWebFAQ&amp;diff=5928"/>
		<updated>2010-06-05T17:58:30Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Problems with encoding ===&lt;br /&gt;
&lt;br /&gt;
WO 4 uses 8-bit ISO Latin 1 encoding and WO 5 uses an 8-bit representation of Unicode characters (NSUTF8StringEncoding).&lt;br /&gt;
Our code uses &amp;lt;pre&amp;gt; [NSString  defaultCStringEncoding]; &amp;lt;/pre&amp;gt; as default. One way of changing the encoding in your application is to call&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[WOMessage setDefaultEncoding: NSUTF8StringEncoding];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
before you begin generating pages.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Platform:Linux&amp;diff=5923</id>
		<title>Platform:Linux</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Platform:Linux&amp;diff=5923"/>
		<updated>2010-06-01T16:54:37Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: /* Install from source: Dependencies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debian / Ubuntu ==&lt;br /&gt;
=== Debian ===&lt;br /&gt;
Since Debian ''Sarge'' (3.1) you can use '''apt-get''' to obtain GNUstep packages.&lt;br /&gt;
&lt;br /&gt;
 # apt-get install x-window-system-core wmaker gnustep gnustep-devel gnustep-games&lt;br /&gt;
&lt;br /&gt;
to install GNUstep, X11 and Window Maker.&lt;br /&gt;
&lt;br /&gt;
The best way to get up-to-date GNUstep packages is to upgrade from ''stable'' to ''testing'' or ''unstable''.  If upgrading to Debian ''unstable'' is not desirable it is possible to simply add the unstable apt lines to the sources.list and specify the distribution when installing the packages, e.g.&lt;br /&gt;
 # apt-get install -t unstable gnumail.app&lt;br /&gt;
This method might upgrade some other packages to satisfy dependencies, but will have a much smaller impact on the system since only the packages on which GNUstep depends will be upgraded.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
As Ubuntu is Debian-based you can likewise install gnustep libraries (and their dependencies) via&lt;br /&gt;
 sudo apt-get install gnustep gnustep-devel&lt;br /&gt;
apt will also suggest a lot of apps to install.&lt;br /&gt;
&lt;br /&gt;
=== Install from source: Dependencies ===&lt;br /&gt;
If you want to compile from source install the following [[Dependencies]] packages (applies to both Debian and Ubuntu):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;gobjc, libx11-dev, libx11-xft, libxmu-dev, libtiff4-dev, libpng12-dev, libungif4-dev, libart-2.0-dev, libxml2-dev, libxslt1-dev, libssl-dev, libgmp3-dev, libffcall1-dev, libcairo2-dev&amp;lt;/tt&amp;gt; (universe), and &amp;lt;tt&amp;gt;svn&amp;lt;/tt&amp;gt; if you want to download the svn version.&lt;br /&gt;
&lt;br /&gt;
Optional: &amp;lt;tt&amp;gt;libaspell-dev&amp;lt;/tt&amp;gt; for [[GSspell.service]]&lt;br /&gt;
&lt;br /&gt;
Please follow the instructions on [[GNUstep_SVN_installation_guide]].&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
To install GNUstep libs and scripts, do&lt;br /&gt;
 emerge gnustep-env&lt;br /&gt;
For a list of GNUstep-related ebuilds, see the [http://packages.gentoo.org/search/?sstring=gnustep Online Package Database]. &lt;br /&gt;
For the most recent packages, type &amp;lt;code&amp;gt;ACCEPT_KEYWORDS=&amp;quot;~x86&amp;quot; emerge &amp;lt;i&amp;gt;package-name&amp;lt;/i&amp;gt;&amp;lt;/code&amp;gt; (or analogically for your cpu family: &amp;lt;tt&amp;gt;&amp;quot;~sparc&amp;quot;&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;&amp;quot;~ppc&amp;quot;&amp;lt;/tt&amp;gt; ...)&lt;br /&gt;
&lt;br /&gt;
== Slackware ==&lt;br /&gt;
&lt;br /&gt;
=== Version 10.2 ===&lt;br /&gt;
Libraries and accompanying applications will build with no modifications. Slackware 10.2 ships with GCC 3.3.6, so mixed Objective-C and C++ code is not supported, meaning additional frameworks/libraries may not be supported.&lt;br /&gt;
&lt;br /&gt;
=== Version 11.0 ===&lt;br /&gt;
This version of Slackware works the same as the previous (10.2).  Libraries and applications will build with no modifications, but due to the GCC version used (3.4.6) Objective-C++ is not supported.&lt;br /&gt;
&lt;br /&gt;
=== Version 12.0 ===&lt;br /&gt;
GNUstep compiles and install on Slackware 12.0 perfectly.  Unfortunately, this version of Slackware does not include an Objective-C++ compiler.&lt;br /&gt;
&lt;br /&gt;
=== Version 12.2 ===&lt;br /&gt;
==== Packages ====&lt;br /&gt;
Slackware packages have been created and can be found in:&lt;br /&gt;
* [ftp://ftp.gnustep.org/pub/gnustep/binaries/slackware/ GNUstep FTP] (Please read gnustep-core.README before installing)&lt;br /&gt;
==== Build Scripts ====&lt;br /&gt;
SlackBuild scripts can be found at:&lt;br /&gt;
* [http://slackbuilds.org/result/?search=gnustep SlackBuilds.org GNUstep scripts]&lt;br /&gt;
&lt;br /&gt;
== SuSE ==&lt;br /&gt;
Packages provided by Richard Stonehouse [http://www.rstonehouse.co.uk/extras/gnustep-general/index.html here] (including installation instructions).&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=4957</id>
		<title>GNUstepWeb</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=4957"/>
		<updated>2007-12-08T13:05:19Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Framework|&lt;br /&gt;
shortdescription = GNUstepWeb is a web application library |&lt;br /&gt;
&lt;br /&gt;
currentversion = [http://gnustep.org] |&lt;br /&gt;
&lt;br /&gt;
releasedate = use SVN |&lt;br /&gt;
&lt;br /&gt;
license = LGPL2|&lt;br /&gt;
&lt;br /&gt;
overview =  GNUstepWeb is a development framework for web applications written in Objective-C which is designed to be source-code compatible with [http://www.apple.com/webobjects/ WebObjects] 4.5 - a product originally developed by NeXT Inc, whose newer versions have been released by Apple and are Java-based. |&lt;br /&gt;
&lt;br /&gt;
features = This library is a component of the [[GNUstep]] project in the dev-libs section and is available in the standard ways - such as the [ftp://ftp.gnustep.org/pub/daily-snapshots/dev-libs.current.tar.bz2 GNUstep ftp site].&lt;br /&gt;
&lt;br /&gt;
David Wetzel recommends using the current version that can be obtained by executing the following [[SVN]] check out in an empty directory&lt;br /&gt;
 svn co http://svn.gna.org/svn/gnustep/libs/gsweb/trunk &lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
maintainer = David Wetzel |&lt;br /&gt;
&lt;br /&gt;
Installation tips =&lt;br /&gt;
* Install GNUstep core and gdl2 components&lt;br /&gt;
* Install Apache 2.x&lt;br /&gt;
* Download svn current version (see above)&lt;br /&gt;
* Install Apache2 / GNUstepWeb adaptor module (see GSWAdaptors/Apache/INSTAL in GNUstepWeb Tree)&lt;br /&gt;
* Setup Adaptor configuration (see GSWAdaptors/Apache/INSTAL)&lt;br /&gt;
* Build and install GNUstepWeb (see INSTALL) in GNUstepWeb Tree&lt;br /&gt;
* Build and install Examples/hello (see Examples/hello/INSTALL)&lt;br /&gt;
* Run hello&lt;br /&gt;
* Point your browser to: http://localhost/GSWeb/hello.gswa.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
relatedlinks = &lt;br /&gt;
* Apple has [http://developer.apple.com/documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/webobjects.html legacy WebObjects 4.5 documentation] available.  &lt;br /&gt;
* David Wetzel runs a low-volume mailing list called [http://lists.turbocat.net/mailman/listinfo.cgi/gswhackers gswhackers].&lt;br /&gt;
* [[Creating A Simple GSWeb Application]] is very easy. |&lt;br /&gt;
&lt;br /&gt;
category = [[Category:GNUstepWeb]] [[Category:Networking_Frameworks]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Apache2Adaptor&amp;diff=4953</id>
		<title>Apache2Adaptor</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Apache2Adaptor&amp;diff=4953"/>
		<updated>2007-12-01T20:10:28Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
After you have created a [[GNUstepWeb]] application, you might want to deploy it. The Apache 2 adaptor is a module that loads into your apache server.&lt;br /&gt;
If somebody asks your web server for a dynamic web page it will forward the request to the appropriate application instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
The main difference between the older adaptors and the new one for Apache2 is that all configuration is done per virtual host context. In addition, no special config file is nessesary. All can go into httpd.conf.&lt;br /&gt;
&lt;br /&gt;
'''ShowApps on''' will dump a list of configured applications. &lt;br /&gt;
&lt;br /&gt;
'''ShowApps off''' hides that list.&lt;br /&gt;
&lt;br /&gt;
'''App Name='''''appname'' '''Instance='''''instancenumber'' '''Host='''''IP or Hostname'':''port''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ShowApps on&lt;br /&gt;
 App Name=TCWebMail Instance=1 Host=10.1.0.1:9901&lt;br /&gt;
 App Name=PBX Instance=1 Host=127.0.0.1:9001&lt;br /&gt;
&lt;br /&gt;
Your application should be reachable at http://www.example.com/wo/appname.woa/&lt;br /&gt;
&lt;br /&gt;
==== Accessing WO 5 Applications via our Adaptor ====&lt;br /&gt;
&lt;br /&gt;
 App Name=HelloWorld Instance=1 Host= 10.1.0.99:4711&lt;br /&gt;
 RewriteEngine On &lt;br /&gt;
 RewriteRule ^/cgi-bin/WebObjects/HelloWorld.woa/(.*)$ /wo/HelloWorld.woa/$1 [L,PT,QSA]&lt;br /&gt;
&lt;br /&gt;
Start your HelloWorld like this&lt;br /&gt;
&lt;br /&gt;
 ./dist/selfcontained/HelloWorld.woa/HelloWorld -WOPort 4711&lt;br /&gt;
&lt;br /&gt;
This will show you the Java HelloWorld if you point your browser to http://www.example.com/cgi-bin/WebObjects/HelloWorld.woa/&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
If the adaptor receives an request it cannot forward to the requested application, it will list the configured applications if '''ShowApps on''' was configured. Otherwise just a useless page is displayed.&lt;br /&gt;
&lt;br /&gt;
This adaptor was written from scratch, based on Apache2 example code. It does not require any additional libraries or frameworks other than GSWeb and Apache2. It does not need libProplist.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Apache2Adaptor&amp;diff=4930</id>
		<title>Apache2Adaptor</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Apache2Adaptor&amp;diff=4930"/>
		<updated>2007-11-24T21:32:24Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
After you have created a [[GNUstepWeb]] application, you might want to deploy it. The Apache 2 adaptor is a module that loads into your apache server.&lt;br /&gt;
If somebody asks your web server for a dynamic web page it will forward the request to the appropriate application instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
The main difference between the older adaptors and the new one for Apache2 is that all configuration is done per virtual host context. In addition, no special config file is nessesary. All can go into httpd.conf.&lt;br /&gt;
&lt;br /&gt;
'''ShowApps on''' will dump a list of configured applications. &lt;br /&gt;
&lt;br /&gt;
'''ShowApps off''' hides that list.&lt;br /&gt;
&lt;br /&gt;
'''App Name='''''appname'' '''Instance='''''instancenumber'' '''Host='''''IP or Hostname'':''port''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ShowApps on&lt;br /&gt;
 App Name=TCWebMail Instance=1 Host=10.1.0.1:9901&lt;br /&gt;
 App Name=PBX Instance=1 Host=127.0.0.1:9001&lt;br /&gt;
&lt;br /&gt;
Your application should be reachable at http://www.example.com/wo/appname.woa/&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
If the adaptor receives an request it cannot forward to the requested application, it will list the configured applications if '''ShowApps on''' was configured. Otherwise just a useless page is displayed.&lt;br /&gt;
&lt;br /&gt;
This adaptor was written from scratch, based on Apache2 example code. It does not require any additional libraries or frameworks other than GSWeb and Apache2. It does not need libProplist.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=4702</id>
		<title>GNUstepWeb</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=4702"/>
		<updated>2007-04-13T18:35:15Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Framework|&lt;br /&gt;
shortdescription = GNUstepWeb is a web application library |&lt;br /&gt;
&lt;br /&gt;
currentversion = [http://gnustep.org] |&lt;br /&gt;
&lt;br /&gt;
releasedate = use SVN |&lt;br /&gt;
&lt;br /&gt;
license = LGPL2|&lt;br /&gt;
&lt;br /&gt;
overview =  GNUstepWeb is a development framework for web applications written in Objective-C which is designed to be source-code compatible with [http://www.apple.com/webobjects/ WebObjects] 4.5 - a product originally developed by NeXT Inc, whose newer versions have been released by Apple and are Java-based. |&lt;br /&gt;
&lt;br /&gt;
features = This library is a component of the [[GNUstep]] project in the dev-libs section and is available in the standard ways - such as the [ftp://ftp.gnustep.org/pub/daily-snapshots/dev-libs.current.tar.bz2 GNUstep ftp site].&lt;br /&gt;
&lt;br /&gt;
David Wetzel recommends using the current version that can be obtained by executing the following [[SVN]] check out in an empty directory&lt;br /&gt;
 svn co http://svn.gna.org/svn/gnustep/libs/gsweb/trunk &lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
maintainer = David Wetzel |&lt;br /&gt;
&lt;br /&gt;
relatedlinks = &lt;br /&gt;
* Apple has [http://developer.apple.com/documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/webobjects.html legacy WebObjects 4.5 documentation] available. Please note that the official site [http://www.gnustepweb.org/ gnustepweb.org] is somewhat out of date.  &lt;br /&gt;
* David Wetzel runs a low-volume mailing list called [http://lists.turbocat.net/mailman/listinfo.cgi/gswhackers gswhackers].&lt;br /&gt;
* [[Creating A Simple GSWeb Application]] is very easy. |&lt;br /&gt;
&lt;br /&gt;
category = [[Category:GNUstepWeb]] [[Category:Networking_Frameworks]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=User:Dwetzel&amp;diff=4682</id>
		<title>User:Dwetzel</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=User:Dwetzel&amp;diff=4682"/>
		<updated>2007-04-11T20:21:08Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''David Wetzel'''&lt;br /&gt;
&lt;br /&gt;
'''E-mail''': dave at turbocat dot de&lt;br /&gt;
&lt;br /&gt;
'''Voice''': +49 33056 82834 (Central Europe)&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Apache2Adaptor&amp;diff=4681</id>
		<title>Apache2Adaptor</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Apache2Adaptor&amp;diff=4681"/>
		<updated>2007-04-11T15:32:27Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
After you have created a [[GNUstepWeb]] application, you might want to deploy it. The Apache 2 adaptor is a module that loads into your apache server.&lt;br /&gt;
If somebody asks your web server for a dynamic web page it will forward the request to the appropriate application instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
The main difference between the older adaptors and the new one for Apache2 is that all configuration is done per virtual host context. In addition, no special config file is nessesary. All can go into httpd.conf.&lt;br /&gt;
&lt;br /&gt;
'''ShowApps on''' will dump a list of configured applications. &lt;br /&gt;
&lt;br /&gt;
'''ShowApps off''' hides that list.&lt;br /&gt;
&lt;br /&gt;
'''App Name='''''appname'' '''Instance='''''instancenumber'' '''Host='''''IP or Hostname'':''port''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ShowApps on&lt;br /&gt;
 App Name=TCWebMail Instance=1 Host=10.1.0.1:9901&lt;br /&gt;
 App Name=PBX Instance=1 Host=127.0.0.1:9001&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
If the adaptor receives an request it cannot forward to the requested application, it will list the configured applications if '''ShowApps on''' was configured. Otherwise just a useless page is displayed.&lt;br /&gt;
&lt;br /&gt;
This adaptor was written from scratch, based on Apache2 example code. It does not require any additional libraries or frameworks other than GSWeb and Apache2. It does not need libProplist.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Apache2Adaptor&amp;diff=4680</id>
		<title>Apache2Adaptor</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Apache2Adaptor&amp;diff=4680"/>
		<updated>2007-04-11T15:29:11Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
After you have created a [[GNUstepWeb]] application, you might want to deploy it. The Apache 2 adaptor is a module that loads into your apache server.&lt;br /&gt;
If somebody asks your web server for a dynamic web page it will forward the request to the appropriate application instance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
The main difference between the older adaptors and the new one for Apache2 is that all configuration is done per virtual host context. In addition, no special config file is nessesary. All can go into httpd.conf.&lt;br /&gt;
&lt;br /&gt;
'''ShowApps on''' will dump a list of configured applications. &lt;br /&gt;
&lt;br /&gt;
'''ShowApps off''' hides that list.&lt;br /&gt;
&lt;br /&gt;
'''App Name='''''appname'' '''Instance='''''instancenumber'' '''Host='''''IP or Hostname'':''port''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Example ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ShowApps on&lt;br /&gt;
 App Name=TCWebMail Instance=1 Host=10.1.0.1:9901&lt;br /&gt;
 App Name=PBX Instance=1 Host=127.0.0.1:9001&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
If the adaptor receives an request it cannot forward to the requested application, it will list the configured applications if '''ShowApps on''' was configured. Otherwise just a useless page is displayed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWeb_application_deployment&amp;diff=4679</id>
		<title>GSWeb application deployment</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWeb_application_deployment&amp;diff=4679"/>
		<updated>2007-04-11T15:04:17Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please extend this doc -- dw&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can read about the new [[Apache2Adaptor]] to serve your dynamic pages using Apache 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Category:GNUstepWeb&amp;diff=4678</id>
		<title>Category:GNUstepWeb</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Category:GNUstepWeb&amp;diff=4678"/>
		<updated>2007-04-11T14:59:34Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:GNUstepWeb]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=4675</id>
		<title>GNUstepWeb</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=4675"/>
		<updated>2007-04-10T22:57:31Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Framework|&lt;br /&gt;
shortdescription = GNUstepWeb is a web application library |&lt;br /&gt;
&lt;br /&gt;
currentversion = [http://gnustep.org] |&lt;br /&gt;
&lt;br /&gt;
releasedate = use SVN |&lt;br /&gt;
&lt;br /&gt;
license = LGPL2|&lt;br /&gt;
&lt;br /&gt;
overview =  GNUstepWeb is a development framework for web applications written in Objective-C which is designed to be source-code compatible with [http://www.apple.com/webobjects/ WebObjects] 4.5 - a product originally developed by NeXT Inc, whose newer versions have been released by Apple and are Java-based. |&lt;br /&gt;
&lt;br /&gt;
features = This library is a component of the [[GNUstep]] project in the dev-libs section and is available in the standard ways - such as the [ftp://ftp.gnustep.org/pub/daily-snapshots/dev-libs.current.tar.bz2 GNUstep ftp site].&lt;br /&gt;
&lt;br /&gt;
David Wetzel recommends using his recent branch that can be obtained by executing the following [[SVN]] check out in an empty directory&lt;br /&gt;
 svn co http://svn.gna.org/svn/gnustep/libs/gsweb/branches/06-02-dwetzel &lt;br /&gt;
&lt;br /&gt;
There is currently (April 2007) a merge in progress. The new experimental Apache2 adaptor is already in trunk.&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
maintainer = David Wetzel |&lt;br /&gt;
&lt;br /&gt;
relatedlinks = &lt;br /&gt;
* Apple has [http://developer.apple.com/documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/webobjects.html legacy WebObjects 4.5 documentation] available. Please note that the official site [http://www.gnustepweb.org/ gnustepweb.org] is somewhat out of date.  &lt;br /&gt;
* David Wetzel runs a low-volume mailing list called [http://lists.turbocat.net/mailman/listinfo.cgi/gswhackers gswhackers].&lt;br /&gt;
* [[Creating A Simple GSWeb Application]] is very easy. |&lt;br /&gt;
&lt;br /&gt;
category = [[Category:GNUstepWeb]] [[Category:Networking_Frameworks]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4193</id>
		<title>GSWComponent</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4193"/>
		<updated>2007-01-02T10:34:28Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Componets are the basic building blocks for [[GNUstepWeb]].&lt;br /&gt;
&lt;br /&gt;
Every componet is a directory. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains three files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
&lt;br /&gt;
If we use the WO Name syntax (Tags Named WEBOBJECT) we have the advantage of Web Objects Builder compatibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Wobuilder.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Contents of a WO File Wrapper ==&lt;br /&gt;
&lt;br /&gt;
 user@host&amp;gt;ls LoginComponent.wo/&lt;br /&gt;
 LoginComponent.html  LoginComponent.wod   LoginComponent.woo&lt;br /&gt;
&lt;br /&gt;
== html file ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- &amp;quot;$Id: LoginComponent.html 337 2006-01-25 15:30:46Z dave $&amp;quot; --&amp;amp;gt; &lt;br /&gt;
 &amp;amp;lt;webobject name=LoggedInCon&amp;amp;gt;&amp;amp;lt;webobject name=LoginForm&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;Login to see your calls and account.&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;right&amp;quot;&amp;amp;gt;Email:&lt;br /&gt;
                        &amp;amp;lt;webobject name=EmailField&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;right&amp;quot;&amp;amp;gt;Password:&lt;br /&gt;
                        &amp;amp;lt;webobject name=PasswordField&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&lt;br /&gt;
                        &amp;amp;lt;webobject name=&amp;quot;LoginButton&amp;quot;&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;webobject name=ErrorCond&amp;amp;gt;Error&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;webobject name=LoggedInCon2&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;h2&amp;amp;gt;My Account&amp;amp;lt;/h2&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&amp;amp;lt;webobject name=emailString&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&amp;amp;lt;webobject name=logoutLink&amp;amp;gt;Log out&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/webobject&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- END LoginComponent --&amp;amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== wod file ==&lt;br /&gt;
&lt;br /&gt;
  EmailField: WOTextField {&lt;br /&gt;
          value = email;&lt;br /&gt;
          size = 16;&lt;br /&gt;
          name = &amp;quot;email&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  ErrorCond: WOConditional {&lt;br /&gt;
          condition = loginError;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoggedInCon: WOConditional {&lt;br /&gt;
          condition = session.client;&lt;br /&gt;
          negate = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoggedInCon2: WOConditional {&lt;br /&gt;
          condition = session.client;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoginButton: WOSubmitButton {&lt;br /&gt;
          value = &amp;quot;Login&amp;quot;;&lt;br /&gt;
          directActionName = &amp;quot;login&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoginForm: WOForm {&lt;br /&gt;
  actionClass = &amp;quot;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  PasswordField: WOPasswordField {&lt;br /&gt;
          value = password;&lt;br /&gt;
          size = 16;&lt;br /&gt;
          name = &amp;quot;password&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  emailString: WOString {&lt;br /&gt;
          value = session.client.eMail;&lt;br /&gt;
          valueWhenEmpty = &amp;quot;me@example.com&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  logoutLink: WOHyperlink {&lt;br /&gt;
          action = logout;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== woo file ==&lt;br /&gt;
&lt;br /&gt;
Note that this file is also important. GSWeb uses the encoding information here to load the component. Older versions (DW: trunk still in Jan 2007) do not use this file. If this file is not present, GSWeb will not find the component.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;WebObjects Release&amp;quot; = &amp;quot;WebObjects 5.0&amp;quot;; &lt;br /&gt;
    encoding = NSUTF8StringEncoding; &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== The component in a web browser ==&lt;br /&gt;
&lt;br /&gt;
After the page is being transferred to the web browser, it looks like that. (Note that the background image comes from a different component.)&lt;br /&gt;
&lt;br /&gt;
[[Image:Component_in_browser.jpg]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4192</id>
		<title>GSWComponent</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4192"/>
		<updated>2007-01-02T10:32:55Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Componets are the basic building blocks for [[GNUstepWeb]].&lt;br /&gt;
&lt;br /&gt;
Every componet is a directory. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains three files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
&lt;br /&gt;
If we use the WO Name syntax (Tags Named WEBOBJECT) we have the advantage of Web Objects Builder compatibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Wobuilder.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Contents of a WO File Wrapper ==&lt;br /&gt;
&lt;br /&gt;
 user@host&amp;gt;ls LoginComponent.wo/&lt;br /&gt;
 LoginComponent.html  LoginComponent.wod   LoginComponent.woo&lt;br /&gt;
&lt;br /&gt;
== html file ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- &amp;quot;$Id: LoginComponent.html 337 2006-01-25 15:30:46Z dave $&amp;quot; --&amp;amp;gt; &lt;br /&gt;
 &amp;amp;lt;webobject name=LoggedInCon&amp;amp;gt;&amp;amp;lt;webobject name=LoginForm&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;Login to see your calls and account.&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;right&amp;quot;&amp;amp;gt;Email:&lt;br /&gt;
                        &amp;amp;lt;webobject name=EmailField&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;right&amp;quot;&amp;amp;gt;Password:&lt;br /&gt;
                        &amp;amp;lt;webobject name=PasswordField&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&lt;br /&gt;
                        &amp;amp;lt;webobject name=&amp;quot;LoginButton&amp;quot;&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;webobject name=ErrorCond&amp;amp;gt;Error&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;webobject name=LoggedInCon2&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;h2&amp;amp;gt;My Account&amp;amp;lt;/h2&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&amp;amp;lt;webobject name=emailString&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&amp;amp;lt;webobject name=logoutLink&amp;amp;gt;Log out&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/webobject&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- END LoginComponent --&amp;amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== wod file ==&lt;br /&gt;
&lt;br /&gt;
  EmailField: WOTextField {&lt;br /&gt;
          value = email;&lt;br /&gt;
          size = 16;&lt;br /&gt;
          name = &amp;quot;email&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  ErrorCond: WOConditional {&lt;br /&gt;
          condition = loginError;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoggedInCon: WOConditional {&lt;br /&gt;
          condition = session.client;&lt;br /&gt;
          negate = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoggedInCon2: WOConditional {&lt;br /&gt;
          condition = session.client;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoginButton: WOSubmitButton {&lt;br /&gt;
          value = &amp;quot;Login&amp;quot;;&lt;br /&gt;
          directActionName = &amp;quot;login&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoginForm: WOForm {&lt;br /&gt;
  actionClass = &amp;quot;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  PasswordField: WOPasswordField {&lt;br /&gt;
          value = password;&lt;br /&gt;
          size = 16;&lt;br /&gt;
          name = &amp;quot;password&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  emailString: WOString {&lt;br /&gt;
          value = session.client.eMail;&lt;br /&gt;
          valueWhenEmpty = &amp;quot;me@example.com&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  logoutLink: WOHyperlink {&lt;br /&gt;
          action = logout;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== woo file ==&lt;br /&gt;
&lt;br /&gt;
Note that this file is also important. GSWeb uses the encoding information here to load the component. Older versions (DW: trunk still in Jan 2007) do not use this file. If this file is not present, GSWeb will not find the component.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;WebObjects Release&amp;quot; = &amp;quot;WebObjects 5.0&amp;quot;; &lt;br /&gt;
    encoding = NSUTF8StringEncoding; &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== The component in a web browser ==&lt;br /&gt;
&lt;br /&gt;
After the page is being transferred to the web browser, it looks like that.&lt;br /&gt;
&lt;br /&gt;
[[Component_in_browser.jpg]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=File:Component_in_browser.jpg&amp;diff=4191</id>
		<title>File:Component in browser.jpg</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=File:Component_in_browser.jpg&amp;diff=4191"/>
		<updated>2007-01-02T10:30:49Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: The example component in browser without a user logged in.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The example component in browser without a user logged in.&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4190</id>
		<title>GSWComponent</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4190"/>
		<updated>2007-01-02T10:27:07Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Componets are the basic building blocks for [[GNUstepWeb]].&lt;br /&gt;
&lt;br /&gt;
Every componet is a directory. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains three files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
&lt;br /&gt;
If we use the WO Name syntax (Tags Named WEBOBJECT) we have the advantage of Web Objects Builder compatibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Wobuilder.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Contents of a WO File Wrapper ==&lt;br /&gt;
&lt;br /&gt;
 user@host&amp;gt;ls LoginComponent.wo/&lt;br /&gt;
 LoginComponent.html  LoginComponent.wod   LoginComponent.woo&lt;br /&gt;
&lt;br /&gt;
== html file ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- &amp;quot;$Id: LoginComponent.html 337 2006-01-25 15:30:46Z dave $&amp;quot; --&amp;amp;gt; &lt;br /&gt;
 &amp;amp;lt;webobject name=LoggedInCon&amp;amp;gt;&amp;amp;lt;webobject name=LoginForm&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;Login to see your calls and account.&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;right&amp;quot;&amp;amp;gt;Email:&lt;br /&gt;
                        &amp;amp;lt;webobject name=EmailField&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;right&amp;quot;&amp;amp;gt;Password:&lt;br /&gt;
                        &amp;amp;lt;webobject name=PasswordField&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&lt;br /&gt;
                        &amp;amp;lt;webobject name=&amp;quot;LoginButton&amp;quot;&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;webobject name=ErrorCond&amp;amp;gt;Error&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;webobject name=LoggedInCon2&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;h2&amp;amp;gt;My Account&amp;amp;lt;/h2&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&amp;amp;lt;webobject name=emailString&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&amp;amp;lt;webobject name=logoutLink&amp;amp;gt;Log out&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/webobject&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- END LoginComponent --&amp;amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== wod file ==&lt;br /&gt;
&lt;br /&gt;
  EmailField: WOTextField {&lt;br /&gt;
          value = email;&lt;br /&gt;
          size = 16;&lt;br /&gt;
          name = &amp;quot;email&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  ErrorCond: WOConditional {&lt;br /&gt;
          condition = loginError;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoggedInCon: WOConditional {&lt;br /&gt;
          condition = session.client;&lt;br /&gt;
          negate = true;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoggedInCon2: WOConditional {&lt;br /&gt;
          condition = session.client;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoginButton: WOSubmitButton {&lt;br /&gt;
          value = &amp;quot;Login&amp;quot;;&lt;br /&gt;
          directActionName = &amp;quot;login&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  LoginForm: WOForm {&lt;br /&gt;
  actionClass = &amp;quot;&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  PasswordField: WOPasswordField {&lt;br /&gt;
          value = password;&lt;br /&gt;
          size = 16;&lt;br /&gt;
          name = &amp;quot;password&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  emailString: WOString {&lt;br /&gt;
          value = session.client.eMail;&lt;br /&gt;
          valueWhenEmpty = &amp;quot;me@example.com&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  logoutLink: WOHyperlink {&lt;br /&gt;
          action = logout;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
== woo file ==&lt;br /&gt;
&lt;br /&gt;
Note that this file is also important. GSWeb uses the encoding information here to load the component. Older versions (DW: trunk still in Jan 2007) do not use this file. If this file is not present, GSWeb will not find the component.&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;WebObjects Release&amp;quot; = &amp;quot;WebObjects 5.0&amp;quot;; &lt;br /&gt;
    encoding = NSUTF8StringEncoding; &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4189</id>
		<title>GSWComponent</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4189"/>
		<updated>2007-01-02T10:20:28Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Componets are the basic building blocks for [[GNUstepWeb]].&lt;br /&gt;
&lt;br /&gt;
Every componet is a directory. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains three files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
&lt;br /&gt;
If we use the WO Name syntax (Tags Named WEBOBJECT) we have the advantage of Web Objects Builder compatibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Wobuilder.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Contents of a WO File Wrapper ==&lt;br /&gt;
&lt;br /&gt;
 user@host&amp;gt;ls LoginComponent.wo/&lt;br /&gt;
 LoginComponent.html  LoginComponent.wod   LoginComponent.woo&lt;br /&gt;
&lt;br /&gt;
== html file ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- &amp;quot;$Id: LoginComponent.html 337 2006-01-25 15:30:46Z dave $&amp;quot; --&amp;amp;gt; &lt;br /&gt;
 &amp;amp;lt;webobject name=LoggedInCon&amp;amp;gt;&amp;amp;lt;webobject name=LoginForm&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;Login to see your calls and account.&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;right&amp;quot;&amp;amp;gt;Email:&lt;br /&gt;
                        &amp;amp;lt;webobject name=EmailField&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;right&amp;quot;&amp;amp;gt;Password:&lt;br /&gt;
                        &amp;amp;lt;webobject name=PasswordField&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&lt;br /&gt;
                        &amp;amp;lt;webobject name=&amp;quot;LoginButton&amp;quot;&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;webobject name=ErrorCond&amp;amp;gt;Error&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;webobject name=LoggedInCon2&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;h2&amp;amp;gt;My Account&amp;amp;lt;/h2&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&amp;amp;lt;webobject name=emailString&amp;amp;gt;&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;p class=&amp;quot;center&amp;quot;&amp;amp;gt;&amp;amp;lt;webobject name=logoutLink&amp;amp;gt;Log out&amp;amp;lt;/webobject&amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/webobject&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- END LoginComponent --&amp;amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4188</id>
		<title>GSWComponent</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4188"/>
		<updated>2007-01-02T10:14:21Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: /* Contents of a WO File Wrapper */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Componets are the basic building blocks for [[GNUstepWeb]].&lt;br /&gt;
&lt;br /&gt;
Every componet is a directory. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains three files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
&lt;br /&gt;
If we use the WO Name syntax (Tags Named WEBOBJECT) we have the advantage of Web Objects Builder compatibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Wobuilder.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Contents of a WO File Wrapper ==&lt;br /&gt;
&lt;br /&gt;
 user@host&amp;gt;ls LoginComponent.wo/&lt;br /&gt;
 LoginComponent.html  LoginComponent.wod   LoginComponent.woo&lt;br /&gt;
&lt;br /&gt;
== html file ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;quot;$Id: LoginComponent.html 337 2006-01-25 15:30:46Z dave $&amp;quot; --&amp;gt; &lt;br /&gt;
 &amp;lt;webobject name=LoggedInCon&amp;gt;&amp;lt;webobject name=LoginForm&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;p class=&amp;quot;center&amp;quot;&amp;gt;Login to see your calls and account.&amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p class=&amp;quot;right&amp;quot;&amp;gt;Email:&lt;br /&gt;
                        &amp;lt;webobject name=EmailField&amp;gt;&amp;lt;/webobject&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p class=&amp;quot;right&amp;quot;&amp;gt;Password:&lt;br /&gt;
                        &amp;lt;webobject name=PasswordField&amp;gt;&amp;lt;/webobject&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p class=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;webobject name=&amp;quot;LoginButton&amp;quot;&amp;gt;&amp;lt;/webobject&amp;gt;&amp;lt;webobject name=ErrorCond&amp;gt;Error&amp;lt;/webobject&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/webobject&amp;gt;&amp;lt;/webobject&amp;gt;&amp;lt;webobject name=LoggedInCon2&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;logbar&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;h2&amp;gt;My Account&amp;lt;/h2&amp;gt;&lt;br /&gt;
                &amp;lt;p class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;webobject name=emailString&amp;gt;&amp;lt;/webobject&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
                &amp;lt;p class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;webobject name=logoutLink&amp;gt;Log out&amp;lt;/webobject&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/webobject&amp;gt;&lt;br /&gt;
 &amp;lt;!-- END LoginComponent --&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4187</id>
		<title>GSWComponent</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4187"/>
		<updated>2007-01-02T10:03:53Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Componets are the basic building blocks for [[GNUstepWeb]].&lt;br /&gt;
&lt;br /&gt;
Every componet is a directory. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains three files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
&lt;br /&gt;
If we use the WO Name syntax (Tags Named WEBOBJECT) we have the advantage of Web Objects Builder compatibility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Wobuilder.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Contents of a WO File Wrapper==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=File:Wobuilder.jpg&amp;diff=4185</id>
		<title>File:Wobuilder.jpg</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=File:Wobuilder.jpg&amp;diff=4185"/>
		<updated>2007-01-02T09:59:24Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: WO Builder showing a component&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WO Builder showing a component&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Creating_A_Simple_GSWeb_Application&amp;diff=4184</id>
		<title>Creating A Simple GSWeb Application</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Creating_A_Simple_GSWeb_Application&amp;diff=4184"/>
		<updated>2007-01-02T09:56:17Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
[[GNUstepWeb]] is a framework for creating web-based applications using Objective-C. This guide aims to provide an overview of what is required in the creation and design of a very simple web application.&lt;br /&gt;
&lt;br /&gt;
It is assumed you are familiar with GNUstep, and have a working GNUstep installation, including the [[GDL2]] and [[GSWeb]] frameworks. Pre-requisites for [[GSWeb application deployment]] should also be in place.&lt;br /&gt;
&lt;br /&gt;
== File Components ==&lt;br /&gt;
&lt;br /&gt;
In building your web application you will need to create a number of files. From scratch, the following should be a rough guide to getting it working. These include the Makefile, ...&lt;br /&gt;
&lt;br /&gt;
=== The Makefile ===&lt;br /&gt;
&lt;br /&gt;
For a web application, a special makefile is needed: luckily it's very similar to makefiles you may have used for other kinds of project. There is currently no out-of-the-box way to have these files built for you, so you'll have to do it manually.&lt;br /&gt;
&lt;br /&gt;
'''GNUmakefile'''&lt;br /&gt;
&lt;br /&gt;
For more information as to customising this file, as well as setting up compiler options for third party libraries and includes, see the GNUstep makefile manual.&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
GSWeb uses a directory for every component. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains three files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
A more in-depth description of [[GSWComponent|Components]] is available.&lt;br /&gt;
&lt;br /&gt;
===The application dictionary===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface files ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4183</id>
		<title>GSWComponent</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GSWComponent&amp;diff=4183"/>
		<updated>2007-01-02T09:55:22Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Componets are the basic building blocks for [[GNUstepWeb]].&lt;br /&gt;
&lt;br /&gt;
Every componet is a directory. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains three files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Creating_A_Simple_GSWeb_Application&amp;diff=4182</id>
		<title>Creating A Simple GSWeb Application</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Creating_A_Simple_GSWeb_Application&amp;diff=4182"/>
		<updated>2007-01-02T09:51:41Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
[[GNUstepWeb]] is a framework for creating web-based applications using Objective-C. This guide aims to provide an overview of what is required in the creation and design of a very simple web application.&lt;br /&gt;
&lt;br /&gt;
It is assumed you are familiar with GNUstep, and have a working GNUstep installation, including the [[GDL2]] and [[GSWeb]] frameworks. Pre-requisites for [[GSWeb application deployment]] should also be in place.&lt;br /&gt;
&lt;br /&gt;
== File Components ==&lt;br /&gt;
&lt;br /&gt;
In building your web application you will need to create a number of files. From scratch, the following should be a rough guide to getting it working. These include the Makefile, ...&lt;br /&gt;
&lt;br /&gt;
=== The Makefile ===&lt;br /&gt;
&lt;br /&gt;
For a web application, a special makefile is needed: luckily it's very similar to makefiles you may have used for other kinds of project. There is currently no out-of-the-box way to have these files built for you, so you'll have to do it manually.&lt;br /&gt;
&lt;br /&gt;
'''GNUmakefile'''&lt;br /&gt;
&lt;br /&gt;
For more information as to customising this file, as well as setting up compiler options for third party libraries and includes, see the GNUstep makefile manual.&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
GSWeb uses a directory for every component. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains thee files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
A more in-depth description of [[GSWComponent|Components]] is available.&lt;br /&gt;
&lt;br /&gt;
===The application dictionary===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface files ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GNUstep_in_production&amp;diff=4155</id>
		<title>GNUstep in production</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GNUstep_in_production&amp;diff=4155"/>
		<updated>2006-12-29T11:59:22Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Note: Please leave a short note about how is the company related to GNUstep. Please sort the list alphabetically.''&lt;br /&gt;
&lt;br /&gt;
== Corporations &amp;amp; Companies actively developing for GNUstep ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.brainstorm.co.uk/ Brainstorm Computer Solutions]&lt;br /&gt;
* [http://www.orange-concept.com/ Orange Concept] is working mainly on [http://www.gnustepweb.org GNUstepWeb] and [[GDL|GDL2]] for it's eCommerce engine: [http://www.eCommStep.com eCommStep]&lt;br /&gt;
* [http://www.turbocat.de/ Turbocat's Development]&lt;br /&gt;
&lt;br /&gt;
== Companies which use and/or support GNUstep ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.turbocat.de/ Turbocat's Development]&lt;br /&gt;
* [http://www.intars.at/ Ayers Application Design &amp;amp; Development]&lt;br /&gt;
* [http://www.ivt.baug.ethz.ch/oev/RailMLEditor_d.html Institut für Verkehrsplanung und Transportsysteme]&lt;br /&gt;
* [http://www.cyberdvdfilms.com Microcom]&amp;lt;br&amp;gt;uses [http://www.eCommStep.com eCommStep], an eCommerce engine based on [http://www.gnustep.org GNUstep], [http://www.gnustepweb.org GNUstepWeb] and [[GDL2]] to run its shop since may 2003.&lt;br /&gt;
* Orillion&lt;br /&gt;
* [http://www.seat-1.com seat-1 Software GmbH ], business software for small to medium-sized production, trading and service companies. The software product IntarS is powered by [[GNUstepWeb]] on GNU based operating systems.&lt;br /&gt;
&lt;br /&gt;
* [[Smartsoft]] develops highly customized business applications for MacOSX and Solaris.&lt;br /&gt;
* [http://www.theinternetco.net/ The Internet Company]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Creating_A_Simple_GSWeb_Application&amp;diff=4154</id>
		<title>Creating A Simple GSWeb Application</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Creating_A_Simple_GSWeb_Application&amp;diff=4154"/>
		<updated>2006-12-29T10:11:31Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
[[GNUstepWeb]] is a framework for creating web-based applications using Objective-C. This guide aims to provide an overview of what is required in the creation and design of a very simple web application.&lt;br /&gt;
&lt;br /&gt;
It is assumed you are familiar with GNUstep, and have a working GNUstep installation, including the [[GDL2]] and [[GSWeb]] frameworks. Pre-requisites for [[GSWeb application deployment]] should also be in place.&lt;br /&gt;
&lt;br /&gt;
== File Components ==&lt;br /&gt;
&lt;br /&gt;
In building your web application you will need to create a number of files. From scratch, the following should be a rough guide to getting it working. These include the Makefile, ...&lt;br /&gt;
&lt;br /&gt;
=== The Makefile ===&lt;br /&gt;
&lt;br /&gt;
For a web application, a special makefile is needed: luckily it's very similar to makefiles you may have used for other kinds of project. There is currently no out-of-the-box way to have these files built for you, so you'll have to do it manually.&lt;br /&gt;
&lt;br /&gt;
'''GNUmakefile'''&lt;br /&gt;
&lt;br /&gt;
For more information as to customising this file, as well as setting up compiler options for third party libraries and includes, see the GNUstep makefile manual.&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
GSWeb uses a directory for every component. A component can represent a whole web page or just a part of it. It is easy to re-use pieces needed multiple times.&lt;br /&gt;
A component contains thee files they contain the HTML, the connections or bindings of your objects and additional information like the used encoding. Those files are suffixed .html, .wod and .woo.&lt;br /&gt;
&lt;br /&gt;
(DW:More about GSWeb Components should be in a separate article)&lt;br /&gt;
&lt;br /&gt;
===The application dictionary===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Interface files ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Developer_Guides&amp;diff=4152</id>
		<title>Developer Guides</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Developer_Guides&amp;diff=4152"/>
		<updated>2006-12-28T19:56:23Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended as a collection of guides for developers.&lt;br /&gt;
&lt;br /&gt;
== Introductory Articles on GNUstep Development ==&lt;br /&gt;
&lt;br /&gt;
{{Stub}}&lt;br /&gt;
&lt;br /&gt;
=== [[GNUstep Suite|Introduction to GNUstep Libraries and Tools]] ===&lt;br /&gt;
&lt;br /&gt;
A general overview of GNUstep.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.gnustep.org/resources/documentation/Developer/Base/ProgrammingManual/manual_toc.html Introduction to GNUstep (Foundation) Programming] ===&lt;br /&gt;
&lt;br /&gt;
The aim of this manual is to introduce you to the Objective-C language and the GNUstep development environment, in particular the Base library. The manual is organised to give you a tutorial introduction to the language and APIs, by using examples whenever possible, rather than providing a lengthy abstract description. &lt;br /&gt;
&lt;br /&gt;
While Objective-C is not a difficult language to learn or use, some of the terms may be unfamiliar, especially to those that have not programmed using an object-oriented programming language before. Whenever possible, concepts will be explained in simple terms rather than in more advanced programming terms, and comparisons to other languages will be used to aid in illustration.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.roard.com/docs/lmf2.article/en.html (GUI) Programming under GNUstep] ===&lt;br /&gt;
&lt;br /&gt;
This guide will introduce you to the [[AppKit]] classes and how to use [[Gorm]] to create graphical interfaces.&lt;br /&gt;
&lt;br /&gt;
=== [[Writing Makefiles]] ===&lt;br /&gt;
&lt;br /&gt;
The Makefile package is a system of make commands that is designed to encapsulate all the complex details of building and installing various types of projects from libraries to applications to documentation. This frees the developer to focus on the details of their particular project. Only a fairly simple main makefile need to be written which specifies the type of project and files involved in the project.&lt;br /&gt;
&lt;br /&gt;
=== [ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-examples-1.1.0.tar.gz Sample GNUstep Programs] ===&lt;br /&gt;
&lt;br /&gt;
This isn't really an article but rather a collection of small &amp;quot;codified guides&amp;quot; for the pragmatic programmer who wants to explore GNUstep by looking at and messing around with example code. This is best done while reading about basic concepts of OpenStep or Cocoa with the API documentation ([[Foundation]], [[AppKit]]) open in the background.&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
=== [[Writing portable code|Coding for Portability]] ===&lt;br /&gt;
&lt;br /&gt;
Writing code that will compile and then run on different platforms can be surprisingly easy. This guide describes &lt;br /&gt;
some straight-forward steps to take to make your program easy to port to new platforms.&lt;br /&gt;
&lt;br /&gt;
=== [[Property Lists|Using Property Lists]] ===&lt;br /&gt;
&lt;br /&gt;
A regular issue that programmers face is storing structured configuration information, and reading it back. GNUstep has a standard mechanism that can be used for this task, amongst others: Property Lists.&lt;br /&gt;
&lt;br /&gt;
=== [[Deployment on Windows]] ===&lt;br /&gt;
&lt;br /&gt;
This article will tell you how to deploy GNUstep applications on Windows.&lt;br /&gt;
&lt;br /&gt;
== Graphical Applications ==&lt;br /&gt;
&lt;br /&gt;
=== Simple Graphical Application Design ===&lt;br /&gt;
GNUstep includes several sophisticated development tools. GNUstep GUI interfaces are designed using [[Gorm]] (Graphical Object Relationship Modeler), an elegant application developed by Gregory Casamento. (See his [http://heronsperch.blogspot.com/ blog] for the latest news on GORM.) There are two proto-IDEs, [[ProjectCenter]] and [[ProjectManager]].&lt;br /&gt;
&lt;br /&gt;
There are several introductory tutorials for using these development tools. The first [http://www.gnustep.it/pierre-yves/index.html tutorial] by Pierre-Yves Rivaille is a classic demonstrating the process used to create the ubiquitous currency converter application. A second [http://www.nongnu.org/gstutorial/ tutorial] by Yen-Ju Chen is somewhat more in-depth and extensive.&lt;br /&gt;
&lt;br /&gt;
Nicolas Roard created a [http://gnustep.org/experience/DevelopmentDemonstration.html video] demonstrating the process of developing a simple calculator, and another [http://home.gna.org/pmanager/videos.html video] here by Sašo Kiselkov if you feel the need to create another currency converter.&lt;br /&gt;
&lt;br /&gt;
=== [[Document based applications|Document-based Application Design]] ===&lt;br /&gt;
&lt;br /&gt;
One of the most common use-patterns of applications on modern platforms is that of document-based applications --- applications which can have several active user-controlled contexts. Some familar examples might be a word processor where the user may have multiple document windows concurrently, or a web browser which allows a user to have a number of different browser windows open at the same time. This guide provides information and tips on how to code this style of application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Web Applications ==&lt;br /&gt;
&lt;br /&gt;
Please have a look at [[Creating A Simple GSWeb Application]] to learn how to create a [[GNUstepWeb|GNUstep Web]] application.&lt;br /&gt;
&lt;br /&gt;
== Other Information ==&lt;br /&gt;
&lt;br /&gt;
=== Developer sites ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.roard.com/docs/ GNUstep HelpCenter]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=4151</id>
		<title>GNUstepWeb</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=GNUstepWeb&amp;diff=4151"/>
		<updated>2006-12-28T19:47:37Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Framework|&lt;br /&gt;
shortdescription = GNUstepWeb is a web application library |&lt;br /&gt;
currentversion = [http://gnustep.org] |&lt;br /&gt;
releasedate = use SVN |&lt;br /&gt;
license = LGPL2|&lt;br /&gt;
overview =  GNUstepWeb is a development framework for web applications written in Objective-C which is designed to be source-code compatible with [[WebObjects]] 4.5 - a product originally developed by NeXT Inc, whose newer versions have been released by Apple and are Java-based. |&lt;br /&gt;
features =  |&lt;br /&gt;
maintainer = David Wetzel |&lt;br /&gt;
relatedlinks =  |&lt;br /&gt;
category = [[Category:Networking_Frameworks]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Availability ===&lt;br /&gt;
This library is a component of the [[GNUstep]] project in the dev-libs section and is available in the standard ways - such as the [ftp://ftp.gnustep.org/pub/daily-snapshots/dev-libs.current.tar.bz2 GNUstep ftp site].&lt;br /&gt;
&lt;br /&gt;
David Wetzel recommends using his recent branch that can be obtained by executing the following [[SVN]] check out in an empty directory&lt;br /&gt;
 svn co http://svn.gna.org/svn/gnustep/libs/gsweb/branches/06-02-dwetzel&lt;br /&gt;
&lt;br /&gt;
=== Documentation and Resources ===&lt;br /&gt;
Apple has [http://developer.apple.com/documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/webobjects.html legacy WebObjects 4.5 documentation] available. Please note that the official site is [http://www.gnustepweb.org/ gnustepweb.org] is somewhat out of date.  &lt;br /&gt;
&lt;br /&gt;
David Wetzel runs a low-volume mailing list called [http://lists.turbocat.net/mailman/listinfo.cgi/gswhackers gswhackers].&lt;br /&gt;
&lt;br /&gt;
=== Tutorials ===&lt;br /&gt;
[[Creating A Simple GSWeb Application]] is very easy.&lt;br /&gt;
&lt;br /&gt;
[[Category:GNUstepWeb]]&lt;br /&gt;
[[Category:Networking_Frameworks]]&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Summer_Of_Code_2006&amp;diff=3005</id>
		<title>Summer Of Code 2006</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Summer_Of_Code_2006&amp;diff=3005"/>
		<updated>2006-04-20T10:24:36Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: /* Mentors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summer Of Code 2006 ==&lt;br /&gt;
&lt;br /&gt;
The [http://code.google.com/soc/ Summer Of Code] is a Google program that offers student developers stipends to create new open source programs or to help currently established projects. It would be an excellent opportunity for GNUstep to fund some developments.&lt;br /&gt;
&lt;br /&gt;
Here is some ideas:&lt;br /&gt;
&lt;br /&gt;
- Improve the Printing Support (better postcript generation, etc.)&lt;br /&gt;
&lt;br /&gt;
- Bindings, KVO support&lt;br /&gt;
&lt;br /&gt;
- Improve the Cairo backend&lt;br /&gt;
&lt;br /&gt;
- Improve Windows support&lt;br /&gt;
&lt;br /&gt;
- Improve GNUstepWeb (add script language support, etc)&lt;br /&gt;
&lt;br /&gt;
- Create a AJAX Framework for GNUstepWeb&lt;br /&gt;
&lt;br /&gt;
- Finish input server [http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/kazunobu_input_management/ support]&lt;br /&gt;
&lt;br /&gt;
- Port WebCore to GNUstep using gcc4.1&lt;br /&gt;
&lt;br /&gt;
- Compare current API with Tiger API, indicates  which are missing, and the status of the existing ones, then work to complete them... ;)&lt;br /&gt;
&lt;br /&gt;
Feel free to add other ideas !&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
We need [http://code.google.com/soc/mentorfaq.html mentor(s)] to manage the volunteers...&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
&lt;br /&gt;
- David Wetzel (dave at turbocat dot de) could mentor GSWeb related projects&lt;br /&gt;
&lt;br /&gt;
=== Students ===&lt;br /&gt;
&lt;br /&gt;
Nicolas Roard&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Summer_Of_Code_2006&amp;diff=3004</id>
		<title>Summer Of Code 2006</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Summer_Of_Code_2006&amp;diff=3004"/>
		<updated>2006-04-20T10:24:19Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: /* Mentors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summer Of Code 2006 ==&lt;br /&gt;
&lt;br /&gt;
The [http://code.google.com/soc/ Summer Of Code] is a Google program that offers student developers stipends to create new open source programs or to help currently established projects. It would be an excellent opportunity for GNUstep to fund some developments.&lt;br /&gt;
&lt;br /&gt;
Here is some ideas:&lt;br /&gt;
&lt;br /&gt;
- Improve the Printing Support (better postcript generation, etc.)&lt;br /&gt;
&lt;br /&gt;
- Bindings, KVO support&lt;br /&gt;
&lt;br /&gt;
- Improve the Cairo backend&lt;br /&gt;
&lt;br /&gt;
- Improve Windows support&lt;br /&gt;
&lt;br /&gt;
- Improve GNUstepWeb (add script language support, etc)&lt;br /&gt;
&lt;br /&gt;
- Create a AJAX Framework for GNUstepWeb&lt;br /&gt;
&lt;br /&gt;
- Finish input server [http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/kazunobu_input_management/ support]&lt;br /&gt;
&lt;br /&gt;
- Port WebCore to GNUstep using gcc4.1&lt;br /&gt;
&lt;br /&gt;
- Compare current API with Tiger API, indicates  which are missing, and the status of the existing ones, then work to complete them... ;)&lt;br /&gt;
&lt;br /&gt;
Feel free to add other ideas !&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
We need [http://code.google.com/soc/mentorfaq.html mentor(s)] to manage the volunteers...&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
&lt;br /&gt;
-- David Wetzel (dave at turbocat dot de) could mentor GSWeb related projects&lt;br /&gt;
&lt;br /&gt;
=== Students ===&lt;br /&gt;
&lt;br /&gt;
Nicolas Roard&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.gnustep.org/index.php?title=Summer_Of_Code_2006&amp;diff=3003</id>
		<title>Summer Of Code 2006</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.gnustep.org/index.php?title=Summer_Of_Code_2006&amp;diff=3003"/>
		<updated>2006-04-20T10:19:20Z</updated>

		<summary type="html">&lt;p&gt;Dwetzel: /* Summer Of Code 2006 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summer Of Code 2006 ==&lt;br /&gt;
&lt;br /&gt;
The [http://code.google.com/soc/ Summer Of Code] is a Google program that offers student developers stipends to create new open source programs or to help currently established projects. It would be an excellent opportunity for GNUstep to fund some developments.&lt;br /&gt;
&lt;br /&gt;
Here is some ideas:&lt;br /&gt;
&lt;br /&gt;
- Improve the Printing Support (better postcript generation, etc.)&lt;br /&gt;
&lt;br /&gt;
- Bindings, KVO support&lt;br /&gt;
&lt;br /&gt;
- Improve the Cairo backend&lt;br /&gt;
&lt;br /&gt;
- Improve Windows support&lt;br /&gt;
&lt;br /&gt;
- Improve GNUstepWeb (add script language support, etc)&lt;br /&gt;
&lt;br /&gt;
- Create a AJAX Framework for GNUstepWeb&lt;br /&gt;
&lt;br /&gt;
- Finish input server [http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/kazunobu_input_management/ support]&lt;br /&gt;
&lt;br /&gt;
- Port WebCore to GNUstep using gcc4.1&lt;br /&gt;
&lt;br /&gt;
- Compare current API with Tiger API, indicates  which are missing, and the status of the existing ones, then work to complete them... ;)&lt;br /&gt;
&lt;br /&gt;
Feel free to add other ideas !&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
We need [http://code.google.com/soc/mentorfaq.html mentor(s)] to manage the volunteers...&lt;br /&gt;
&lt;br /&gt;
=== Mentors ===&lt;br /&gt;
&lt;br /&gt;
none ?&lt;br /&gt;
&lt;br /&gt;
=== Students ===&lt;br /&gt;
&lt;br /&gt;
Nicolas Roard&lt;/div&gt;</summary>
		<author><name>Dwetzel</name></author>
	</entry>
</feed>