Documentum Foundation Classes (DFC) Release Notes Version 4.2.14 for Windows and Unix
February 2003
Copyright © 1994–2002 Documentum, Inc. 6801 Koll Center Parkway Pleasanton, CA 94566 All rights reserved. Printed in USA. DOCUMENTUM, NOW YOU KNOW, UNITING THE WORLD THROUGH CONTENT, GMPHARMA, GXPHARMA, GDPHARMA, GSPHARMA and the Documentum corporate logo are trademarks or registered trademarks of Documentum, Inc. in the United States and throughout the world. All other company and product names are used for identification purposes only and may be trademarks of their respective owners.
This Document
This Document This document contains information specific to this release of Documentum Foundation Classes (DFC). It contains the following main sections: ■ “Revision History” on page 2
Changes to this document since its initial publication. ■ “What’s New” on page 2
Principal changes from prior versions. Information to help you decide whether to upgrade to this version. ■ “Compatibility With Other Documentum Products” on page 5
How to figure out whether this version of DFC works with your current Documentum applications. ■ “Software Environment” on page 5
Hardware and software requirements for installing and using DFC. ■ “Installing DFC” on page 7
Information about installing DFC. ■ “Limitations” on page 10
Bugs and significant departures from the documented or specified features of DFC. ■ “Bug Lists and Documentation Online” on page 26
How to obtain access to bug lists, product documentation, and other online support.
DFC Release Notes
1
Revision History
Revision History Date
Changes
2002 Nov 22
Initial publication
2003 Feb 13
Remove bug 53864 (IDfXMLTransformOperation produces ISO-8859-1 when stylesheet specifies UTF-8 output)
What’s New Please read this entire section carefully before deciding whether or not to upgrade to this version of DFC. This section includes important information about the relationship between DFC and other software on the same machine. This version of DFC provides many bug fixes, substantially improved performance, and better support for internationalization.
Compatibility Issues DFC 4.2.13 introduced substantial performance improvements, which this version shares. As a result, client programs that rely on certain DFC calls not to return too quickly may behave unexpectedly with this version. You should not use this version to upgrade the DFC you use with any Documentum client product, unless that product is certified to run with DFC 4.2.13 or 4.2.14. This version resolves the binary incompatibility between versions 4.2.12 and 4.2.13. You can, with the restriction noted in the previous paragraph, use this version to upgrade any prior DFC version, without recompiling existing programs that call DFC.
2
DFC Release Notes
What’s New
Some public interfaces changed slightly in version 4.2.13. This version uses the changed interfaces, so you may have to adjust some code written for versions 4.2.12 or earlier. The interface changes are as follows: ■ IDfImportOperation.add removes filename extensions when creating
object names from filenames. In DFC 4.2.12 and earlier, the method used the entire filename, including the extension. ■ IDfTypedObject.getAttr has an additional signature. This can cause
problems when accessing DFC from COM (see “Can’t use IDfTypedObject.getAttr through COM” on page 22).
Xalan and Xerces DFC includes Xalan 2.2 and a modified version of Xerces 1.4.4. Each of these represents a substantial advance over the versions packaged with prior versions of DFC, namely Xalan and Xerces 1.2.2. For more information about Xalan and Xerces, visit xml.apache.org. Xerces 1.4.4 improves Japanese language support, and it supports the W3C schema recommendation. Documentum does not believe that upgrading to Xerces 1.4.4 will adversely impact any of your code. Apache has deprecated Xalan 1.2.2 and changed some of the interfaces. If you use Xalan only through the DFC interfaces, you do not need to change your code. If your code calls Xalan directly, you may need to change it to use the new external interfaces. If your code calls Xalan extensions, specifically the nodeset method, change the namespace declaration for the extensions interfaces from org.apache.xalan.xslt.extensions.Nodeset
to
Documentum cannot provide a complete list of changes in the way Xalan processes style sheets. Please visit the Apache website for that information.
DFC Release Notes
3
What’s New
Internationalization and XML This version of DFC recognizes an encoding in the XML declaration at the beginning of a file. If you do not specify an encoding, DFC assumes UTF-8. Documentum stores the content using the encoding specified in the file. Note: Documentum’s turbo storage feature supports only ASCII encoding. Documentum recommends that you use UTF-8, because it works with all supported platforms and languages. You can use the other encodings that Xerces supports if the JVM that DFC runs on has an appropriate decoder. All JVMs of version 1.1.8 and above contain decoders for all common languages (the Microsoft JVM is version 1.1.4). If you simply wish to store content, this is sufficient. If you wish to populate attributes from the XML document, then the underlying relational database must also support the encoding. Note: Documentum only certifies homogeneous product stacks (for example, Japanese Desktop Client on Japanese Windows connecting to Content Server running on a Japanese operating system). This version of DFC installs a modified version of Xerces 1.4.4. The Documentum version has the following changes from standard Xerces 1.4.4: ■ To support the Microsoft JVM, the modified MIME2Java class uses the
following mappings: ❒ EUC-KR becomes KSC5601 ❒ Latin-1 becomes 8859_1
If you wish to support other encodings under the Microsoft JVM, you can obtain i18n.jar from java.sun.com and place it into your CLASSPATH. ■ To support the Japanese MS932 encoding under any JVM, we change the
mapping of SHIFT_JIS from SJIS (the Xerces mapping) to MS932. If you do not need the features that Documentum’s modifications provide, you can use your own versions of Xerces 1.4.4 and Xalan 2.2. If you use the Microsoft Java virtual machine (JVM), and you wish to use the Documentum versions, then any other versions of Xerces or Xalan must not appear ahead of dfc.jar in the CLASSPATH environment variable.
4
DFC Release Notes
Compatibility With Other Documentum Products
Compatibility With Other Documentum Products This version of DFC bears the following relationships with other Documentum products: ■ Documentum supplies this version of DFC with: ❒ version 4.2.6m of dmcl40.dll (for Windows) ❒ version 4.2.8d of libdmcl40.sl (for HPUX) ❒ version 4.2.8e libdmcl40.so for AIX ❒ version 4.2.6m of libdmcl40.so for Solaris ■ DFC requires one of the following: ❒ Content Server 4.2 or later ❒ Content Server 4.1.3 or later with specific object types that are standard
in Docbases controlled by Content Server 4.2. Documentum provides a script (dm_xml_install.dbs) for installing these types in Docbases controlled by Content Server 4.1.3 or later.
Software Environment DFC’s software environment consists of the operating system, the Java runtime environment, and software support for OLE links and for XML.
Operating System Documentum supports DFC on all operating system versions on which it supports any other Documentum product with version 4.2 or 4.3.
Java The required underlying Java runtime environment is different for different operating systems and for the different languages from which you can call DFC
DFC Release Notes
5
Software Environment
Java Support for Windows Calling DFC From Java Programs Sun’s Java runtime environment (JRE) 1.1.8, 1.2.x, or 1.3.x, or the Microsoft JVM, build 3802 or later.
Calling DFC From Docbasic, Visual Basic, or C++ These calls all use COM and require the Microsoft JVM, build 3802 or later.
Java Support for Unix Calling DFC From Java Programs ■ Solaris or HP-UX: JRE 1.2.x or 1.3.x ■ AIX: JRE 1.3.x
Calling DFC From Docbasic ■ JRE 1.2.x
OLE Support DFC support for OLE compound documents requires Microsoft Office 2000 with SR1 or Microsoft Office 97 with SR2. It also requires the Microsoft JVM, build 3802 or later. See “DFC does not support all OLE links” on page 14 for further restrictions.
XML Support DFC support for XML requires Apache Xalan 2.2 and Apache Xerces 1.4.4. Note: Documentum supplies a modified version of Xerces 1.4.4 (see “Xalan and Xerces” on page 3).
6
DFC Release Notes
Installing DFC
Installing DFC Follow the procedure specified in the appropriate one of the following sections. The installation procedure differs between Windows systems and Unix systems.
Windows Normally, other programs, such as Documentum Desktop Client, install DFC. You can, however, run the DFC installer by itself. The DFC installer does not, in general, remove existing installations. Warning: On a Windows system you can, with the exception of the case described in the next paragraph, have only one DFC installation, so you must remove any previous installation before installing this version. Be sure to reboot after uninstalling DFC. This version of DFC can coexist with the DFC that WDK uses, if the WDK application runs on a web server that isolates the WDK environment. See the WDK documentation for details. Note: See “Xalan and Xerces” on page 3 for information about the features of Documentum’s version of Xerces 1.4.4. If you wish to use the Documentum versions of Xalan and Xerces, then any other versions of Xalan or Xerces must not appear ahead of dfc.jar in the CLASSPATH environment variable Note: If the DFC installer detects a version of the Microsoft JVM with build number less than 5.0.3802, it automatically upgrades it. You can determine the version of your JVM by viewing the properties of the msjava.dll file in the System directory. Look at the Version tab in the standard Windows Properties dialog box. ➤
To install DFC on a Windows system:
1.
Save all work and close open applications.
2.
Use the Add/Remove Programs section of the Windows control panel to remove Documentum DFC Runtime Environment.
3.
Reboot. After the reboot, do not run any other programs before proceeding to the next step.
DFC Release Notes
7
Installing DFC
4.
Run setup.exe from the DFC distribution. Normally, you download a zip file from the FTP site, unzip it, and find setup.exe among the extracted files. The only option is to specify an installation location or accept the default.
5.
If the installed DFC is for use by a RightSite installation, perform the following steps: a. Within the RightSite installation directory hierarchy, find the directory \product\classes
b. Copy the newly installed dfc.jar into classes. c. Make classes the working directory and execute the following command: jar xf dfc.jar
d. Delete the copy of dfc.jar from classes.
Unix Installing DFC on a Unix system falls into the following cases: ■ Upgrade the version of DFC that an installation of Documentum Content
Server uses. ■ Create or replace an instance of DFC that differs from the one a server
uses—either on the server machine or on a separate machine.
Upgrading DFC on an Installation of Content Server To upgrade DFC on an existing server installation, you must find the following files and replace them with new versions from the DFC distribution: ■ The class files ❒ dfc.jar on all Unix systems ■ The DMCL library ❒ libdmcl40.sl on HPUX ❒ libdmcl40.so on AIX or Solaris
The filename is the same on both platforms, but the files are not interchangeable.
8
DFC Release Notes
Installing DFC
■ The Docbasic expression evaluation library ❒ libdexpn40.sl on HPUX ❒ libdexpn40.so on AIX or Solaris
The filename is the same on both platforms, but the files are not interchangeable. Note: Do not use any other files from the distribution. If the installed DFC is for use by a RightSite installation, perform the following procedure. ➤
To use DFC with RightSite:
1.
Within the RightSite installation directory hierarchy, find the directory /product/classes
2.
Copy the newly installed dfc.jar into classes.
3.
Make classes the working directory and execute the following command: jar xf dfc.jar
4.
Delete the copy of dfc.jar from classes.
Creating or Replacing a Non-Server DFC Instance To create or replace a non-server DFC instance (which can be on the same machine as the server), you must use all of the files from the distribution. ➤
To install a non-server DFC instance on a Unix system:
1.
Choose (create if necessary) an installation directory (for example, /user/bin/dfc_aix).
2.
Copy all of the DFC distribution files into the installation directory. If the directory contains an existing DFC installation, simply overwrite the files. The new ones have the same names as the old ones.
3.
Set environment variables for any user who uses this DFC instance. ■ CLASSPATH
Include full path to dfc.jar ■ LD_LIBRARY_PATH (SHLIB_PATH for HPUX)
Full path to installation directory
DFC Release Notes
9
Limitations
■ PATH
Full path to installation directory ■ DMCL_CONFIG (optional)
Documentum clients require a file called dmcl.ini to identify a DocBroker for DFC to use to establish a session with a Docbase. Set DMCL_CONFIG to the full path to the DMCL configuration file. For example, /user/bin/dfc_aix/dmcl.ini. If you do not set DMCL_CONFIG, DFC looks for dmcl.ini in its home directory (for example, /user/bin/dfc_aix), then in the directory pointed to by LD_LIBRARY_PATH. 4.
If the installed DFC is for use by a RightSite installation, perform the following steps: a. Within the RightSite installation directory hierarchy, find the directory /product/classes
b. Copy the newly installed dfc.jar into classes. c. Make classes the working directory and execute the following command: jar xf dfc.jar
d. Delete the copy of dfc.jar from classes.
Limitations Note: In releasing DFC 5.1, Documentum performed extensive testing— discovering and correcting many bugs. Documentum has not been able to make all of these corrections in the 4.x code line. Refer to the DFC 5.1 release notes to determine whether specific DFC 4.x bugs still exist in DFC 5.1. This section contains limitations resulting from design decisions and from implementation decisions.
Design Limitations Architectural and design decisions cause the product to behave in certain ways and make it impossible for it to behave in others. Design limitations arise when such decisions preclude behaviors that might otherwise be desirable.
10
DFC Release Notes
Limitations
In some cases Documentum cannot change behaviors because they occur in public interfaces. These are also design limitations. This release of DFC contains the following design limitations: ■ “Cannot execute operations within transactions in multi-threaded
environment” on page 14 ■ “DFC does not support all OLE links” on page 14 ■ “DFC does not maintain referential integrity for virtual documents
between Docbases” on page 14 ■ “IDfSysObject.appendPart can return unexpected permission errors” on
page 15 ■ “Can’t freeze an assembly if it contains references to documents in other
Docbases” on page 15 ■ “IDfAttr.getDataType returns unexpected values” on page 15 ■ “IDfType.isSubTypeOf returns FALSE if not a direct subtype” on page 15 ■ “IDfTime.equals returns true if time difference is less than one second” on
page 16
Implementation Limitations Implementation choices or errors can lead to undesirable behaviors. The limitations in this category are mostly reported bugs. This release of DFC contains the following implementation limitations: ■ “Applying a lifecycle to a newly created document can cause content to be
lost” on page 16 ■ “Can’t open reference object for PDF in another Docbase” on page 16 ■ “Can’t copy assembly document from one Docbase to another” on page 16 ■ “Deep copy between Docbases fails if subfolder name matches parent” on
page 17 ■ “Import fails for documents with byte order marks (BOMs)” on page 17 ■ “Path sizes in tags in XML configuration files must not exceed
125 characters” on page 17 ■ “Non-ASCII character in filename in System ID or entity reference requires
full path” on page 17
DFC Release Notes
11
Limitations
■ “IDfPackage.appendNote mishandles non-ASCII characters” on page 17 ■ “Files with Japanese or Korean filenames remain in checkout directory” on
page 18 ■ “Passing DRL to URL constructor gives MalformedURLException” on
page 18 ■ “DfXMLQuery returns invalid DRLs to the content” on page 19 ■ “Importing XML document with invalid ACL produces invalid virtual
document” on page 19 ■ “Importing XML document fails if content rule has trailing space in
object_type” on page 19 ■ “Importing XML document fails if external entity declared in DTD” on
page 19 ■ “Importing XML document fails if dds_validation is true and TIME
attribute in metadata section” on page 20 ■ “Importing XML document produces null pointer exception if application
contains link rules but not content rules” on page 20 ■ “Importing XML document from networked computer fails if system ID of
XML application folder is not set” on page 20 ■ “Check in as next major version without specifying version label does not
make the version CURRENT” on page 20 ■ “Can’t change owner and version in the same checkin operation” on
page 20 ■ “Canceling checkout of parent may affect descendants” on page 21 ■ “Checking in a parent removes checked out descendants from the
checkout directory” on page 21 ■ “Checkin fails if linked XML file refers to entity defined in internal subset”
on page 21 ■ “Checkin fails saying lifecycle not acceptable for type” on page 21 ■ “Can’t export an object with multiple formats in a single operation” on
page 21 ■ “Can’t export XML document with external parsed entity if app has entity
rule” on page 22 ■ “IDfXMLTransformOperation throws null pointer exception if no session”
on page 22
12
DFC Release Notes
Limitations
■ “Setting make_object to false in the XML configuration can lose data” on
page 22 ■ “IDfACL.grant adds extended permissions” on page 22 ■ “Can’t use IDfTypedObject.getAttr through COM” on page 22 ■ “IDfSession.sendToDistributionListEx produces null pointer exception if
Docbase names don’t match OS names” on page 23 ■ “IDfSession.sendToDistributionList produces error with multi-byte
characters” on page 23 ■ “IDfSession.sendToDistributionList truncates instruction string at 128
characters” on page 23 ■ “IDfSession.restore returns null even if restore operation succeeds” on
page 23 ■ “IDfSession.newSession produces null pointer exception if loginInfo
argument is null” on page 23 ■ “IDfSession.traceDMCL accepts invalid trace levels” on page 24 ■ “IDfWorkitem.setOutputByActivities selects all paths between the
activities” on page 24 ■ “IDfCollection.getValue crashes JVM when retrieving from empty
collection” on page 24 ■ “IDfPersistentObject.getChildRelatives does not search Objects and Types
User-Defined Relationships version tree” on page 24 ■ “Retrieving date attributes with getAllRepeatingStrings and a date pattern
fails” on page 25 ■ “Query manager fails to add a_is_hidden=false clause when query has no
attribute lines” on page 25 ■ “Duplicate of object in PowerPoint file” on page 26
Details of Design Limitations Each of the following sections describes one of the limitations listed in “Design Limitations” on page 10. These are aspects of the product that are not likely to change.
DFC Release Notes
13
Limitations
Cannot execute operations within transactions in multi-threaded environment You cannot use classes of the com.documentum.operations package within transactions in a multi-threaded environment.
DFC does not support all OLE links DFC supports OLE compound documents on Windows platforms (see “Software Environment” on page 5). It supports only the following: ■ OLE compound links in Word and PowerPoint ■ External sheet and cell references in Excel formulas
In particular, DFC does not support OLE compound documents in Access, Outlook, or Visio. It does not support circular references in links.
DFC does not maintain referential integrity for virtual documents between Docbases DFC does not check, before deleting a document, to see if that document is a child of a virtual document in another Docbase. For example, assume Doc A, in Docbase 1, is the root document, Doc B is a child of Doc A that lies in Docbase 2, and Doc C is a child of Doc B that lies in Docbase 1:
Doc A Doc B Doc C Docbase 1
14
Docbase 2
DFC Release Notes
Limitations
DFC does not report an error if you delete Doc B, but the containment object that bound Doc B to Doc A still exists in Docbase 1. As a result, if you log into Docbase 1, it looks to DFC as if Doc B is still part of Doc A. If you then perform operations on Doc A, DFC may report errors.
IDfSysObject.appendPart can return unexpected permission errors If you use IDfSysObject.appendPart to implement dragging and dropping documents into a virtual document, you can get a permission error, even if the user has appropriate permissions on the current version of the child document. This can occur if the user does not have at least version permission on the initial (chronicle) version of the document.
Can’t freeze an assembly if it contains references to documents in other Docbases DFC does not allow you to freeze an assembly if it contains references to documents in other Docbases.
IDfAttr.getDataType returns unexpected values The getDataType method of the Documentum class that implements the IDfAttr interface can return unexpected values. The datatype it returns for an attribute that is part of a query collection is the type that Content Server returns. This may differ from the datatype that the IDfSysObject interface specifies for that attribute. The type returned may vary with the server’s underlying relational database. Workaround: Structure your application in such a way that you do not need to invoke this method.
IDfType.isSubTypeOf returns FALSE if not a direct subtype The isSubTypeOf method of a type object returns false if its argument is not a direct supertype of the given type.
DFC Release Notes
15
Limitations
IDfTime.equals returns true if time difference is less than one second The equals method of an IDfTime object returns a value of true if the method’s argument represents a time that is within one second of the time that the object represents.
Details of Implementation Limitations Each of the following sections describes one of the limitations listed in “Implementation Limitations” on page 11.
Applying a lifecycle to a newly created document can cause content to be lost If you create a new document and apply a lifecycle to it before checking it in, DFC unlocks the document, and the template (if any) becomes the content. Workaround: Always check in a new document before applying a lifecycle.
Can’t open reference object for PDF in another Docbase If a PDF format document in Docbase 1 has a reference object in Docbase 2 and you try to open the reference object, the operation fails with the error message Unable to Create the Annotation File List.
Can’t copy assembly document from one Docbase to another If you try to copy an assembly document (that is, a document with no content but with an associated virtual document assembly) from one Docbase to another, DFC produces a corrupt partial copy.
16
DFC Release Notes
Limitations
Deep copy between Docbases fails if subfolder name matches parent Copying a folder and (recursively) all of its subfolders from one Docbase to another fails if one of the subfolders has the same name as the top folder. The program hangs and leaves folders created before it hangs in incorrect locations.
Import fails for documents with byte order marks (BOMs) Some programs (for example, SoftQuad Xmetal or Microsoft Notepad on some platforms) place BOMs at the start of a file to specify the Unicode level. Documentum cannot import files that contain byte order marks.
Path sizes in tags in XML configuration files must not exceed 125 characters When you specify a path in a tag in an XML application’s configuration file, the resulting absolute path must be less than or equal to 125 characters in length, even if you specify a relative path or use variables to specify parts of the path.
Non-ASCII character in filename in System ID or entity reference requires full path If a system ID or entity reference in an XML file contains a filename that contains characters beyond the basic ASCII range, you must use a full path to the file.
IDfPackage.appendNote mishandles non-ASCII characters The DFC code that implements IDfPackage.appendNote stores garbage if its argument string contains non-ASCII characters.
DFC Release Notes
17
Limitations
Files with Japanese or Korean filenames remain in checkout directory When DFC should remove a file with Japanese or Korean characters in its filename from the checkout directory (for example, after a checkin or cancel checkout operation), it fails to do so. Workaround: Remove the file after the operation.
Passing DRL to URL constructor gives MalformedURLException The error java.net.MalformedURLException: unknown protocol: dctm
arises from the following code sample: import java.net.URL; import com.documentum.*; public class test{ public static void main(String args[]){ try{ IDfClient dfc = DfClient.getLocalClient(); IDfLoginInfo loginInfo = new DfLoginInfo(); loginInfo.setUser("john"); loginInfo.setPassword("mary"); IDfSession session = dfc.newSession("MyDocbase", loginInfo); // Insert workaround here URL url = new URL(""); } catch(Exception e){ System.out.println(e.toString()); } } }
Workaround: First register the dctm protocol explicitly by executing the following statements before calling the URL constructor: IDfURLStreamHandlerFactory drlStreamHandler = new IDfURLStreamHandlerFactory(); drlStreamHandler.setSession(session); URL.setURLStreamHandlerFactory( drlStreamHandler );
18
DFC Release Notes
Limitations
DfXMLQuery returns invalid DRLs to the content If xQ is a DfXMLQuery object and you execute the following sequence of instructions xQ.setDql(); //Supply an appropriate DQL query xQ.init(); xQ.includeContent(true); xQ.setContentAsLink(true); //Ask for a link xQ.setLinkBase("dctm://<docbase_name>?"); // as a DRL
the resulting content tag contains a malformed DRL. It contains the term DMW_OBJECTID=, which should not be part of a DRL.
Importing XML document with invalid ACL produces invalid virtual document If you import an XML file, and the applicable XML configuration file specifies an invalid ACL, DFC does not report an error. It imports the document and chunks it as specified, but the chunks are not part of a virtual document, and they are invalid because they do not have valid ACLs.
Importing XML document fails if content rule has trailing space in object_type If you import an XML file, and the applicable XML configuration file contains a content rule in which the value of an object_type element contains a trailing space, the operation fails with a DcImport.frm error.
Importing XML document fails if external entity declared in DTD If you declare an external entity in the DTD, rather than in the internal subset of an XML file to be imported, and if the XML file refers to that external entity, the import fails (unless the XML file and the DTD happen to be in the same file system directory).
DFC Release Notes
19
Limitations
Importing XML document fails if dds_validation is true and TIME attribute in metadata section If an XML application file contains an attribute of type TIME in the metadata section, and an associated XML file contains an element that contains a DATE value, and dds_validation is set to true, then importing the XML file fails with a validation error.
Importing XML document produces null pointer exception if application contains link rules but not content rules If an XML application file contains link rules but does not contain content rules, importing an associated XML file produces a null pointer exception.
Importing XML document from networked computer fails if system ID of XML application folder is not set If you import an XML document from another computer on a Microsoft Windows network the import fails if the following conditions hold: ■ The applicable XML application folder does not have its system ID
property set. ■ You do not access the file via a mapped drive.
Check in as next major version without specifying version label does not make the version CURRENT If you perform an IDfCheckinOperation and specify DF_NEXT_MAJOR as the checkin version, but do not specify the version labels, the new major version does not become current. Workaround: Specify the version labels.
Can’t change owner and version in the same checkin operation If you change the owner of a checked out document, then check it in as a new version (major or minor), DFC fails to change the owner. Workaround: Change the version and the owner in separate operations.
20
DFC Release Notes
Limitations
Canceling checkout of parent may affect descendants If you check out a parent document for which some descendants are already checked out, then cancel the checkout of the parent, this may cancel checkout of the descendants as well.
Checking in a parent removes checked out descendants from the checkout directory If a checked out object (for example, a graphic) is shared by two checked out parents (for example, XML documents), checking in one of the parents can cause the child object to disappear from the checkout directory. Checking in the other parent can then cause an error. Workaround: Export the shared object to the checkout directory without checking it out.
Checkin fails if linked XML file refers to entity defined in internal subset If an XML file contains an entity declaration in its internal subset, and if the file links to a file that refers to that entity, an export or checkout operation garbles the linked file, so that a subsequent checkin operation fails.
Checkin fails saying lifecycle not acceptable for type If an XML application calls for attaching a lifecycle to a subtype of a custom object type on checkin, DFC may attempt to attach the lifecycle to other available but not acceptable subtypes of the custom type. This causes the checkin operation to fail.
Can’t export an object with multiple formats in a single operation If you add an object to an IDfImportOperation more than once, but with different formats, the operation exports the object to a single file on the file system. Workaround: Use separate export operations for the different formats.
DFC Release Notes
21
Limitations
Can’t export XML document with external parsed entity if app has entity rule If you export or check out an XML document that has an external parsed entity, and if the associated XML application has an entity rule, the operation fails with a null pointer exception.
IDfXMLTransformOperation throws null pointer exception if no session If you run IDfXMLTransformOperation.execute without setting a session for the operation, the operation fails, and throws a null pointer exception, even if all source and destination files are on the local file system.
Setting make_object to false in the XML configuration can lose data Setting the make_object attribute to false in a content rule that is triggered by another content rule causes DFC to discard the object on import, rather than including it in a containing object.
IDfACL.grant adds extended permissions If you call IDfACL.grant with a null extendedPermission argument, the specified accessor receives the default extended permissions (normally, change location and execute procedure). The Javadocs incorrectly state that a null argument should result in no extended permissions.
Can’t use IDfTypedObject.getAttr through COM IDfTypedObject.getAttr has an additional signature (since DFC 4.2.13). In addition to IDfTypedObject.getAttr (int), which existed in prior versions, there is now also IDfTypedObject.getAttr (String). The COM interface to DFC cannot distinguish between these versions.
22
DFC Release Notes
Limitations
IDfSession.sendToDistributionListEx produces null pointer exception if Docbase names don’t match OS names If the group list argument of IDfSession.sendToDistributionListEx contains users whose Docbase user names do not match their operating system user names, the method produces a null pointer exception.
IDfSession.sendToDistributionList produces error with multi-byte characters The sendToDistributionList method of the IDfSession interface returns an error if the object name contains more than 32 bytes. For example, an object name of 11 three-byte characters (as in Japanese UTF8, for example), returns an error. Workaround: Don’t use this method with object names greater than 32 bytes.
IDfSession.sendToDistributionList truncates instruction string at 128 characters Despite the fact that Content Server dmi_queue_item message fields can hold 255 characters, the sendToDistributionList method of the IDfSession interface limits the strings it places into these fields to 128 characters.
IDfSession.restore returns null even if restore operation succeeds The restore method of the IDfSession interface returns a null even if the restore operation is successful. It should return an IDfId object representing the last item it queues for restoration.
IDfSession.newSession produces null pointer exception if loginInfo argument is null The newSession method of IDfSession should accept a null loginInfo argument to direct it to use Windows unified login. Instead, it fails with a null pointer exception.
DFC Release Notes
23
Limitations
IDfSession.traceDMCL accepts invalid trace levels The traceDMCL method of IDfSession accepts invalid trace levels (for example, 11) but does not create a trace file.
IDfWorkitem.setOutputByActivities selects all paths between the activities The setOutputByActivities method of the IDfWorkItem interface selects all paths between the current and specified activities. For example, if there is a forward path and a reject path between the two activities, trying to select either with setOutputByActivities results in selecting both. Workaround: Use the setOutput method for such cases.
IDfCollection.getValue crashes JVM when retrieving from empty collection The getValue method of the IDfCollection interface crashes the Java virtual machine if the collection is empty.
IDfPersistentObject.getChildRelatives does not search Objects and Types User-Defined Relationships version tree IDfPersistentObject.getChildRelatives returns only the child_id of the dm_relation object, regardless of the value in child_label. This is not the correct behavior. Refer to the Content Server Fundamentals manual for details of the correct behavior.
24
DFC Release Notes
Limitations
Retrieving date attributes with getAllRepeatingStrings and a date pattern fails A call such as strSysValue = X.getAllRepeatingStrings ( "repeat_date,mm/dd/yyyy hh:mi:ss", ", ");
returns only the first date attribute properly. Workaround: Use a loop to step through the values of the repeating attribute. For example, StringBuffer dates = new StringBuffer(); String strDate = null; IDfTime dfcDate = null; int count = theObject.getValueCount(attrName); for ( int x = 0; x < count; x++ ) { if ( dates.length() > 0 ) { dates.append(","); } dfcDate = theObject.getRepeatingTime(attrName, x); if ( dfcDate.isNullDate() == true ) { dates.append("nulldate"); } else { dates.append(dfcDate.asString(m_internalDFCDatePattern)); } }
Query manager fails to add a_is_hidden=false clause when query has no attribute lines If you create a query with no attribute lines, the query manager fails to add the expected a_is_hidden clause.
DFC Release Notes
25
Bug Lists and Documentation Online
Duplicate of object in PowerPoint file If you insert an object into a PowerPoint document, check it in while keeping the lock, then insert another document and check in again, DFC creates two copies of the first inserted object in the Docbase, one associated with each of the versions of the PowerPoint document. This behavior appears to be specific to PowerPoint files and to using check in while keeping a lock.
Bug Lists and Documentation Online Customers with a software support agreement can access the support area of www.documentum.com to download product documentation and, after commercial release of a product, view lists of fixed bugs. To access the support area, follow the links to request a user name and password. Documentum responds to access requests within two business days. Once you have a user name and password, you can access the support area without delay.
Fixed Bug Lists Two weeks after the release, we post a list of customer-reported bugs that have been fixed in that release to the support area of www.documentum.com..
Product Documentation Concurrently with a release, we post product documentation to the support area of www.documentum.com.
26
DFC Release Notes