To edit or add content to this Wiki, you can simply create a new account at http://wocommunity.org/account.

This is deprecated information!

ProjectBuilder and XCode

ProjectBuilder and Xcode are no longer supported IDEs for WebObjects development or deployment. While legacy projects may still use it there is little, if any, support available for it. Existing projects (except Objective-C WebObjects projects, of course) should be migrated to WOLips. It isn't as hard as you might think, and WOLips is a much more powerful WebObjects IDE.

Installing WebObjects and WOLips

  1. Download Golipse
    Golipse (source) will fetch the needed version of Eclipse, WOLips and other tools for WebObjects development.

32-bit computers

By default Golipse will download and install a 64-bit version of Eclipse. If you have an older 32-bit machine you can specify the download URL for the Eclipse package in 'Golipse > Preferences'. The latest 32-bit package is "http://ftp.osuosl.org/pub/eclipse/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-macosx-cocoa.tar.gz"

  1. Install the WebObjects
    The best way to install the WebObjects frameworks is according to these instructions.
  2. Start Eclipse and switch to the WOLips perspective.
    • Under the Window menu, select Open Perspective > Other....
    • Select WOLips and click Ok.

      WOLips Perspective

      If you don't switch to the WOLips perspective, you won't be able to create new WebObjects projects.

Xcode & WebObjects

Xcode is no longer the supported IDE for WebObjects development or deployment. However, downloading it and installing it will install tools debugging tools that you might find useful.

Running Monitor and wotaskd on Mac OS X

Monitor and wotaskd are installed, but the launchd scripts to start them are not installed. You can grab them from a 10.5 Server installation, or follow those instructions.

Make sure Web Sharing is enabled in the Sharing panel in System Preferences (note: 10.5 comes with Apache 2.2 as the default).

Edit /etc/apache2/httpd.conf (if you did a fresh install, you may already have these - search httpd.conf first)

Search for rewrite_module, and above it, add this line:

LoadModule WebObjects_module /System/Library/WebObjects/Adaptors/Apache2.2/mod_WebObjects.so

Go to the very end and add:

Include /System/Library/WebObjects/Adaptors/Apache2.2/apache.conf

Search for "Directory /" and comment out the Order and Deny lines:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    #Order deny,allow
    #Deny from all
</Directory>

Restart apache

sudo apachectl graceful

If you run ps auxw | grep httpd you should see apache now running

Create /Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist with:
(for OSX 10.5 make sure the permissions of this file are 644 system/wheel/everyone otherwise launchctl will throw a "dubious permissions" error when you try to load the plist with the commands that follow)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Disabled</key>
	<false/>
	<key>GroupName</key>
	<string>appserverusr</string>
	<key>Label</key>
	<string>com.apple.webobjects.wotaskd</string>
	<key>OnDemand</key>
	<false/>
	<key>Program</key>
	<string>/System/Library/WebObjects/JavaApplications/wotaskd.woa/wotaskd</string>
	<key>ProgramArguments</key>
	<array>
		<string>wotaskd</string>
		<string>-WOPort</string>
		<string>1085</string>
	</array>
	<key>ServiceIPC</key>
	<false/>
	<key>UserName</key>
	<string>appserver</string>
</dict>
</plist>

Create /Library/LaunchDaemons/com.apple.webobjects.womonitor.plist with:
(for OSX 10.5 make sure the permissions of this file are 644 system/wheel/everyone otherwise launchctl will throw a "dubious permissions" error when you try to load the plist with the commands that follow)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Disabled</key>
	<false/>
	<key>GroupName</key>
	<string>appserverusr</string>
	<key>Label</key>
	<string>com.apple.webobjects.womonitor</string>
	<key>OnDemand</key>
	<false/>
	<key>Program</key>
	<string>/System/Library/WebObjects/JavaApplications/JavaMonitor.woa/JavaMonitor</string>
	<key>ProgramArguments</key>
	<array>
		<string>JavaMonitor</string>
		<string>-WOPort</string>
		<string>56789</string>
	</array>
	<key>ServiceIPC</key>
	<false/>
	<key>UserName</key>
	<string>appserver</string>
</dict>
</plist>

Start the launchd daemons :
(you may need to sudo here)

launchctl load /Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist
launchctl load /Library/LaunchDaemons/com.apple.webobjects.womonitor.plist

If you run "ps auxw | grep java" you should see wotaskd and java monitor now running. You should be able to connect to Monitor by this URL:

http://localhost:56789

3 Comments

  1. If you are running WO 5.3.3 and building Wonder source (rather than downloading the binaries) then you will need to stick this in your ~/Library/wobuild.properties file after running the woswitch script so that the install puts the frameworks in the right location:

    wonder.framework.install.root=/Developer/WebObjects53/Library/Frameworks

  2. Note that Golipse's script doesn't support installation paths with whitespaces in it. The errors are present in the log, but far from obvious.

  3. The link to Golipse at the top of the page is broken.

    Update: And of course I should have fixed it instead of commenting. Fixed now.