Release Notes for iPlanet TradingXpert

Version 3.5.1 for Solaris 2.6, 2.7, or 2.8

Updated December 21, 2001




These release notes contain important information available at the time of the Version 3.5.1 release of iPlanet TradingXpert. New features and enhancements, installation notes, known problems, and other late-breaking issues are addressed here. Read this document before you begin using this release of iPlanet TradingXpert. Version 3.5.1

An electronic version of these release notes is posted on the iPlanet documentation web site: http://docs.iplanet.com/docs/manuals/. Check the web site prior to installing and setting up your software and then periodically thereafter to view the most up-to-date release notes and manuals.

These release notes contain the following sections:





What's New in TradingXpert, Version 3.5.1

This section describes the changes to the following product components:

FX Properties Changes

Several new fields have been added to the FX Properties file, as shown in Table 1. These fields have been added to allow for user modifications, as specified in the iPlanet TradingXpert Installation Guide. The FX Properties file is located in:

$NASDIR/APPS/FX/common

Example:

/opt/iplanet/nasserver/nas/APPS/FX/common



Table 1    Added Fields in FXproperties 

Field

Description

FX.basedir 

The base directory name in the FX.basehref field. For example, if FX.basehref is `http://tree.red.iplanet.com:5050/TX', the FX.basedir should be indicated as `TX'. 

FX.dateFormat 

Specifies the date setting. For details on how to set the date format, refer to:

http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html

Some examples:

MM.dd.yyyy              =>  12.06.1966

MM/dd/yyyy at HH:mm:ss  =>  12/06/1966 at 23:59:59

hh:mm:ss a              =>  11:59:59 PM 

FX.logDocEvents 

Enables or disables detailed document tracking information. Valid values are TRUE or FALSE.  

FX.unreadFilter 

Determines the type and status of documents to retrieve, depending upon which button is selected. Refer to Table 2 for details on how this field is used. Valid values are TRUE or FALSE.  

FX.verboseTracking 

Extends the tracking information screen to include all event log information for a given tracking ID.  



Table 2    FX.unreadFilter Flag Value and Button Behavior Descriptions 

Flag Value

Button Behavior Description

 

Get Documents  

Inbound 

Outbound 

true 

All inbound (both read and unread) and outbound documents are retrieved 

Inbound documents (read) will not be retrieved until the Get Doc button is selected.

After Get Doc button is selected, this button will retrieve both read and unread inbound documents.  

All outbound documents are retrieved.  

false 

All inbound (both read and unread) and outbound documents are retrieved. 

Both read and unread inbound documents are retrieved.  

All outbound documents are retrieved.  

User Interface Enhancements

Table 3 describes the enhancements to the user interface for this release.



Table 3    Enhancements to the User Interface 

Component

Existence

Functionality Description

Welcome page 

New to this release 

Following user login, TradingXpert does not load documents until one of the document load buttons is selected (i.e., the Get Documents, Inbound, or Outbound buttons) 

Get Documents Button 

New to this release 

When selected, TradingXpert loads both inbound and outbound document information from the ECXpert database into the TradingXpert memory cache. 

Inbound Button 

Exists in TX 3.5 

When initially selected, TX gets inbound documents from the ECXpert database, including the latest received documents. When subsequently selected, TX gets inbound documents from the TX server cache.  

Outbound Button 

Exists in TX 3.5 

When initially selected, TX gets outbound documents from the ECXpert database, including the latest sent documents. When selected subsequently, TX gets outbound documents from the TX server cache.  

Inbound page 

Exists in TX 3.5 

When the `check for new messages' checkbox is selected, the `Search' button gets inbound documents from the ECXpert database, including the latest received documents. Otherwise, the `Search' button gets inbound documents from the TX server cache.  

Outbound page 

Exists in TX 3.5 

When the `check for new messages' checkbox is selected, the `Search' button gets outbound documents from the ECXpert database, including the latest sent documents. Otherwise, the `Search' button gets outbound documents from the TX server cache.  

Java Enhancements for Developers

In this release, the ECX/iAS extension has been replaced by the ECXpert JNI API library so that the ECXpert 3.0, 3.5, and 3.6 databases can be accessed. This enhancement requires migration of existing Java files from TradingXpert 3.5.1. The migration includes the installation of two packages:

Class Equivalence Diagram

Table 4 shows the class relationships between the iAS/ECX extension and the JNI API library.



Table 4    Class Equivalence Diagram 

iAS/ECX Extension

ECXpert Java JNI API

IEcxMgr
 

not used 

IEcxBase
 
JEcxBase
 
IEcxAddresses
 
JEcxAddresses
 
IEcxCrypto
 
JEcxCrypto
 
IEcxDocId
 
JEcxDocId
 
IEcxDocument
 
JEcxDocument
 
IEcxLog
 
JEcxLog
 
IEcxLogin
 
JEcxLogin
 
IEcxMember
 
JEcxMember
 
IEcxPartnerId
 
JEcxPartnerId
 
IEcxPartnership
 
JEcxPartnership
 
IEcxService
 
JEcxService
 
IEcxServiceList
 
JEcxServiceList
 
IEcxSubmit
 
JEcxSubmit
 
IEcxTracking
 
JEcxTracking
 

not used 

JEcxInit
 

Enhanced Object Creation

In previous releases of TradingXpert, developers were forced to use the IEcxMgr interface to create other objects. The concept of an "object factory" does not exist with this release. Instead, all Java API objects can be directly instantiated. This allows more flexibility when customizing TradingXpert.

The following code fragments (derived from FXProfile.java) illustrate the difference between object creation in TradingXpert 3.5 and TradingXpert 3.5.1:

With iAS/ECX extension:

(1)IEcxMgr ecxMgr ;

(2)IEcxLogin ecxLogin ;

(3)IEcxMember ecxMember ;

(4)

(5)ecxMember = ecxMgr.createMember(ecxLogin);

With JNI API library:

(a)JEcxLogin ecxLogin ;

(b)JEcxMember ecxMember ;

(c)

(d)ecxMember = new JEcxMember();

(e)ecxMember.setLogin(ecxLogin);

With the iAS/ECX extension method, you use an instance of IEcxMgr to create the ecxMember object. To log in to the database, you use the createMember() method to establish a db context, create the ecxMember object, and associate the supplied login credentials with that object.

In the new JNI API library IEcxMgr does not exist. Instead, the JEcxMember object is directly instantiated, and the supplied setLogin() method binds the login credentials.

Establishing the db context occurs when the retrieveFXSession() method in FXAppLogic is called. As in the prior release of TradingXpert, Applogics calls this method to retrieve login information, session data, and other information. The retrieveFXSession() method was enhanced to instantiate a JEcxInit object, which in turn establishes a db context using the ecxInit() method.





Hardware and Software Requirements

If you are creating a new installation of iPlanet TradingXpert, refer to the "Preinstallation Tasks" chapter of the iPlanet TradingXpert Installation Guide for any hardware and software requirements, including such things as cache settings.





Installation Notes

This section explains how to install TradingXpert Version 3.5.1 as either a new product or an upgrade to a pre-existing TradingXpert 3.5 installation.




Caution

If you are installing TradingXpert on a machine that does NOT have ECXpert, the ecx.ini file must exist in the following configuration directory:

/opt/iplanet/nasserver/config/ecx.ini;

Do NOT put the ecx.ini file in a lower directory, for example, do NOT put the ecx.ini file in:

/opt/iplanet/nasserver/nas/config/ecx.ini;

If ECXpert is on the same computer as TradingXpert, the ecx.ini file can reside in the $ECX_HOME/config/ecx.ini directory.




New Installation

Follow the installation instructions provided in the iPlanet TradingXpert Installation Guide. There is one additional prompt requesting you to enter the ECXpert version used with this installation of TradingXpert. For that prompt, enter 3.0, 3.5, or 3.6 as appropriate.

Migration

To upgrade an existing installation of TradingXpert 3.5, perform the following steps.

  1. If you are planning to do an ECXpert migration, do it before migrating TradingXpert. Refer to iPlanet ECXpert Installation Guide Version 3.6 for instructions.

  2. Back up your customized installation of TradingXpert. Create tar files of the ecx and fx directories, and verify that the reg.dat file is backed up.

  3. Shut down iAS.

  4. Verify that the LDAP server is running.

  5. Verify that the LD_LIBRARY_PATH environment variable is set properly:

    LD_LIBRARY_PATH = $ECX_HOME/lib

  6. Logged in as either root or as the ECXpert installation user actraadm, navigate to the directory where the binaries are located. Locate and execute the following command:

    upgrade_exe

  7. During installation, you will be prompted for the iAS directory. Enter the following path:

    /opt/iplanet/nasserver/nas

  8. You will also be prompted for the version of ECXpert you will use with TradingXpert. The upgrade script renames directories that are modified to xxxxx.preSP1, where xxxxx is filename. New directories and files will also be copied to the same location.

  9. Once the installation process completes (when the command line prompt returns), any customized files that were backed up need to be migrated from the `xxxxx.preSP1' files to the newly copied files. The following modified directories and files are installed with this release:

    • $NASDIR/APPS/FX/common

    • $NASDIR/APPS/FX/document

    • $NASDIR/APPS/FX/events

    • $NASDIR/APPS/FX/login

    • $NASDIR/APPS/FX/maps_etc/Customization

    • $NASDIR/APPS/FX/profile

    • $NASDIR/APPS/FX/templates/en_US/document/listPartners.html

    • $NASDIR/APPS/FX/templates/en_US/document/track.html

    • $NASDIR/APPS/FX/templates/en_US/inbound/inbound_1.html

    • $NASDIR/APPS/FX/templates/en_US/outbound/outbound_1.html

    • $NASDIR/APPS/FX/tradeCenter

    • $NASDIR/APPS/FX/web/en_US/frameset.html

    • $NASDIR/APPS/FX/web/en_US/help.html

    • $NASDIR/APPS/FX/web/en_US/menu/menu.html

  10. You can remove the following ECX/iAS extension project files when the installation process has completed:

    ecx.gxm

    ecx.gxr

  11. You can also remove the ecx directory:

    % rm -R /opt/iplanet/nasserver/nas/APPS/ecx





Bug Fixes and Enhancements

Table 5 lists the bug fixes and enhancements included in this release. In addition, a more complete discussion of Bug ID 530969 follows the table.



Table 5    Bug Fixes and Enhancements in TradingXpert 3.5.1

iPlanet Bug Tracking #(s)

Description

397571 

A Get Document button now allows you to load data from the database into memory, to speed up data access and allow users to have more documents in their mailbox. 

---- 

You can now quickly call up the log on a web page, by replacing tradeCenter.html (which makes calls to the database) with a simple welcome webpage. 

---- 

The logon java bug was fixed, to eliminate the error "No document found" that is raised when the locale is missing from the URL. 

---- 

You can now log into TradingXpert from within an iPlanet Portal session.  

---- 

User name has been added to the top frame, to show which user is logged into TradingXpert.  

347780 

The initial entry to inboxes or outboxes has been fixed, so that the TradingXpert Partner selection is no longer empty. 

433970 

The date format parameter setting has been added in the FX properties file, to enable internationalization of dates specified and displayed when viewed in a returned Search list.  

---- 

The JNI interface has been added to the ECXpert extension, allowing TradingXpert to work with either the ECXpert 3.0, 3.5, or 3.6 database. 

---- 

Users are now prevented from making invalid selections of the combination of a Trading Partner and an invalid Document Type (or vice versa) while administering a New Document. The two individual parameters, each represented by a selection list, are now combined into one pull down list.  

---- 

Incorrect field focus occurring within $FX/web/javascript/function.js has been fixed. Previously, with Netscape Communicator 4.x only half the page would be selected. The behavior on Microsoft Internet Explorer 5.0 gave an error indicating "cannot give focus to a hidden field." 

396071 

This bug, involving a password change that caused iAS to dump core, has been fixed. 

387920 

A fix has been added to turnaroundDocument.java allowing sublineitems to be properly turned around. 

370734 

This bug has been fixed, to allow display of more than one Purchase Order at a time.  

387436 

Bug fix for 997 FAgen producing a doc type 'null' in the Inbound list.  

Refreshing the TradingXpert Connection (Bug ID: 530969)

There are two ways the ECXpert/TradingXpert administrator can refresh the TradingXpert connection to ECXpert:

  1. From a browser:

    Add a Refresh button to the ECXpert Server Management User Interface. See "Adding a Refresh Button to the ECXpert Server Management User Interface" for further information.

  2. From a command line or a batch shell program:

    Write a utility Java Class that connects to refresh Applogic in TradingXpert. See "Writing a Utility Java Class to Refresh the TradingXpert Connection to ECXpert" for further information.

Adding a Refresh Button to the ECXpert Server Management User Interface

  1. Modify the file 1-1Left.htm in the ECXpert installation directory:

        $BDGHOME/UI/html/admin/Management/1-1Left.htm

    Production directory example:

    /opt/iplanet/NS-apps/ECXpert/UI/html/admin/Management/1-1Left.htm

  2. Add the following html just after "Update Screen" in the table.





      <tr>
           <td bgcolor="white"> <font size="-1" face="PrimaSans BT, Verdana,
            sans-serif">

            <a href="http://<hostname>:<port>/cgi-bin/gx.cgi/GUIDGX-
             {7D446663-4E0E-1A8C-FA9D-080020B37846}" target="middle">
            <b>Refresh TradingXpert</b></a></font>
          </td>
      </tr>




    where:

    hostname = Hostname of machine on which TradingXpert is installed

    port = Port configured for TradingXpert

    GUID = The GUID with which the refresh Applogic is registered

    Example:

    <ahref="http://txdemo.iplanet.com/cgi-bin/gx.cgi/GUIDGX-{7D446663-4E0E-1A8C-FA9D-080020B37846}" target="middle">

Writing a Utility Java Class to Refresh the TradingXpert Connection to ECXpert

The refresh Applogic can be invoked programmatically from a java program, using the following class to send an HTTP request through a URL connection:

  1. Compile the TXURLConnection class:

    javac TXURLConnection.java

  2. Execute TXURLConnection:

    java TXURLConnection [http://<host_name>:<port>]

    Example:

    TradingXpert is installed on the host production.foo.com on port 8000. In this case, the java TXURLConnection would be initiated from the URL:

    http://production.foo.com:8000

Java Utility Class Source Code



Code Example 1    Java Utility Class Code for Class TXURLConnection 



import java.net.*;
import java.io.*;
import java.util.*;

public class TXURLConnection
{
    public static final int SUCCESS = 0;
    public static final int FAILURE = 1;

    private String baseHref, refreshAL;
    private HttpURLConnection urlConn;  // generic connection object
    private URL url;                    // generic URL reference

    public TXURLConnection(Properties props){
            baseHref = props.getProperty("HREF");
            refreshAL = "/cgi-bin/gx.cgi/GUIDGX-{" + props.getProperty("GUID")
             + "}";

        }
        public int connect(){
            try {
                url = new URL(baseHref + refreshAL);
                buildConnection(url);
                writeToConnection();
                return SUCCESS;
            }
            catch (Exception e) {
              System.out.println(e.getMessage());
              return FAILURE;
            }
        }

    private void writeToConnection()
                       throws IOException
    {
        DataOutputStream printout = new DataOutputStream
        (urlConn.getOutputStream ());

        printout.flush ();
        printout.close ();
        urlConn.getResponseCode();  // wait for server response
    }

    private void buildConnection(URL target) throws IOException
    {
        urlConn = (HttpURLConnection)target.openConnection();
        System.out.println(target.toString());
        urlConn.setDoInput (true);
        urlConn.setDoOutput (true);
        urlConn.setUseCaches (false);
    }

}



The client program using this class uses the properties file props.txt to get the hostname, port and the GUID for the refresh Applogic.

The main method of such a client program can be implemented in two ways:

  • It can be part of TXURLConnection.java

  • It can be part of another client class, for example, TXClient

For example:




public static void main (String args[]) {
        Properties props = new Properties();  // store HTTP parameters
        try
        {
            FileInputStream fis = new FileInputStream("props.txt");
            props.load(fis);
        }
        catch (IOException e)
        {
            e.printStackTrace();
            return;
        }
        TXURLConnection txURL = new TXURLConnection(props);
        if (txURL.connect() == TXURLConnection.SUCCESS)
           ;
        else
            System.err.println("Failure :: TXURLConnction.init()");
}



A sample props.txt file for a TradingXpert installation on a machine with the IP address 192.18.112.184 on port of 8080 for the Application Server, and a GUID for the refresh Applogic is:

7D446663-4E0E-1A8C-FA9D-080020B37846

HREF=http://192.18.112.184:8080

GUID=7D446663-4E0E-1A8C-FA9D-080020B37846

You need to refresh TradingXpert every time the ECXpert Admin server is restarted. If the Application Server is restarted after ECXpert refreshes TradingXpert is not necessary. TradingXpert should also be refreshed every time the ECXpert TCP/IP connector is restarted.





How to Report Problems

If you have problems with iPlanet TradingXpert, Version 3.5.1, contact iPlanet Customer Support:

So that we can best assist you in resolving problems, have the following information available when you contact Customer Support:





For More Information

Useful iPlanet information can be found at the following Internet locations:


Use of iPlanet TradingXpert is subject to the terms described in the license agreement accompanying it.

Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions are covered under Copyright © 2000 Netscape Communications Corp. All rights reserved.

Sun, Sun Microsystems, the Sun logo, Java, iPlanet, and all Sun, Java, and iPlanet based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Netscape and the Netscape N logo are registered trademarks of Netscape Communications Corporation in the U.S. and other countries. Other Netscape logos, product names, and service names are also trademarks of Netscape Communications Corporation, which may be registered in other countries.


Last Updated December 19, 2001