Release Notes for AquaLogic Interaction Development Kit 5.4
Contents
Version History
Release Notes Overview
Version 5.4
Supported Operating Systems, Application Servers, and Browsers
Supported BEA AquaLogic User Interaction Products
Documentation
New Features
Issues Addressed
Known Issues
Version History

AquaLogic Interaction Development Kit (IDK) 5.4- released January 2007 for Java 5.0 compatibility

AquaLogic Interaction Development Kit (IDK) 5.3 - released October 2006 for AquaLogic Interaction 6.1 compatibility

Enterprise Web Development Kit (EDK) 5.3 - released December 2005 for AIX, Solaris and SUSE Linux

Enterprise Web Development Kit (EDK) 5.3 - released September 2005 for Windows and Red Hat Linux

Release Notes Overview

The AquaLogic Interaction Development Kit (IDK) is used to build custom applications as part of an AquaLogic Interaction architecture. The IDK supports a variety of development tasks including development of:

- Custom portlets using the Portlet API.
- Applications using the SOAP based APIs to access Portal, Collaboration and Publisher servers.
- Integration web services (IWS) that integrate custom authentication, user profile, crawler, and search services into AquaLogic Interaction.

The IDK supports these development scenarios in both Java and .NET by providing JARs and signed / unsigned assemblies that can be added to a development project.

These release notes cover AquaLogic Interaction Development Kit version 5.4. Note, the IDK was previously known as the Plumtree Enterprise Web Development Kit (EDK).

Release notes are occasionally updated after the release date. For the most recent release notes, visit http://www.oracle.com/technology/documentation/index.html.

Version 5.4

Supported Operating Systems, Application Servers, Databases, and Browsers

Refer to the Interoperability page in the Product Center at support.plumtree.com for the latest information on supported operating systems, application servers, databases, and browsers.

At the time of release, AquaLogic Interaction Development Kit 5.4 supports the following:

- Operating Systems: Windows 2003 Server SP1, Windows 2000 Server SP4, Solaris 8, 9, and 10 (on SPARC), Red Hat Enterprise Linux 3.0-3 (x86), SUSE Linux ES 9, AIX 5.3 (Power 3, Power 4, Power 5)
- Remote Web Application Servers - .NET:
  - IIS 6.0 / .NET 1.1 (worker process isolation mode or IIS 5.0 isolation mode).
  - IIS 6.0 / .NET 1.1 with KB824629
  - IIS 6.0 / .NET 2.0
- Remote Web Application servers - Java:
  - Apache Tomcat 5.0.28 using JDK 1.4.2 or JDK 5.0
  - BEA Weblogic 9.2 using the bundled JDK 5.0
  - BEA Weblogic 9.1 using the bundled JDK 5.0
  - BEA Weblogic 8.1 SP4 using the bundled JDK 1.4.2
  - WebSphere 6.0.1 using Java 1.4.2 (AIX only)
- Runtimes:
  - .NET Framework version 1.1.4322
    - IDK .NET PRC Collaboration and PRC Content (Publisher) APIs also require .NET Web Services Enhancements 2.0SP3 to use document upload
  - .NET Framework version 2.0.50727
  - JDK version 1.4.2
  - JDK version 5.0
- Microsoft Internet Explorer 5.5 and 6.0, Netscape 7.2, Safari 1.2 and 2.0.1 (Mac only), and Firefox 1.0

Supported BEA AquaLogic User Interaction Products

Refer to the Interoperability page in the Product Center at support.plumtree.com for the latest information on supported AquaLogic User Interaction products.

At the time of release, AquaLogic Interaction Development Kit 5.4 supports the following:

- AquaLogic Interaction 6.1 and later, 6.0, 6.0 SP1, 5.0.4, 5.0.4J
  - Portal 4.5WS is supported for AWS/PWS/CWS/Portlet via UDDI
- Collaboration: 4.0.2, 4.1.0, 4.2.0 (required to use PRC Collaboration API)
- Publisher: 6.1.0, 6.2.0, 6.3 (required to use PRC Content API)

Documentation

The product distribution includes the following documents in the Documentation folder. For the latest documentation, go to http://www.oracle.com/technology/documentation/index.html.

Document Title and File Name | Document Description
--- | ---
Documentation Index Documentation.html | An index that links to the documentation available online.
API Documentation javadocs/ (Java only) ndocs/ (.NET only) | The documentation for APIs provided by IDK 5.4.
Attributions IDKAttributions_Java.txt IDKAttributions_NET.txt | Provides a list of third-party technologies used in the product along with licensing information.

Note: Additional documentation including tutorials and developer guides are available online on the AquaLogic User Interaction Developer Center on BEA dev2dev.

New Features

The AquaLogic Interaction Development Kit 5.4 provides the following new features:

- The IDK supports Java 5.0 for all development scenarios including the Portlet API and PRC.

Issues Addressed

The following issues were addressed:

- None.

Known Issues

Installation

- None.

General (Java and .NET)

- Publisher 6.3 server-side file leak. Using IDK to download files from Publisher 6.3 will cause an Axis temporary file not being removed. (Issue #55232)

General Java

- When using the IDK from a standalone Java application, the Servlet API JAR version 2.2, 2.3, or 2.4 must be explicitly added to the classpath. (Issue #37348)
- Multiple endpoints for AWS/PWS/CWS/SWS/SCI are no longer supported in Java and have never been supported in .NET.
  Workaround
  Prior to version 5.2.0, it was possible to define endpoints in Java by declaring multiple bindings/ports in server-config.wsdd. For instance, multiple CWS endpoints ContainerProviderSoapPort1 and ContainerProviderSoapPort2 could be mapped to different implementations of IContainerProvider. Though it is still possible to use an old server-config.wsdd to create multiple SOAP endpoints for an IWS, this is no longer supported. (Issue #43508) (Related issue #42816)

General .NET

- The IDK requires WSE 2.0 SP3. Building against the .NET IDK causes the warning "dependency could not be found," for the assembly: Microsoft.Web.Services2. As the requirements indicate, this assembly from Microsoft Web Services Enhancements is only needed by PRC Collaboration for Document Upload and the warning can be ignored if this part of the IDK API is unused. (Issue #37773)
- .NET SOAP connections could be closed due to one of the following errors: "System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive." or "The underlying connection was closed. An unexpected error occurred on send."
  Workaround:
  There is a bug in the Microsoft .NET framework that causes random connection failures. See http://support.microsoft.com/default.aspx?scid=kb;EN-US;819450 (Issue #36786)
- The normal .NET IDK assemblies are not strongly named and cannot be referenced from strongly named assemblies.
  Workaround:
  Reference the signed .NET IDK instead. (Issue #37347)
- When uploading large files (>4MB) in .NET using PRC Collaboration, PRC Content, or when using a slow connection, you might need to add settings to your Web.config or machine.config. The .NET IDK has a configuration snippet in app.config that shows the maxRequestLength and executionTimeout parameters. When added to the appropriate section of your Web.config, they can circumvent ASP.NET timeouts and allow large file uploads. You may also need to increase the responseDeadlockInterval attribute in the machine.config of your Microsoft.NET Framework directory.
  The following are the settings that can be added to Web.config or .exe.config:

      <configuration>
       <!-- Must configure section handler for microsoft.web.services section -->
       <configSections>
       <section
       name="microsoft.web.services2"
      type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration,Microsoft.Web.Services2,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" />
       </configSections>
       <microsoft.web.services2>
       <messaging>
       <!-- The maximum file upload size supported by ASP.NET. The size specified is in Kilobytes.
       A value of -1 means there is no limit. The default is 4096 KB (4 MB). -->
       <maxRequestLength>-1</maxRequestLength>
       <!-- The maximum number of seconds that a request is allowed to execute before
       being automatically shut down by ASP.NET. A value of -1 means
       there is no limit. The default is 90 seconds. -->
       <executionTimeout value="-1" />
       </messaging>
       </microsoft.web.services2>
      </configuration>

  (Issue #43255)

Signed .NET

- The following general information pertains to the signed IDK:
  - The strongly named .NET IDK assemblies include all assemblies in dotnet_signed\bin. The IDK itself is in Plumtree.EDK_signed.dll. All IDK signed assemblies be used together and none should be mixed with the original .NET IDK assemblies.
  - To use the signed .NET IDK, existing applications bound to the original .NET IDK must be recompiled against the signed assemblies.
  - Using the signed .NET IDK in integration web services such as a crawler (CWS) requires that new .asmx files from dotnet_signed be used to reflect the new assembly names.
  - Deploying applications that use the strongly named .NET IDK from Microsoft's Global Assembly Cache (GAC) requires all IDK signed assemblies to be installed in the GAC.
  - The signed .NET IDK allows partially trusted callers (AllowPartiallyTrustedCallers).
  - For information on installing strongly named assemblies into the GAC, refer to Microsoft's documentation
  (Issue #38993)
- .NET applications using the signed (strongly named) IDK must be rebuilt when upgrading to a newer version of the IDK if the major or minor version have changed, for example 5.1.0.0 to 5.2.0.0. Refer to Microsoft's .NET versioning policy for more information. (Issue #43855)
- Granting any <trust> level below Full could potentially cause the .NET IDK to throw the following error: System.Security.SecurityException: Request for the permission of type System.Security.Permissions.EnvironmentPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed. ... at com.plumtree.openfoundation.util.XPDateTime
  Workaround
  Normal IDK operation does not exhibit this behavior. Only grant the <trust> level Full if your application encounters this error or if it is required for another reason. The strongly named .NET IDK allows partially trusted callers (AllowPartiallyTrustedCallers). For information on partially trusted callers see Microsoft's documentation of AllowPartiallyTrustedCallers. (Issue #44020)

PRC Content

- Publisher (Content Server) throws a ContentException when attempting to publish a content item with a long name or path.
  Workaround
  Publisher (Content Server) imposes a limit on the length of file paths to published and previewed content items. This is file system and thus OS dependent, though a 255 character limit is common. The file path length is determined by the path to the published content directory, e.g. C:\bea\alui\ptcs\publishedcontent, combined with the full Publisher path to the item including folder and subfolder names. A content item nested deep within a folder hierarchy may encounter this problem. Shortening the folder hierarchy or names of folders or content items can prevent the error. (Issue #41597)
- It is possible to publish a content item whose presentation template contains invalid pcs tags that fail IPresentationTemplateManager.validateTemplateText. (Publisher issue# 41714) (Issue #43190)
- Attaching a presentation template to a data entry template, then storing the data entry template, does not update the client state of the presentation template. This means that IPresentationTemplate.isPublishable, getPublishURL, and other methods are no longer accurate in the client copy of the presentation template. This is a limitation of the API design and will not be fixed. (Issue #43230)
- A ContentException could be thrown if the WS Content internal Publisher (Content Server) session times out before the portal login token.
  Workaround
  If the Publisher (Content Server) session in the WS Content times out (the default is 24 hours) before the portal login token used by the IRemoteSession, then the PRC Content will return an error. When using the default values for portal login token time-out and Publisher session time-out, this problem will never occur. However, this can occur if the Publisher session timeout is shorter than the portal login token timeout. Simply refreshing the portal login token and creating a new IRemoteSession will refresh the Publisher session and resolve the issue. (Issue #43646)
- Security is not checked properly for IFolderManager.getFolderByUUID and any user can retrieve any folder. The same security bug exists for getDataEntryTemplateByUUID, getPresentationTemplateByUUID and getSelectionListByUUID. (Publisher issue# 43841, 44000) (Issue #43874)
- IFolderManager.getFolderByPath throws a CSObjectNotFoundException when a user does not have access to the folder. It should throw CSSecurityException. This mismatch of exceptions also occurs for operations such as remove, move, and expire. (Publisher issue# 43693, 44003, 44006, 44007) (Issue #43950)
- IFolderManager.getFolderByPath throws an ArrayIndexOutOfBoundsException when it is called with the root folder path ('/').
  Workaround
  Use IFolderManager.getRootFolder to retrieve the root folder. (Publisher issue# 43840) (Issue #43952)
- Publishable presentation templates are not searchable. Despite the documentation's claim that publishable presentation templates with associated portlet IDs at publish time are searchable, they are not. There is no workaround for this issue. (Issue #44390)

PRC Collaboration

- Rapid creation and removal of Collaboration objects causes a NullPointerException from Collaboration when search indexing is enabled.
  Workaround:
  Search is attempting to index Collaboration objects that have already been removed. If rapid creation and removal of Collaboration objects is required, the search indexing can be disabled by editing Collaboration's ptcollab\4.0\settings\config\config.xml. In the section labeled "Search settings" set search enabled="no".
  WARNING: Disabling search indexing of Collaboration objects is not recommended and issues caused by this setting are not supported. (Issue #35222)
- Methods that take a long time to complete can cause SOAP timeouts which will be thrown as exceptions in the IDK. Copy operations continue to be processed by Collaboration, while upload operations are aborted. This will be addressed in a future release. The following methods are known to cause SOAP time-outs depending on network conditions or size of the affected Collaboration object structure: IProjectManager.copyProjectContent, ITaskListManager.copyTaskLists, IDocumentManager.copyToFolder, IDocumentManager.checkInDocument, IDocumentManager.insertNewDocument (Issue #35300)
- If a copy operation has not completed after 10 minutes, it is aborted. This is not a bug and will not be fixed. This affects: IProjectManager.copyProjectContent, ITaskListManager.copyTaskLists, IDocumentManager.copyToFolder (Issue #37034)
- For all QueryOrders, the setAscending and isAscending methods do not function.
  Workaround
  Use the QueryOrder constructors' ascending parameter to specify if the results should be ascending or descending. (Issue #37256)
- PRC Collaboration calls result in an exception: Call into WS Portal to authorize login token SOME_LOGIN_TOKEN= failed. Details: java.lang.NullPointerException
  Workaround
  Either Collaboration 4.0.2 must be installed or, if using 4.0.1, the 4.0.1.157486 Hotfix must be applied to Collaboration itself (not the IDK client). In Collaboration 4.0.1, portal users that do not have read access to the administrative folder in which they reside cannot make PRC Collaboration method calls. A workaround that does not require the hotfix is to grant all users read access to the folder in which they reside. (Issue #44016)

PRC Portal

- Users with read-only access to a document folder can create a Web link document. Using IDocumentManager.createWebLinkDocument, a user with insufficient permissions can create a Web link document. (Issue #22513)
- It is not possible to query ACLs on portal document folders. (Issue #26256) (Related issue #26257)
- Querying objects using ObjectClass.Community does not function as expected. When performing object queries using ObjectClass.Community, the community objects reside in their own administrative folder and not the folder in which they visually appear in the portal. This is due to the internal storage of communities in the portal and will not change. (Issue #37349)
- MyPages queries for non-administrator users do not work as expected.
- Addition of setRefreshRate, setExpirationDate, and setDeleteBrokenLinks methods do not work as expected. (Issue # 36206)

PRC Search

- Dates in the search server are only accurate to within four minutes. Using Operator.Equals on Date fields is discouraged. (Related issue #26926)
  Workaround:
  Using GreaterThan/LessThan or a date range is the recommended usage. (Issue #26927)
- Types of search exceptions that are thrown when executing an IPortalSearchRequest with invalid parameter values are mismatched between the Java and .NET IDKs. When calling execute() after some methods of IPortalSearchRequest were called with invalid values, for example, an empty IFilterClause or non-existent fields, the .NET IDK throws a different exception than the Java IDK. (Issue #27160)
- Portal properties of type double are truncated to floats in the search server. Using Operator.Equals on float fields is discouraged.
  Workaround:
  Using a float range is the recommended usage. (Issue #32270) (Related issue #26929)

PRC Portlet

- The maximum http header size enforced by a Web application server could truncate a portlet's essential http header (CSP) information.
  Workaround:
  Increase the Web application server's maximum header size. (Issue #32446)

PRC Crawler Web Service

- Folder metadata is not loaded during a crawl. The method IContainer.getMetaData() is not called during a crawl, and thus folder metadata is not loaded. Folder metadata is visible through the Edit view of the Knowledge Directory. This is a known limitation of the Portal Crawl Provider and is unlikely to change.
  Workaround:
  Add folder metadata by editing each folder in the directory. (Issue #21434)
- .NET Crawlers operating in DocFetch mode must use Document Literal SOAP encoding which can be set in the Crawler Web Service editor. This is a known limitation and will not be fixed. (Issue #29127)
- Any DocFetch crawler in IIS6 (Windows 2003) must be granted special access permissions or it will throw System.UnauthorizedAccessException during a crawl.
  Workaround:
  Find the user or group for anonymous access for the Web Site in IIS Services Manager (Properties | Directory Security | Authentication and Access Control | Edit), usually IIS_WPG. Assign this user/group write privileges to the root directory of the crawler Web site, or the directory that has been assigned as the root directory in DocFetch. (On the folder using Windows Explorer, open Properties | Security and add IIS_WPG). The same user/group (IIS_WPG) must have been explicitly granted read access to the documents that will be retrieved by the DocFetch crawl. (Issue #36204)
- DocFetch uses the PRC to decode portal settings, causing '+' to be changed to a space. Encrypted text or Asian character sets could be corrupted by this behavior.
  Workaround:
  Encode any settings that could be decoded via the PRC. Use com.plumtree.remote.util.CSPCodec to perform the setting's encoding before the portal stores the setting, such as in com.plumtree.remote.sci.IAdminEditor.finalize(). Note that the portal performs XML encoding of settings only for values entered in an editor, and does not encode settings that are hidden or otherwise stored directly in the portal. (Issue #37155) (Related issue #27099)

PRC Search Web Service

- The portal does not send the number of records to return as set by the Results Per Page parameter in the Portal Search Preferences Page. The portal will return varying values when ISearchQuery.GetMaxReturn() is called based upon the number of concurrent searches requested. (Issue #20551)
- A period ('.') cannot be used when setting the gateway URL prefix for a Search Web Service. Although a period can be used when setting the Gateway URL Prefix for other Web Service objects, this will fail for Search Web Services.
  Workaround:
  Use absolute URLs when setting the gateway URL prefixes on Search Web Services. (Issue #20607)

PRC Logging

- Logging does not function on Windows machines with multiple network adapters running Windows versions below XP SP2 or 2003 SP1.
  Workaround
  Upgrade to Windows XP SP2, Windows 2003 SP1 or better, or disable the additional network adapters. (Issue #42420)

IDK with Portal 4.5 WS

- The IDK functions with ALUI 4.5WS for the AWS, CWS, SCI, and (limited) Portlet API. A UDDI server and SCI implementation that provides additional information to the portal is required to use IDK with 4.5WS. For information, search BEA's Developer Center for "IDK Portal 4.5WS". (Issue #37358)