WebObjects 5.1.1: WebObjects 5.1.1 Update Overview

This document has been obsoleted by a newer update. Refer to WebObjects Current Patch List, document 70037, for information on the most current updates for WebObjects. This document is still available in the Knowledge Base as a convenience to customers who have not yet upgraded to the most current update.
WebObjects 5.1.1 includes updated versions of several WebObjects class and jar files. Some WebObject project types make copies of these files when the project is built. As a result, some projects may need to be rebuilt to take advantage of the issues addressed in the update. For example, when a JSP/Servlet war archive is created, several jars are copied into the war file. At least one jar (WOJSPServlet_client.jar, from the WOJSPServlet.framework) is always copied, and additional framework jars may be copied into the war as well, depending on the project. After installing WebObjects 5.1.1, either the application must be rebuilt (recreating the war archive), or the war archive must be manually updated, using the jar tool.

This update includes modified WebObjects client-side Java classes and jars. On Mac OS X (Server) the update installer automatically places the modified classes and jars in your web server's document root directory. On Solaris and Windows, the update installer places the modified classes in the WebObjects installation (in $NEXT_ROOT/Library/WeObjects/WODocumentRoot/WebObjects) but does not copy them to your web server's document root directory. To use the new files, you must install them in the correct location for the web server being used.

WebObjects 5.1.1 for Mac OS X (Server) 10.1.3

Important: There are two mutually exclusive updates for this platform. If you have WebObjects 5.1 Developer installed on Mac OS X 10.1.3, you need the WebObjects 5.1.1 Developer update. If you have WebObjects 5.1 Deployment installed on Mac OS X Server 10.1.3, you need the WebObjects 5.1.1 Deployment update. 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 5.1.1 Deployment requires Mac OS X Server 10.1.3 or later as well as the 10.1.3 Server Update and the Java 1.3.1 Update 1. WebObjects 5.1.1 Developer requires Mac OS X 10.1.3 or later as well as the December 2001 Mac OS X 10.1 Developer Tools and the Java 1.3.1 Update 1. If you have not yet updated to the correct version of Mac OS X (Server), Developer Tools, and Java, you must do so before installing WebObjects 5.1.1. The Mac OS X 10.1.3 and December 2001 Mac OS X 10.1 Developer Tools images are available on the Apple web site.

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


Manually Installing WebObjects 5.1.1 Developer on Mac OS X 10.1.3

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

Note: WebObjects 5.1.1 Developer requires Mac OS X 10.1.3 or later as well as the December 2001 Mac OS X 10.1 Developer Tools and the Java 1.3.1 Update 1. If you have not yet updated to the correct version of Mac OS X, Developer Tools, and Java, you must do so before installing WebObjects 5.1.1. The Mac OS X 10.1.3 and December 2001 Mac OS X 10.1 Developer Tools images are available on the Apple web site.

1. Download WO51MacOSXDevUpdate1.pkg.tar, the update package for Mac OS X 10.1.


2. Double-click WO51MacOSXDevUpdate1.pkg.
3. Only an administrator can install the update. Click the lock icon at the bottom left of the panel to authenticate for administrative access.

4. Click OK to proceed.


5. Click Continue.
6. Read the software license agreement, then click Continue.

7. Click Agree to agree to the license and continue the installation.

8. Select the volume containing Mac OS X and WebObjects 5.1 Developer, then click Continue.

9. Make sure that there are no WebObjects or EOF applications running.

10. Click Install to proceed with installation.


11. Restart your computer.

Manually Installing WebObjects 5.1.1 Deployment on Mac OS X Server 10.1.3

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

Note: WebObjects 5.1.1 Deployment requires Mac OS X Server 10.1.3 or later as well as the 10.1.3 Server Update and the Java 1.3.1 Update 1. If you have not yet updated to the correct version of Mac OS X Server and Java, you must do so before installing WebObjects 5.1.1. The Mac OS X Server 10.1.3 image is available on the Apple web site.

1. Download WO51MacOSXDepUpdate1.pkg.tar, the update package for Mac OS X Server 10.1.


2. Double-click on WO51MacOSXDepUpdate1.pkg.
3. Only an administrator can install the update. Click the lock icon at the bottom left of the panel to authenticate for administrative access.

4. Click OK to proceed.


5. Click Continue.
6. Read the software license agreement, then click Continue.

7. Click Agree to agree to the license and continue the installation.

8. Select the volume that contains Mac OS X Server and WebObjects 5.1 Deployment, then click Continue.

9. Make sure that there are no WebObjects or EOF applications running.

10. Click the Install button to proceed with installation. The Installer window displays information about the progress of the installation, which may take several minutes.

11. Restart your computer.

Installing WebObjects 5.1.1 on Windows 2000

Notes:


1. Download WO51WinUpdate1.exe, the self-extracting update installer for Windows 2000.
2. Log in as a user with Administrator privileges.

Make sure that there are no WebObjects or EOF applications running.

3. Double-click WO51WinUpdate1.exe to start the installation process.


4. After reading the screen, click "Next" to continue.
5. To agree to the license and continue the installation, click "Yes".

6. Copy the updated WODocument root in $NEXT_ROOT/Library/WeObjects/WODocumentRoot/WebObjects to your web server's document root.


7. Select "Yes, I want to restart my computer now" to restart.
Installing WebObjects 5.1.1 on Solaris

1. Download WO51SolarisUpdate1.TAR.Z, the update installer for Solaris, and download the update installation script, patcher.sh.


2. Log in as root.

3. Make sure that there are no WebObjects or EOF applications running, including Monitor.

4. If a web server is running on the computer on which you are installing the update, stop it.

5. Stop WebObjects services (wotaskd and woservice) using the WOServices script.


6. To Install the update, cd to the directory containing the update and the patcher.sh installation script.

7. At the command prompt enter:


8. Copy the updated WODocument root to your web server's document root.

cp -r $NEXT_ROOT/Library/WeObjects/WODocumentRoot/WebObjects <webserver doc root>/WebObjects

9. Restart your computer.

Corrected in WebObjects 5.1.1

NSTimeZone : timeZoneFromSecondsFromGMT() returns no time zone even when value is valid

Apple Reference 2814979

ISSUE:

NSTimeZone.timeZoneFromSecondsFromGMT() returned null when the offset was a valid value for an apolitical time zone.

RESOLUTION:

If the seconds offset from GMT corresponds to a whole hour between 12 and -12 inclusive, this method reuses an existing, well-known, apolitical NSTimeZone object for that offset. Only whole hour offsets should by passed to this method in WebObjects 5.1.1.

NSPathUtilities.stringByDeletingLastPathComponent() returns incorrect result on Windows

Apple Reference 2822553

ISSUE:

On Windows, NSPathUtilities.stringByDeletingLastPathComponent() returns an incorrect result if the root directory is specified. For example, an input of "C:/" incorrectly returns "C:" rather than "C:/".

RESOLUTION:

This problem has been corrected.

NSTimestamp.microsecondOfSecond is off by a factor of 1000

Apple Reference 2837997

ISSUE:

In WebObjects 5.1, NSTimestamp.microsecondOfSecond() actually returns milliseconds.

RESOLUTION:

This problem has been corrected.

NSTimestampFormatter does not format NSTimestamp in the local time zone

Apple Reference 2838080

ISSUE:

In WebObjects 5.1, NSTimestampFormatter does not format NSTimestamp in the local time zone.

RESOLUTION:

NSTImestampFormatter now defaults to the local time zone.

WOEventDisplay gives an error screen when logging is on

Apple Reference 2844727

ISSUE:

Viewing the event display page can result in a ClassCastException.

RESOLUTION:

This problem has been corrected.

NSTimestamp does not have SUID for serialization

Apple Reference 2847504

ISSUE:

WebObjects 5.1 cannot read NSTimestamps serialized in WebObjects 5.0.

RESOLUTION:

The serialID in WebObjects 5.1.1 has been changed to match the serialID in WebObjects 5.0. In WebObjects 5.1.1, NSTimestamp will read WebObjects 5.0/5.1.1 serialized Timestamps and write WebObjects 5.1.1 NSTimestamps.

NSTimestamp data that was serialized using WebObjects 5.1 cannot be deserialized using WebObjects 5.1.1. However, data can be migrated using NSTimestampFormatter. A WebObjects 5.1 tool can use NSTimestampFormatter to convert NSTimestamps to Strings. Then a WebObjects 5.1.1 tool can use NSTimestampFormatter to convert the Strings back to NSTimestamps.

NSTimestampFormatter.parseObject creates incorrect timestamp

Apple Reference 2849628

ISSUE:

NSTimestampFormatter.parseObject creates an incorrect timestamp when the string being parsed does not use GMT for the time zone.

RESOLUTION:

This problem has been corrected. Please review any subclasses of NSTimestampFormatter you may have used to work around this problem in your WebObjects 5.1 applications.

NSTimeZone.localTimeZone() raises

Apple Reference 2849630

ISSUE:

Using NSTimeZone.localTimeZone() with NSTimestampFormatter raises an exception.

RESOLUTION:

This problem has been corrected.

backtracking page cache not working properly

Apple Reference 2849640

ISSUE:

Backtracking in a browser and repeating a request or reloading a previously generated page incorrectly causes the request/response loop to execute rather than simply returning the cached page. (See WOApplication.setPageRefreshOnBacktrackEnabled().)

RESOLUTION:

The page cache now functions properly. Additionally, a request's form values (if any) are now considered when determining whether to return a cached page. If the user backtracks and repeats a request with modified form values, the request/response loop will execute. However, with the current implementation, the responses for both sets of form values remain in the cache. If the user backtracks a second time and makes another request with the original form values, the request/response loop will not execute and the cached page will be returned.

The documentation for WOApplication.setPageRefreshOnBacktrackEnabled() is incorrect on one point. The documentation states "By default, this attribute is set to false." The default in WebObjects 5.1 is true.

WO5.1 Win2K Cannot Launch Apps

Apple Reference 2849676

ISSUE:

Launching WebObjects 5.1 applications on Windows 2000 with European localization can fail with an error similar to:


RESOLUTION:

This is a problem in the application launcher .cmd file generated when the application is built. The WebObjects build tools have been modified to produce correct .cmd files. However, existing .cmd files must be regenerated to incorporate this change. If you are experiencing this problem you must rebuild your application after installing WebObjects 5.1.1.

NullPointerException in WO5.1 with many to many relationships

Apple Reference 2850322

ISSUE:

In WebObjects 5.1, if an EOModel defines a many to many relationship that is only modeled in one direction, an error occurs attempting to access the entity which does not have the relationship modeled.

RESOLUTION:

This problem has been corrected.

An optimistic locking failure can cause subsequent fetch failures

Apple Reference 2852342

ISSUE:

An exception can leave the JDBCChannel in a bad state. Thereafter, a SELECT query can be incorrectly sent via a JDBC executeUpdate() call, raising a JDBCAdaptorException.

RESOLUTION:

This problem has been corrected.

Opening Components in WOBuilder

Apple Reference 2863520

ISSUE:

WOBuilder sometimes fails to open a component when double clicking on a .wo in ProjectBuilder. WOBuilder displays the message "Failed to open component".

RESOLUTION:

This problem has been corrected.

EOModeler fails to overwrite existing *.java file

Apple Reference 2880006

ISSUE:

When generating java files for an entity, EOModeler fails to overwrite previously generated files.

RESOLUTION:

This has been fixed for WebObjects on Mac OS X. In addition, EOModeler now includes an option to merge any differences using FileMerge.

Published Date: Feb 20, 2012