WO 5.4 Getting Started

Last modified by D Tim Cummings on 2013/06/14 16:27

Warning

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.

Warning

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....
      PerpectiveMenu.png
    Select WOLips and click Ok.

    PerspectiveChoices.png

    Warning

    WOLips Perspective

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

Information
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