WebSphere Product Center Version 5.3.2 Test Fix (TF004)

##################################################################

Copyright (C) 2007 IBM Corp. - All Rights Reserved.

IBM makes no representations or warranties about the suitability of

this program, either express or implied, including but not limited to

the implied warranties of merchantability, fitness for a particular

purpose or non-infringement.

##################################################################

WebSphere Product Center Version 5.3.2 Test Fix (TF004). 1

1      About this test fix.. 1

2      Requirements.. 2

2.1    Prerequisite Installations. 2

2.2    Database schema modifications. 2

2.3    Properties file changes. 3

3      Installation.. 5

3.1    Preparation. 5

3.1.1 Stopping the WPC application on the local server. 5

3.1.2 Backing up you system before applying the test fix. 6

3.2    Patch application. 6

3.2.1 Unpack tar file. 6

3.2.2 Run Web Sphere Application Server script 6

3.2.3 Verify and update the configuration files. 7

3.3    Database Schema Modification. 7

3.4    Verify Installation. 7

3.4.1 Starting WebSphere Product Center. 7

3.4.2 Starting services. 8

4      List of fixes and enhancements.. 8

4.1    Fixes in WPC 5.3.2-TF004. 8

4.2    Fixes from prior WPC 5.3.2 maintenance deliveries. 9

5      Known Limitations.. 9

 

Table 4‑1: Fixes delivered in WPC Version 5.3.2-TF004

Table 5‑1: Known issues and limitations in 5.3.2-TF004

 

1        About this test fix

This document provides details on WebSphere Product Center Test fix-TF004 on the following platform(s):

·        WebSphere6 (DB2)

·        WebSphere6 (Oracle)

·        WebLogic8 (Oracle)

2        Requirements

This section includes several requirements that you must have before you apply WPC test fix TF004.

2.1   Prerequisite Installations

   WebSphere Product Center Version 5.3.2 must be installed prior to the application of Test fix-TF004.

   Note: It is strongly recommended to apply the test fix only to a test system. Test fixes do not undergo official IBM testing.

2.2   Database schema modifications

   If you have already applied 5.3.2-FP001, no additional schema modifications are needed.  However, if applying from a version of WPC prior to version 5.3.2-FP001, please apply the following schema changes:

 

There is one column added to PPI, PSI, PSD and PPR Table upgrade the schema run the SQL commands present in following SQL file. There is one column added to the PPI, PST, PSD, and PDR table. To upgrade the schema, run the following SQL commands:

 

For Oracle:

ftp://ftp.software.ibm.com/software/websphere/wpc/fixpacks/5.3.2-FP001/add_date_column-oracle.sql

 

For DB2:

ftp://ftp.software.ibm.com/software/websphere/wpc/fixpacks/5.3.2-FP001/add_date_column-db2.sql

 

For Oracle database, occurrence_id columns in the ITA (tctg_ita_item_attributes) and CAB (tctg_cab_category_attributes) tables should cater for 10 decimal digits.

 

To upgrade the schema run the SQL commands (only applicable for Oracle database):

 

ftp://ftp.software.ibm.com/software/websphere/wpc/fixpacks/5.3.2-FP001/alter_occurrence_id-oracle.sql

 

Note: Make sure to create a backup of your database before running the SQL update in order to have a version of the database to revert to in case of any problems.

 

Additionally, for customers migrating from earlier versions of WPC Version 5.3 (for example, 5.3 and 5.3.1), who were able to migrate without exporting and importing data, the Index Regeneration Capability utility needs to be run to facilitate the correct operation of an additional rich search option.

 

The Index Regeneration Capability is provided by a shell script named indexRegenerator.sh located in the $TOP/bin directory.  The shell script has the following usage:

 

For catalogs in a company:

--catalog=<<catalog name>> --company=<<company name>>

 

For hierarchies in a company:

--hierarchy=<<hierarchy name>> --company=<<company name>>

 

For items in a company:

--items=<<full path of the CSV file>> --company=<<company name>> [--encoding=<<encoding>>]

 

$TOP/bin/indexRegenerator.sh

Usage:

--catalog=<<catalog name>> --company=<<company name>>

--hierarchy=<<hierarchy name>> --company=<<company name>>

--items=<<full path of the CSV file>> --company=<<company name>> [--encoding=<<encoding>>]

Parameters containing spaces and special characters must be enclosed in escaped quotes (\").Also special characters should be escaped by back slash (\).

 

Both the Index Regeneration Capability and the Rich Search for Co-Occurrence of Multi-Occurrence Value facilities are described in the WPC Information Center in the Release notes under New Features located at http://publib.boulder.ibm.com/infocenter/wpc/v5r3m2/topic/com.ibm.wpc.doc/rn/rn_2.0.html.

 

2.3   Properties file changes

If you have already applied WPC 5.3.2-FP001, than no additional changes are required.  However, if upgrading from a version of WPC prior to 5.3.2-FP001, the following changes are needed in common.properties:

 

Remove one property from common.properties file:  max_number_items_for_realtime_search=1000

 

Modify one property in common.properties file:

change max_scripts_cache_timeout=60 to max_script_cache_timeout_in_seconds=60

 

Add (cut and paste) the following properties and their values at the end of the WPC common.properties file:

 

# This property decides whether the Web Services would be session enabled or not. A true

# value will enable sessions for webservices. A Web Service needs to be saved after changing

# the value of this property.

enable_webservice_session=true

# This property decides the session timeout period for the Web Services session. The value is in seconds.

webservice_session_timeout=300

# The following are needed for MQ version 6.  They can be overridden by specifying a username and password when calling the jmsGetQueueConnection script operation

mq_username=

mq_password=

# Key combination to trigger shortcuts.  If more than one is set to true, then all set to true will be

# needed to trigger the shortcut.  Default is CTRL-ALT, but if languages that use ALT GR for some characters,

# such as Polish, are in use then we advise that this should be changed, e.g. to CTRL-SHIFT or ALT-SHIFT,

# since in Microsoft Windows, CTRL-ALT and ALT GR always have the same functionality (except when used with DEL).

# We strongly advise against setting all of CTRL, ALT and SHIFT to false, since this would cause shortcuts

# to be triggered by normal typing!  It is recommended that at least two of these be set to true.

use_ctrl_in_shortcuts=true

use_alt_in_shortcuts=true

use_shift_in_shortcuts=false

 

# The width of the popup window for Lookup table entry input widget. This will be set to

# default value which is 800 pixels if the width is either too high (greater than 1680)

# or too low (less than 800). The allowed value can be any integer between 800 and 1680.

lookup_table_entry_input_popup_width=900

 

# The height of the popup window for Lookup table entry input widget. The allowed value

# can be any integer between 400 to 1050. This will be set to default value which is 400

# pixels if the height is either too high ( greater than 1050) or too low (less than 400).

lookup_table_entry_input_popup_height=500

 

# Can multiple ctg files (for image/binary attributes) exist with the same name?

# If false, will store files in ctg_files within the supplier base

# If true, will store files in subdirectories within ctg_files with timestamps for names

allow_multiple_files_with_same_name=false

 

3        Installation

This section provides general guidelines to apply a patch to WebSphere Product Center. Some information may differ depending on the methods used for previous installations. Contact your support representative for WebSphere Product Center with any installation issues.

3.1   Preparation

Before attempting to apply the latest patch to WebSphere Product Center, the following preparation is recommended:

3.1.1   Stopping the WPC application on the local server

      Complete the following steps to stop the WebSphere Product Center instance:

 

a)     Check the scheduler to make sure there are no critical jobs that need to be completed. If the queue is clear, stop the scheduler

         Manually by running the following script:

 

          $TOP/bin/go/stop/stop_scheduler.sh

 

b)     Check the workflow engine to make sure there are no critical workflow events in process that need to be completed by

      running the following script:

         

$TOP/bin/go/workflow_status.sh

 

           If the queue is clear, shutdown the workflow engine manually by running the following script:

         

$TOP/bin/go/stop/stop_workflowengine.sh

 

     c) Abort the entire application by running the following script:

 

          $TOP/bin/go/abort_local.sh

 

  All remaining WPC services running on the local work station will abort, including the RMI registry.

 

    Note: Check to make sure all processes have stopped using the 'ps' command.

    Stop off any rogue "java" or "rmiregistry" processes that remain after shutting down the instance.

    Occasionally, it may take several attempts to stop off all java processes. Continue stopping all java processes until they are all dead.

3.1.2   Backing up you system before applying the test fix

      Perform the following backup steps before applying the WPC test fix:

    a) Create a full backup of the current Web Sphere Product Center directories.

       The patch will overwrite files that have changed. If any issues occur, the backup will allow a rollback to a previous version.

      b) Perform a full backup of the database.

     Note: Apply the patch to a test   system to identify any issues before applying the patch to a production system.

     Do not delete the previous version of  WebSphere Product Center until performing thorough testing with the new installation.

3.2   Patch application

   To apply the patch to WebSphere Product Center, complete the following tasks:

3.2.1   Unpack tar file

      Purpose: To extract and update any new installation files into the current working directory

      Note: GNU tar is needed to untar the WebSphere Product Center files.

 

      1. Copy the Web Sphere Product Center tar file to the user or temporary directory.

          For example: {HOME_OF_WPC}/tarballs

 

      2. CD to $TOP, the current working directory, and unpack the tar file:

          For example, using GNU tar, the following command extracts and unzips the tar file using an absolute path:

           tar zxvf /home/WPC/tarballs/5.3.2-WS-WPC-WS5_ORA- IF001.tgz

3.2.2   Run Web Sphere Application Server script

      After unpacking the tar file in the previous section, ensure that the default server (server1) is running and run the following

      WebSphere Application script:

 

          $TOP/bin/websphere/install_war.sh

 

     Note:  Ensure that the default server (server1) is running, as it is required for the Web Sphere Application Server script to work.

     If  needed, start the WAS default server by issuing the following command as root:

 

            ${WAS_HOME}/bin/startServer.sh server1

3.2.3   Verify and update the configuration files

      Verify all configuration files required by the new installation and make any updates as needed (refer to section 2.3 for details).

      Refer to the backup copy of the configuration files for the previous installation if needed.

 

      A description of the configuration files and its location is as follows:

  • For common.properties: During system startup, this file is used to read in all system level parameters. This file includes settings for the database layer (connection parameters), directory settings, default character sets, thread-pooling parameters, and other settings, which are documented in the file. File location: $TOP/etc/default.
  • For admin_properties.xml: This file is used by the administrative utilities to configure clusters of the application.

            File location: $TOP/etc/default

  • For init_ccd_vars.sh: The initialization file is the shell script that initializes the shell variables used by the system.

            File location: $TOP/setup.

         

3.3   Database Schema Modification

   To apply the database schema modifications as outlined in section 2.2, run any included SQL instructions for your database.

   Make sure to create a backup of your database before running the SQL update in order to have a version of the database to

   revert back to in case of any problems.

3.4   Verify Installation

3.4.1   Starting WebSphere Product Center

      To start the WebSphere Product Center, execute the following script:

 

          $TOP/bin/go/start_local.sh

 

      The script starts all the services needed to run WebSphere Product Center.

 

     Note: This process should take approximately 30-40 seconds, depending on the speed of the processor.

3.4.2   Starting services

     Run the $TOP/bin/go/rmi_status.sh script which is provided by WebSphere Product Center and verify that the following

    services are started correctly:

  • admin_<machine name>
  • appsvr_<machine name>
  • eventprocessor
  • queuemanager
  • scheduler
  • workflow

 

4        List of fixes and enhancements

This section includes the list of fixes for WebSphere Product Center Version 5.3.2-TF004, WebSphere Product Center Version 5.3.2-IF001,

and enhancements included in WebSphere Product Center Version 5.3.2-TF004.

4.1   Fixes in WPC 5.3.2-TF004

Top of Form

 

 

Bottom of Form

   Table 41: Fixes delivered in WPC Version 5.3.2-TF004

     PMR

APAR

Id

Synopsis

89430 and 88973

JR27175

WPC00032092

Abstract

Poor performance due to large selections.

Cause

The application is largely unusable because of an inefficient algorithm that caused severe performance degradation with large static selections.

Solution

A code fix has been made to correct the problem.

Impact

This code fix does not require any implementation change in a customer environment.

 

 


 

4.2    Fixes from prior WPC 5.3.2 maintenance deliveries

Test Fix 5.3.2-TF004 is inclusive of WPC 5.3.2-FP001.  Because the number of fixes included in 5.3.2-FP001 is large, the list of fixes will not be included in this document.  Please see the Release Notes for WPC 5.3.2-FP001 for a full list and details on each fix included in maintenance on the 5.3.2 version of WPC up-to-and-including 5.3.2-FP001.

5        Known Limitations

Table 51: Known issues and limitations in 5.3.2-TF004

ID

SYNOPSIS

WPC00032058

The reported problem is that if you move to the final page of a multi-edit after making unsaved modifications and click OK in the dialog, then it will lose your window size, and only display the number of items on the final page.

 

For example, if there are 29 items, with a window size of 20, and you make unsaved modifications on page 1, then navigate to page 2 and click OK, then it will show items 21-29 but will now work with a window size of 9. That is, if you go back to the first page it will show items 1-9, while if you use the Previous Page button it will show 12-20.

 

A workaround is to either manually enter the item range or start a new multi-edit session.

 

 

WPC00031988

If a Report Input spec has a grouping node which is defined as multi-occurrence, only a single occurrence will be added.  This occurrence can be populated in the usual way, however, if the user attempts to return to this screen to update the values, this will cause a server error and the user will be logged out of WPC.  This is a permanent limitation.  The suggested workaround is to define the group itself as single-occurrence, but the nodes within the group as multi-occurrence.

WPC00031996 

Due to a current design limitation, the Rich Search result set executes a full search twice, causing a potential performance issue.

WPC00031850

WPC00031844

 

The reported problem is that if set empty to required global or location attributes in automated step, the entry could  be moved to next step, no validation will be handled in automated step;

 

Solution or Recommendation:

Workflow designers must ensure that any step following an automated step must have any required attributes on the "required attributes to validate" collection for that step.

If an entry automatically moves out of a step, this is an exception to the "Entries cannot leave a step unless valid per that step" rule. As such, validation should not be done in Automated steps

Note that automated steps include the Initial step.

 

 

WPC00031854

 

The reported problem is about a checked out item in portal integration, when item is checked out to collaboration area portlet, all attributes shouldn't be editable in item portlet again, but current behavior on 532FP001 is: attributes with empty values could be editable,  while attributes with non-empty values couldn't be editable;

No workaround, it will be fixed in 532FP2

 

 

WPC00031862

 

Due to a limitation in an underlying 3rd Party library, errors occur during export of items which include a date type attribute for KST Time Zone.

WPC00031976

 

The reported problem is that java script error will be thrown when doing Cancel action to leave the page with unsaved item or category, and it only happens when choosing top menus except Home – Exit. This is a WebFx bug, this code is licensed to IBM under the Apache license, and the license terms do not allow IBM developers to modify it.  If WebFX themselves were to fix it to correctly recognize a false return code from the WPC code, then this may break the menus for their other customers. This means that this defect cannot be fixed.

 

 

WPC00032063

 

The reported problem is when adding/modifying a category, the Script op EntryChangedData.getModifiedAttributePathsNewEntry() can not retrieve any values in hierarchy post-save script;

it's permanent limitation in current architecture that the changed entry nodes cannot be accessed by a post-save script for a hierarchy.  A workaround would be to use a post-processing script instead.

 

 

WPC00032089

 

The secondary spec information is not available to the portal integration code when an item is viewed after a search. The reason for this problem is that during a search, the items retrieved do not have the category information in the search results page. Hence the search portlet cannot display the secondary spec associated with that category and item.

 

Therefore, the secondary spec details will not be available to the customer when they view an item retrieved from search results.

 

WPC00032110

 

This problem occurs when a script tries to create new item by using "new CtgItem()" API with an existing Primary Key.

For example:

1. Choose Any Item and run the following script to confirm item has no problem with WPC Query.

 

var queryString = "select item from catalog('Item Catalog') where item.pk = '11'";

var searchQuery = new SearchQuery(queryString);

var resultSet = searchQuery.execute();

resultSet.next();

item = resultSet.getItem(1);

out.writeln(item);

.

2. Try to create new Item with same Primary key -

var item = new CtgItem("Item Catalog");

item.setCtgItemPrimaryKey("11");

item.saveCtgItem();

.

3. Try to Run WPC Query Again with same script in as step 1.

Then you can see the following Error

Exception:Script execution failed (com.ibm.ccd.common.error.AustinException) Exception:Too many values returned by GenCtgItdItemDetail.getByIdVersion(...).

Too many values returned by GenCtgItdItemDetail.getByIdVersion(...)

 

Workaround:

In scripting, before calling the new CtgItem() API and setting a primary key value for the new Item being created, perform a check to determine if the particular item_id is already being used as a primary key for another Item.

 

 

WPC00031891 

In compiled mode, the following array declaration will not work: var array = [][];

 

Instead use the multidimensional arrays defined for scripts running in compiled mode. These must be written as follows:

var array=[];                                                       

array[0] = [];                                                        

array[1] = [];

 

Note that var array = [][]; will work in NON-Compiled mode.

 

WPC00030692 

The Edit Screens page in the WPC GUI is no longer supported. You can get to the Edit Screens page by going to, Data Model Manager-> Security -> Role console and clicking the Edit Screens button. The information on this screen is not guaranteed to be accurate, and is not intended for customer usage.

 

WPC00031420 

Due to architectural limitations, users cannot get the Context Locations from selection results created by a WPC Rich Search with location attributes.

 

WPC00032000 

You receive different results, when you run a WQL query with a

different syntax, but the same semantic. When you run:                

                                                                        

-          (A and (B or C)): Customer receives the wrong result

-          ((B or C) and A): Customer receives the correct results                                  

 

Customers need to create and use the following workaround (see example below). 

 

Use the supported top-level syntactic structures for WQL queries that involve an 'OR' or an 'AND' operator:

 

a)     <AF1> AND <AF2> AND ... AND <AFn>,  n>= 1, where each AFi is an atomic formula;  or

 

b)     <AF1> OR <AF2> ;  or

 

c)      <AF1> OR <AF2> OR <AF3>.

 

 

First, it is evident that both the proposed WQL queries "(A and (B or C))" and       "((B or C) and A)" violate the syntax rules listed in 1.  Therefore neither is supported.  The desired result set can be achieved, however, in several steps.

First a legal WQL query can be used to obtain an intermediate result set.  Then, using WPC script ops, one can iterate over this result set and further filter the items as desired.  Let us now consider a concrete example.  Suppose the desired (but unsupported) WQL query was:

 

"select item from catalog ('MK_Ctg') where item['MK_Ctg_Spec/stock'] like '13%' and (item ['MK_Ctg_Spec/code'] = '18' or item['MK_Ctg_Spec/code1'] ='18')";

 

As can be seen, this query has the form "(A and (B or C))".   Here is a WPC script that first uses a legal WQL query and then goes on to filter its result set to the desired set of items.

 

// BEGIN SAMPLE SCRIPT

var queryStr = "select item from catalog ('MK_Ctg') where item ['MK_Ctg_Spec/code'] = '18' or item['MK_Ctg_Spec/code1'] ='18'";                                

var query= new SearchQuery(queryStr);

var rs = query.execute();  

var keepItems = [];

var i=0;

while(rs.next()){

    var tmpItem = rs.getItem(1);

    var stock = tmpItem.getCtgItemAttrib("MK_Ctg_Spec/stock");

    if (stock.startsWith("13"))

    {

     keepItems[i++] = tmpItem;

    }

}

// END OF SAMPLE SCRIPT

 

 

 

YOU HAVE SUCCESSFULLY APPLIED THE LATEST MAINTENANCE RELEASE FOR WEBSPHERE PRODUCT CENTER!