IBM Rational Web Developer Fix Pack 6.0.1.1 - Release notes

For Rational Web Developer, Version 6.0, 6.0.0.1, or 6.0.1

© Copyright International Business Machines Corporation 2000, 2005. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

1.0 About this release
2.0 Product fix history
   2.1 Cumulative fixes
   2.2 Debugger
   2.3 Enterprise Generation Language (EGL)
   2.4 J2EE tools
   2.5 JavaServer Faces
   2.6 Page Designer
   2.7 Struts
   2.8 XML tools
   2.9 Data tools
   2.10 Server tools
3.0 Installation information
   3.1 Installation instructions
   3.2 Hardware requirements
   3.3 Software requirements
   3.4 Software corequisites
4.0 Known problems and limitations
   4.1 Limitations of EGLSDK and EGLCMD
   4.2 Arrays of any type of record for EGL Java generation
   4.3 BLOB and CLOB functions incorrectly documented
   4.4 No more padding in EGL string concatenation
   4.5 Crystal Reports® cannot be used to make JDBC connections to z/OS® and iSeries based database products
   4.6 No support for generating Crystal Reports from XML datasources for display on WebSphere® Application Server v5.x.
   4.7 Faces Client Components - onRowAdd event added to the DataGrid
5.0 Customer support
6.0 Notices and trademarks

1.0 About this release

To view the latest version of this file, see the release notes at www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rwd/6011/html/readme_6011.html.

This file is available in the following national languages:

Brazilian Portuguese Chinese - Simplified Chinese - Traditional
French German Italian
Japanese Korean Spanish

IBM® Rational® Web Developer Fix Pack 6.0.1.1 contains fixes to the version 6.0.1 release and the following enhancements:

EGL Builder performance improvements

The performance of the EGL Builder has been drastically improved.  You can expect to see significant improvements in the amount of time required to build an entire workspace and in the amount of time required to build individual parts as they are being developed.  In the past if you normally had the "Build automatically" preference turned off, try working with it turned on.

The first time each project is built using version 6.0.1.1 of EGL, the .project file, which is located in the root directory of the project, will automatically be modified so that it references the new EGL Builder.  After this update has been completed, all future builds of the project will use the new EGL Builder.  It is recommended that users manually invoke a build after starting V6.0.1.1 and loading the workspace, so that the projects will have been built with the new EGL Builder before future development takes place.  A manual build can be invoked by selecting Project >Build All from the toolbar.

Note: If the option to Build Automatically is enabled, a project will be changed to use the new EGL Builder the first time version 6.0.1.1 of the product is started for an existing workspace or after a project is imported in both new and existing workspaces.  If the option to Build Automatically is disabled, it is necessary to invoke a build manually to migrate to the new EGL Builder.  All new projects created with version 6.0.1.1 of the product will already be configured to use the new EGL Builder.

New EGL Problem Types

As part of the builder performance improvements, new problem types have been created for EGL. These problem types are used when displaying errors in the Problems view. After installing V6.0.1.1, it may be necessary to update the Problems View so that these new problem types are displayed correctly. To update the view, select the Filters option from the Problems View drop down menu. In the dialog that is displayed, make sure that the following types have been selected (you will need to scroll the table to find the EDT entries):

Message Differences

As part of the builder performance improvements, an effort was made to be more consistent with regards to the validation error messages that are issued. While all of the same error conditions are caught, it is possible you may see a different number of error messages than before.  Also, the text of the messages issued may not be the same as before. Previously, when validating referenced functions from a part (program, library, etc) which invoked the function, all error messages were placed on the function invocation statement. These error messages are now placed in the invoked function on the specific line where the error occurred. Each error message contains the name of the invoking part. This makes it much easier to find the reason for the error.

Use Form Syntax Change

As part of the builder performance improvements, we have made changes in how we process forms. However, this may cause ambiguity errors in the case where a form group has like-named fields on multiple forms and a program has unqualified references to those fields.We have added a new "Use forms" syntax so the customer can specify which forms to look at during name resolution.

use <formgroup-name>.<form-name>, <formgroup-name.form-name>, etc.

If you have new validation errors related to resolving form fields, to fix the problems you can either fully qualify your references to the form fields or you can use a new action called "Organize Used Forms".  This action analyzes the program to see what forms are actually used and then creates the appropriate Use statement. This action is available on the context menu for an EGL project, EGL package, and EGL file. It is also available from the context menu of the EGL Editor.  If there are serious errors with the program, such as a syntax error, unresolved use statements, or using multiple non-help form groups, this action puts up a message saying that it can not run due to errors in the program, and no changes will be applied. However, this action does work when there are other errors, such as the ambiguity error that this action is meant to fix.  If there are serious enough errors where EGL does not recognize an I/O statement, this action can not detect the form on that statement and the results may not include all the forms used.  Thus, other than the ambiguity error, it is recommended that this action is run with a cleanly compiled program.

Note: useformGroup is still supported and can be used.  It is a short cut for listing every form in the form group on the use statement.

EGL SQL Retrieve option for COBOL compatibility

At EGL declaration time, you can use the SQL retrieve feature to create an SQL record from the columns of an SQL table. If you want new SQL records to be compatible with COBOL programs (that is, to have fixed records with level numbers for structure items, and to use CHAR instead of STRING primitive types), select the Create COBOL compatible record definition check box on the SQL Retrieve Preferences window.

JSF Table's Row Edit button label can be customized

Three new Row Edit attributes added to allow button label customization, editLabel for the Edit button label, saveLabel for the Save button label and cancelLabel for the Cancel button label.

2.0 Product fix history

2.1 Cumulative fixes

This fix pack includes Rational Web Developer version 6.0.1 and the following interim fixes:

2.2 Debugger

(PK12617) When stopping at a breakpoint the debugger performs an inefficient search for the Java source.

2.3 Enterprise Generation Language (EGL)

2.4 J2EE tools

2.5 JavaServer Faces

2.6 Page Designer

2.7 Struts

2.8 XML tools

2.9 Data tools

 There is now support for using the DB2® Universal JDBC Driver |for building Java stored procedures which have source larger than 32K |and target a DB2 UDB for z/OS V7 server. Before this support was added, the Universal Driver was supported only for DB2 UDB z/OS V8 Java stored procedures. In order for this support to work, you must install DB2 for z/OS V7 APAR (PK01445).

2.10 Server tools

 (PK10862) When using the WebSphere test environment v6, the Add and Remove Projects option with ClearCase views fails using a WAR file with a Web library project.

3.0 Installation information

3.1 Installation instructions

For information about installing IBM Rational Web Developer Fix Pack 6.0.1.1, installation prerequisites, installing from a command line, and setting up a local mirror of the update server, see the installation instructions at www3.software.ibm.com/ibmdl/pub/software/rationalsdp/rwd/60/install_instruction/6011/install.html.

3.2 Hardware requirements

For hardware requirements for this fix pack, refer to the installation instructions.

3.3 Software requirements

 This fix pack can be installed on top of IBM Rational Web Developer 6.0, 6.0.0.1, or 6.0.1.

3.4 Software corequisites

If you use local updates and have more than one product installed, you must download the 6.0.1.1 fix packs for all installed products to your local update site. This is because there are dependencies among them. If you have multiple products installed and download only one fix pack and run the Rational Product Updater, the Updater will give you a warning when you search for updates that one of the required updates is missing. Again, this situation only applies to customers who use local update sites.

To simultaneously install the fix packs, download them to your local update site. Then install all fix packs at the same time from the update site by using the Rational Product Updater.

For example, suppose you have both Rational Application Developer and Rational Software Modeler installed on your system. Because the fix packs for these products depend on each other, they must be installed at the same time. Download both fix packs to your local update site and run the Rational Product Updater to update your installation.

4.0 Known problems and limitations

4.1 Limitations of EGLSDK and EGLCMD

The version 6.0.1 documentation failed to include the following limitations and recommendations for the EGLSDK and EGLCMD commands.

For both:

  1. To work around an OutOfMemoryError when running either EGLSDK or EGLCMD, try increasing the JVM heap size. Use the following command:
    java [-msstart_sizem] -mxmax_sizem application     

    start_size
    An optional beginning size, in megabytes, for the JVM heap used in running application.

    max_size
    The maximum JVM heap size, in megabytes, to be used in running application. This should not be greater than half the RAM available to the system.

    application
    Either EGLSDK or EGLCMD, followed by its usual parameters.

    The following example assumes the system has 2GB RAM available:

         java -ms512m -mx1024m EGLCMD EGLListDetailForTUI/EGLCommandFile.xml -data D:\WorkSpace

For EGLSDK:

  1. Make sure that emfworkbenchedit.jar is in your Java classpath. The jar file is in the following directory:
    installationDir\rwd\eclipse\plugins\com.ibm.wtp.emf.workbench.edit_version\emfworkbenchedit.jar
    installationDir
    The product installation directory, such as C:\Program Files\IBM\RSPD\6.0. If you installed and kept a Rational Developer product before installing the product that you are using now, you may need to specify the directory that was used in the earlier install.

    version
    The installed version of the plugin; for example, 1.0.0
  2. If you wish to enable COBOL generation for either z/OS® or iSeries™, make sure that the runtime jar file eglgencobol.jar is in your class path. The jar file is in the following directory:
    installationDir\egl\eclipse\plugins\com.ibm.etools.egl.batchgeneration_version
    installationDir
    The product installation directory, such as C:\Program Files\IBM\RSPD\6.0. If you installed and kept a Rational Developer product before installing the product that you are using now, you may need to specify the directory that was used in the earlier install.

    version
    The installed version of the plugin; for example, 6.0.0
  3. EGL does not support the generation of pageHandlers from the SDK. To create pageHandlers in batch mode, use EGLCMD.

For EGLCMD:

  1. Close all instances of the workbench UI before executing EGLCMD from a command prompt.
  2. If you use the wizard to create the command file, do not move that command file to another directory. The command file must be in the workspace containing the parts EGL is using to generate code.
  3. Use the -data option to specify the workspace for EGLCMD. Otherwise EGL will use the default workspace, which may not be the one you want.
  4. When you generate a pageHandler with EGLCMD, be sure to use the build descriptor option genProject. This allows EGL to handle all the J2EE deployment information automatically.
  5. If you use EGLCMD and the genDirectory build descriptor option for a project that contains no Web components, EGL will compile the programs outside the workbench. For this reason the Java compiler (javac.exe) must be in the system path and the EGL Java generation code (eglbatchgen.jar, in the bin directory of your installation directory) must be in the system classpath.
  6. If you are generating for iSeries, you may also need to put xml.jar on your classpath (you will find it in eclipse\jre\lib in you installation directory). Because having too many items in the classpath for EGLCMD can also cause problems, you should have only these four files in your classpath to generate for the iSeries: eglutil.jar, startup.jar, eglbatchgen.jar, and  xml.jar.
  7. If you do generate pageHandlers using EGLCMD, you must update the faces-config.xml manually with managed-bean and navigation-rule entries in order for the page handler to run correctly.

4.2 Arrays of any type of record for EGL Java generation

Starting with version 6.0.1.1, you can create arrays of any type of record, as long as you are generating Java.  If you generate COBOL, the old rule still applies: you can only make an array of Basic, SQL, or DLISegment records.

4.3 BLOB and CLOB functions incorrectly documented

 The following functions were documented incorrectly:

These "attach" functions associate a variable (either BLOB or CLOB) with a file resource (either specified or temporary system file), but do not write the contents of the variable to that resourse.  Any prior memory or file associations are released.  Subsequent operations, such as reading from a database into the variable, will update the file.

4.4 No more padding in EGL string concatenation

 Previously, when you included a limited-length string variable in an EGL string concatenation and itemsNullable was YES, the variable's value was padded with blanks to its maximum length.   When itemsNullable was NO, no padding was added.  Starting with version 6.0.1.1, no padding will ever be added.

4.5 Crystal Reports cannot be used to make JDBC connections to z/OS and iSeries based database products

There is no support for making JDBC connections from Crystal Reports to z/OS and iSeries-based database products.

 

4.6 No support for generating Crystal Reports from XML datasources for display on WebSphere Application Server v5.x.

 The Crystal Reports XML driver requires an application server to be at least J2EE 1.4 compliant, and therefore does not support Websphere Application Server  v5.x runtime, which is J2EE 1.3 compliant.
 

4.7 Faces Client Components - onRowAdd event added to the DataGrid

You can assign default values to fields when adding a new row to the Faces Client Components DataGrid at runtime and set the default value to null.

Using the onRowAdd event handler the new EObject for the new row can be intercepted before it is added to the DataGrid:

  1.  Add the onRowAdd attribute to the datagrid tag :
    <odc:dataGrid allowRowAddAndDelete="false" styleClass="dataGrid" showSelectionColumn="false" pageSize="10" id="dataGrid1" onRowAdd = "return myOnRowAddHandler( this, event);">
  2. You can then write any JavaScript in the handler or use the handler to set the default attributes in the EObject for the new row.  This handler will be called when the user tries to add a new row to the DataGrid.  This code example sets the value of the AGE field in a sample EObject to null:
    myOnRowAddHandler(thisObj, thisEvent) {
    //thisObj is DataGrid Control
    var objs = thisObj.Adapter.EObjects;
    objs[objs.length-1].eSet("AGE",null);
    }

5.0 Customer support

The product home page for Rational Web Developer is www.ibm.com/software/awdtools/developer/web/. For FAQs, lists of known problems and fixes, and other support information, visit the product support page at www.ibm.com/software/awdtools/developer/web/support/index.html.

6.0 Notices and trademarks

© Copyright IBM Corporation 2000, 2005. All Rights Reserved.

The XDoclet Documentation included in this IBM product is used with permission and is covered under the following copyright attribution statement: Copyright © 2000-2005, XDoclet Team. All rights reserved.

Portions based on Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Copyright © 1995 by Addison-Wesley Publishing Company, Inc. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this documentation in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

IBM may have patents or pending patent applications covering subject matter described in this documentation. The furnishing of this documentation does not give you any license to these patents. You can send license inquiries, in writing, to:

IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.

For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan

The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR CONDITIONS OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

Intellectual Property Dept. for Rational Software
IBM Corporation
3600 Steeles Avenue East
Markham, Ontario
Canada L3R 9Z7

Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

The licensed program described in this documentation and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.

COPYRIGHT LICENSE:

This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.

Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:

© (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. © Copyright IBM Corp. 2000, 2005. All rights reserved.

If you are viewing a soft copy of this information, the photographs and color illustrations may not appear.

Programming interface information

Programming interface information is intended to help you create application software using this program.

General-use programming interfaces allow you to write application software that obtain the services of this program's tools.

However, this information may also contain diagnosis, modification, and tuning information. Diagnosis, modification, and tuning information is provided to help you debug your application software.

Warning: Do not use this diagnosis, modification, and tuning information as a programming interface because it is subject to change.

Trademarks and service marks

The following terms are trademarks of International Business Machines Corporation in the United States, other countries, or both:

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Windows® and Windows NT® are trademarks of Microsoft® Corporation in the United States, other countries, or both.

Intel® and Pentium® are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States, other countries, or both.

Linux® is a trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product or service names, may be trademarks or service marks of others.