WebObjects 4.5.1: WebObjects 4.5.1 Update 3 Overview

Note: This document has been superseded. Refer to article 70037: "WebObjects Current Patch List", for information on the most current updates for WebObjects. This article is provided here as a convenience to our customers who have not yet upgraded to the most current update.

This document contains an overview and download information for Apple's Update 3 for WebObjects Release 4.5.1. This update corrects the known incompatibilities between WebObjects 4.5.1 and Mac OS X 10.1 and is required on that platform. This update should not be installed on Mac OS X versions earlier than 10.1.

WebObjects 4.5.1 Update 3 includes all of the fixes from WebObjects 4.5.1 Update 2. If you have already installed WebObjects 4.5.1 Update 2, you can install Update 3 over your existing installation. If you have not installed Update 2, you do not need to install it prior to installing Update 3.

The WebObjects Current Patch List, document 70037, contains information on all available patches and updates for all versions of WebObjects. Please read this document if you're not sure which updates you need on your system.

This update includes modified WebObjects HTTP Adaptor binaries. On Mac OS X (Server) 10.1 and later, the update installer automatically places the modified adaptor binaries in the appropriate Web server directory. The update also includes a complete set of updated adaptor source files to match the modified binaries.

If you attempt to rebuild the Apache adaptor, you will see an "Undefined symbols" link error related to the two level namespace changes in Mac OS X 10.1 (Apple reference #2795562). In order to build this adaptor successfully on Mac OS X 10.1, you will need to add the linker flag "-flat_namespace". This can be added in ProjectBuilderWO using the Build Attributes panel in the Project Inspector.

WebObjects 4.5.1 Update 3 for Mac OS X (Server) 10.1 and later

There are two mutually exclusive updates for this platform. If you have WebObjects 4.5.1 Developer installed on Mac OS X, you need WebObjects 4.5.1 Developer Update 3. If you have WebObjects 4.5.1 Deployment installed on Mac OS X Server, you need WebObjects 4.5.1 Deployment Update 3. You do not need both on any system.

This update is available through the Software Update feature of Mac OS X. If you use this method, only the proper update for the software which you have installed on your system will be visible and available for download. If you prefer to download and install the package manually, follow the instructions below.

Note: WebObjects 4.5.1 Developer Update 3 requires Mac OS X 10.1.1 or later plus the 10-19-01 Security Update as well as the Mac OS X 10.1 Development Tools. WebObjects 4.5.1 Deployment Update 3 requires Mac OS X Server 10.1.1 or later plus the 10-19-01 Security Update and the 10.1.1 Server Update. If you have not updated to the correct version of Mac OS X (Server), you must do so before installing WebObjects 4.5.1 Update 3.

If you are creating a new Mac OS X WebObjects 4.5.1 development system, you should install the software in the following order:


If you are upgrading an existing Mac OS X 10.0.x WebObjects 4.5.1 development system, you should install the software in the following order:
Important: Whether you are using Software Update or installing the update manually, you must be logged in as "root" user in order to perform the installation. Logging in as "Administrator", or authenticating as "root" is insufficient. Failure to follow this requirement will result in an installation failure. You must also ensure that no WebObjects or EOF applications are running during the installation of the update.

Manually Installing WebObjects 4.5.1 Update 3 on Mac OS X (Server) 10.1

These instructions are for manually downloading and installing WebObjects 4.5.1 Update 3. If you are installing using Software Update, see the section titled "WebObjects 4.5.1 Update 3 for Mac OS X (Server) 10.1", above.

Note: The Developer update requires Mac OS X 10.1.1 or later plus the 10-19-01 Security Update as well as the Mac OS X 10.1 Development Tools. The Deployment update requires Mac OS X Server 10.1.1 or later plus the 10-19-01 Security Update and the 10.1.1 Server Update. If you have not updated to the correct version of Mac OS X (Server), you must do so before installing WebObjects 4.5.1 Update 3.


Corrected in WebObjects 4.5.1 Update 3

wotaskd sometimes returns content length 0

Apple Reference 2744196

ISSUE:

On Mac OS X 10.1 wotaskd sometimes returns empty content for all requests, depending on how it is started.

RESOLUTION:

This problem has been corrected.

ObjC apps raise when running on Mac OS X 10.1

Apple Reference 2757892

ISSUE:

In Mac OS X 10.0.x, immutable collections in Foundation were implemented as mutable collections. In Mac OS X 10.1, the collection implementations were changed so that immutable collections were actually immutable. This change was incompatible with WebObjects 4.5.1.

RESOLUTION:

WebObjects.framework now uses a compatibility mode in Foundation in which all collections are mutable.

WebObjects Builder broken after upgrading to Mac OS X 10.1

Apple Reference 2782527

ISSUE:

The upgrade installer for Mac OS X 10.1 removes HTMLEditing.framework from the system. Since WebObjects Builder depends on this framework, it will no longer run. Upon launching WebObjects Builder, you will see the following error message:

dyld: /Developer/Applications/WebObjects Builder.app/Contents/MacOS/WebObjects Builder can't open library:
/System/Library/PrivateFrameworks/HTMLEditing.framework/Versions/A/HTMLEditing
(No such file or directory, errno = 2)

RESOLUTION:

The update installs the version of HTMLEditing.framework shipped with WebObjects 4.5.1.

"Save as" does not change the name in the title bar for a model

Apple Reference 2796022

ISSUE:

After performing a "Save as" operation, EOModeler does not change the name of the model in the window title bar.

RESOLUTION:

The window title bar now properly reflects the new name of the model.

WOSendMail calls obsolete methods on NSUserDefaults

Apple Reference 2798848

ISSUE:

WOSendMail calls several obsolete NSUserDefaults methods, which caused warning messages to be printed.

RESOLUTION:

WOSendMail no longer calls the obsolete methods.

wotaskd and Monitor run with unexpected defaults on Mac OS X 10.1

Apple Reference 2802265

ISSUE:

The user defaults system changed between Mac OS X 10.0.x and Mac OS X 10.1. This causes Monitor and wotaskd to run with an unexpected set of defaults.

RESOLUTION:

Monitor and wotaskd have been modified to work properly with the user defaults system on Mac OS X 10.1.

Corrected in WebObjects 4.5.1 Update 2

Wrong Swing method in IB code generation for NSTableView

Apple Reference 2453148

ISSUE:

Swing code generated by InterfaceBuilder improperly uses setWidth instead of setPreferredWidth for NSTableView.

RESOLUTION:

This has been corrected.

woservice has a small memory leak

Apple Reference 2491807

ISSUE:

woservice has a small memory leak each time it launches the application it watches.

RESOLUTION:

The leak has been removed.

WOSession leaks an ivar

Apple Reference 2503730

ISSUE:

WOSession leaked an ivar when deallocated.

RESOLUTION:

This has been corrected.

NSAttributeDictionary methods crash if +initialize hasn't completed

Apple Reference 2529298

ISSUE:

A multithreaded application can crash if NSAttributeDictionary methods are called before its +initialize method has finished executing.

RESOLUTION:

NSAttributeDictionary is now initialized early in the application's startup.

Snapshot ref counting problem when inserting into and deleting parent/child ECs

Apple Reference 2609375

ISSUE:

Certain sequences of operations involving nested editing contexts can cause problems with the snapshot reference count.

RESOLUTION:

Snapshot reference counts are now properly maintained. Correcting this problem required adding an instance variable to the EOEditingContext class, changing the size of an EOEditingContext instance. This breaks binary compatibility for customers that subclass EOEditingContext and add ivars. Customers who do this must recompile.

direct action URL generation missing instance numbers

Apple Reference 2616937

ISSUE:

Under certain circumstances WebObjects would not include an instance number when generating a URL for a direct action. This could cause the WebObjects adaptor to load balance to a different instance which does not contain the user's session.

RESOLUTION:

URL generation for direct actions has been modified to preserve the instance number when appropriate.

Monitor/wotaskd could not tell the difference between Mac OS X Server 1.2 and Mac OS X Server 10.0.x

Apple Reference 2657074

ISSUE:

Monitor/wotaskd used a compile time method to determine the OS reported in Monitor's Hosts page. A Mac OS X 10.0.x machine was reported as Mac OS X Server.

RESOLUTION:

Mac OS X (Server) 10.0.x now reports the information in /System/Library/CoreServices/SystemVersion.plist. Mac OS X Server 1.2 will report as "Mac OS X Server".

Server-side WebAssistant launch line incorrect

Apple Reference 2661845

ISSUE:

If your DirectToWeb application uses '-D2WWebAssistantEnabled YES' as a command line argument rather than programmatically setting it after the application has finished launching, the port number will not yet be set and the server-side WebAssistant launch line will print with the incorrect port number -1, as in the following example:

appletviewer http://localhost:-1/cgi-bin/WebObjects/Administrate.woa/wa/D2WActions/openWebAssistant

RESOLUTION:

Specify a real port number in the appletviewer launch command, or specify a port at launch using the -WOPort <#> command line argument.

Adding an object to an owns relationship always puts it in the "inserted" list

Apple Reference 2663566

ISSUE:

Adding an object which has already been saved to an owns relationship always puts it in the list of 'inserted' objects. This creates an inconsistency when saving changes.

RESOLUTION:

EOControl has been modified to check whether the object is already in the editing context before adding it to the inserted list.

Sessionless direct action development apps inaccessible via web server

Apple Reference 2663739

ISSUE:

An instance of a sessionless direct action application does not include the instance id in the URL generated by WOHyperlink. As a result, this type of application is not accessible through the WebObjects web server adaptor when running as a development instance.

RESOLUTION:

URL generation has been modified to include the instance number for development instances.

Adaptor XML parser can crash with bad syntax

Apple Reference 2664670

ISSUE:

Certain textual formatting errors in the XML configuration file for the WebObjects HTTP adaptor can cause the adaptor to crash. (Note that wotaskd produces correct XML, so this only applies if a file is being used to configure the adaptor.)

RESOLUTION:

The XML parser has been modified to correctly handle the case that was causing the crash.

CreatePlots and LongRequest examples fail to clean or build on MOSXS 1.2

Apple Reference 2667045

ISSUE:

These two examples cannot be cleaned or built on Mac OS X Server 1.2 because the path to gnumake defined in PB.project is incorrect for this platform.

RESOLUTION:

The PB.project files for these two examples have been corrected.

NSUnarchive exception when running SetupWizard.app in the EOF Examples on MacOS X Server 1.2

Apple Reference 2673597

ISSUE:

The nibs in the EOF examples were corrupted in the shipping version of WebObjects 4.5.1.

RESOLUTION:

The update replaces the corrupted nibs with the correct files.

Time zone updates missing on Windows

Apple Reference 2678768

ISSUE:

Several files needed to resolve the issues originally resolved in WebObjects 4.0.1 Patch 2 and WebObjects 4.5 Update 3 (see Apple reference #2406610 in either update overview in the Knowledge Base for details) were omitted from WebObjects 4.5.1 on the Windows platform only.

RESOLUTION:

This update includes the missing files for Windows.

Update 4.5.1 adaptor to 5.0 GM version

Apple Reference 2691647

ISSUE:

Some changes were made to the WebObjects adaptor between the WebObjects 4.5.1 release and the WebObjects 5.0 release.

RESOLUTION:

This update includes all the source changes to the WebObjects adaptor up to the WebObjects 5.0 release. (This update also includes changes which were made after the WebObjects 5.0 release. These are documented separately.)

EOTextAssociation does not recognize Mac OS X rtf header "{\\\\rtf1" and throws an exception

Apple Reference 2695698

ISSUE:

New RTF data generated on Mac OS X 10.0.x uses the header "{\\\\rtf1" where previous WebObjects platforms used "{\\\\rtf0".

RESOLUTION:

EOTextAssociation has been updated to handle the new RTF signature properly.

WebObjects 4.5.1 adaptor source won't compile on MOSXS 1.2

Apple Reference 2696008

ISSUE:

The Mac OS X Server 1.2 installation includes sources for the WebObjects 4.0.1 adaptor. Installing the WebObjects 4.5.1 adaptor on a system with the 4.0.1 sources results in an incompatible mix of files from the two versions.

RESOLUTION:

This update removes any existing installed adaptor source on Mac OS X Server 1.2 and Mac OS X (Server) 10.0.x. The full WebObjects adaptor source is included in the update and installed on all platforms.

EOPalette raises when opening connection inspector

Apple Reference 2732969

ISSUE:

EOPalette sometimes raised an exception when the user selected the Connections inspector. This prevented the developer from changing or creating connections in existing nib files.

RESOLUTION:

This has been corrected.

Corrected in WebObjects 4.5.1 Update 1

WebObjects 4.5.1 Update 1 was applicable only to Mac OS X 10.0.x systems with WebObjects 4.5.1 Developer installed. It did the following:


Published Date: Feb 19, 2012