Documentum 6.5 SP1 System Upgrade and Migration Guide
Documentum 6.5 SP1 System Upgrade and Migration Guide
System
Version 6.5 SP1
EMC Corporation
Corporate Headquarters:
Hopkinton, MA 01748‑9103
1‑508‑435‑1000
www.EMC.com
Copyright© 2008 EMC Corporation. All rights reserved.
Published December 2008
EMC believes the information in this publication is accurate as of its publication date. The information is subject to change
without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED AS IS. EMC CORPORATION MAKES NO REPRESENTATIONS
OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY
DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Use, copying, and distribution of any EMC software described in this publication requires an applicable software license.
For the most up‑to‑date listing of EMC product names, see EMC Corporation Trademarks on EMC.com.
All other trademarks used herein are the property of their respective owners.
Table of Contents
Preface ................................................................................................................................. 9
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 3
Table of Contents
4 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Table of Contents
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 5
Table of Contents
Appendix B Object Type and Property Changes for version 6.5 ................................... 107
New object types ............................................................................................ 107
Changed object types ...................................................................................... 108
Deprecated or obsolete properties .................................................................... 115
Properties added conditionally ........................................................................ 115
Deprecated or obsolete object types ................................................................. 116
Changed properties ........................................................................................ 117
6 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Table of Contents
List of Figures
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 7
Table of Contents
List of Tables
8 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Preface
This guide focuses on the steps necessary to upgrade or move an existing EMC Documentum 5.3 or
6 implementation to the new EMC Documentum 6.5 platform. This guide does not focus on new
features, except when a new feature changes or replaces existing behavior in custom applications.
Intended Audience
This guide is for EMC Documentum administrators who are tasked with upgrading or moving an
existing EMC Documentum 5.3 or 6 implementation into the EMC Documentum 6.5 platform and
developers who have created custom applications that need to move from EMC Documentum 5.3 or 6
to the EMC Documentum 6.5 platform.
Document scope
This guide shows you how to upgrade a Documentum system and migrate your customizations to
the upgraded Content Server. To assist you in the upgrade process, refer to Content Server Installation
Guide for more detailed planning information.
For migration of your customizations, this guide takes a version 5.3 or 6 implementation and has
it work essentially the same way in version 6.5. You can take advantage of some but not all of
the new features of version 6.5. This guide also shows you how to disable new behaviors where
you do not want them and activate some features that have been deprecated or ʺturned off” by
default for version 6.5. For information on how to implement new features in your custom client
application, refer to the developer documentation for the product, for example, the Web Development
Kit Development Guide for WDK.
The safe harbor releases for migration to version 6.5 are versions 6 and 5.3 SP6. If you are upgrading
from a version earlier than 5.3, you must upgrade first to version 5.3, then to version 6.5.
Additional documentation
This guide provides overview and planning information. For details on specific procedures see
these guides:
• What’s New in Documentum 6.5 SP1
• Content Server Installation Guide
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 9
Preface
Revision History
The following changes have been made to this document.
Revision History
10 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Chapter 1
Upgrade and Migration Overview
This chapter covers in broad terms what is meant by upgrade and migration, what this guide covers,
and where you might look for additional information.
These topics are included:
• Upgrade and migration, page 11
• Understanding migration, page 12
• Order of new product installation, page 12
• Order of system updates, page 13
• Changing the database OS and version, page 17
• Changing the content store location, page 18
• Migrating XML content to the XML store, page 18
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 11
Upgrade and Migration Overview
Note: DocApps, SBOs and TBOs (BOF2 version), and Java methods bundled as SBOs will continue to
work in an upgraded Content Server. To edit them, you must create a project. Refer to the ʺManaging
Modules” chapter of Documentum Composer User Guide.
Check the installation or deployment guide for each application that you are upgrading to find
instructions for upgrading or migrating applications to the new version. For information on
migrating WDK‑based customization, refer to Chapter 7, Migrating WDK and Webtop Applications.
Before upgrade and migration, check the interoperability of all products and platforms in the system.
Refer to Chapter 4, Interoperability and Compatibility.
Understanding migration
Migrating from version 5.3 or 6 to version 6.5 is a straightforward process. Your task is to clearly
document your current configuration, plan your version 6.5 configuration, then upgrade the
individual system components in a sequence that will minimize impact on your users.
Migration can be separated into two basic tasks:
• Install and configure version 6.5 software.
• Move configurations and customizations to the new servers.
— Make necessary changes to enable any features you want to keep.
— Make necessary changes to disable any new features you do not want.
— Make necessary changes to enable any new features for existing custom components.
Most of the new features of version 6.5 are enabled by default. For those feature that are not enabled
by default, this guide explains the steps for enabling the new feature.
12 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Upgrade and Migration Overview
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 13
Upgrade and Migration Overview
Caution: For Content Server, host OS, or RDBMS upgrades, make sure the product version is
supported by the Content Server version you are installing. For application server OS or server
upgrades, make sure the product version is supported by the WDK‑based application you are
installing. This information is in the product release notes.
14 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Upgrade and Migration Overview
For the switch‑over upgrade, you provide the production system user base with different URLs, IP
addresses, and host names corresponding to a different set of physical or virtual hosts comprising
the production system. In this scenario, the test system typically becomes the production system to
which the user base is switched over.
Note: The Content Server/database component (the repository) is the only part of the system for
which there is an upgrade script. All other system product component require a fresh installation.
Note: The upgrade strategies provided in this section address upgrading all products in the system to
the same version number, resulting in a homogenous system. You can also upgrade only the Content
Server/database component (the repository) or the client component, resulting in a heterogeneous
system. Chapter 4, Interoperability and Compatibility provides additional details on mixed version
compatibilities.
Table 2, page 15 summarizes the main differences between the different strategies.
Strategy Highlights
upgrade production system • uses existing production system hardware
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 15
Upgrade and Migration Overview
An EMC Documentum system requires a global registry repository that matches the version family of
the system clients. After installing or upgrading the test system repository, install a global registry
repository matching the version of the client applications and install the client software. If your client
software versions are to remain at the same version as your production system, you can copy the
customized files from your production system directly over to the same version client instance
on the test system. If the client version software is different, you need to manually migrate your
customizations over to the new client files.
Upon completing the migration of customizations to the test system, ensure your system is running
properly by conducting your system tests. You are ready to repeat your upgrade process on the
production once all your system tests pass. Generally, you will need to take your production system
off‑line for a weekend while performing the in–place upgrade.
Note: You can use virtual machine hosts for the entire system or system components. Using virtual
machines, you can swap out pre‑upgraded system images on the same physical host to minimize
the downtime of an in‑place upgrade.
The production system contains new content and full‑text indexes generated since the repository was
copied or you migrated your data to the new repository. For the switch–over approach, manually
synchronize your content files and full–text index, then send out new URLs, IP addresses, and host
names to the end user community to affect the switch‑over.
16 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Upgrade and Migration Overview
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 17
Upgrade and Migration Overview
Refer to the database vendor documentation for information on migrating repository database files
to a new database instance. The Content Server configuration program connects Content Server to
the new database host unless the database connection string, database owner name, or password
has changed.
18 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Chapter 2
Planning System Size and Enhancing
Performance
Upgrading a system presents an opportunity to change to new host environments. The following
topics will help you plan your system size and improve performance:
• Planning the system size, page 19
• Planning for performance, page 20
• Common problems in Server performance, page 21
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 19
Planning System Size and Enhancing Performance
20 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Planning System Size and Enhancing Performance
High availability Documentum Server clusters — Server clusters (also called Server sets) can be
active‑active or active‑passive. In an active‑active cluster, there are two active load‑balanced web
application servers, two active sets consisting of a Content Server and connection broker,, one active
RDBMS with clustered standby server, one primary database with one synchronized standby, and
one primary content store with one synchronize standby. In an active‑passive cluster, everything
is the same except that there is only one active Server plus connection broker set, with another
set as standby.
These cluster configurations provide partial high availability coverage with increased scalability.
The clusters can be managed with Documentum Administrator.
Disaster recovery — Disaster recovery is not the same as high availability. It assumes a total loss of
the production data center. Disaster recovery servers are separate and independent from the main
center. They share no resources, and each has an independent network infrastructure for WAN
replication. Both systems have the capacity to carry out full normal and emergency workloads. They
must be maintained to be completely compatible.
Failover for disaster recovery is manual, not automatic. Clients will be affected.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 21
Planning System Size and Enhancing Performance
Enhancing query performance — The Content Server Administration Guide describes how to
monitor query performance using the Update Statistics administration tool. It also describes how to
limit poorly‑performing subqueries for users who belong to a large number of groups.
Search performance — Several search performance guidelines are available in this same guide.
Content transfer performance — The following factors may increase content transfer performance:
• Limit the number of imports per user transaction in the importcontainer configuration
• Increase UCF session timeout, for example, from 250 to 500 seconds, in WEB‑INF/classes/ucf.
server.config.xml.
• On Windows clients, turn off virus scanning for archives.
• On Windows clients, turning off virus scanning for the Documentum/ucf subdirectory of the
user’s home directory, for example, Documents and Settings\my_name\Documentum\ucf.
• On Windows clients, turning off virus scanning for the Java executable directory and subfolders.
22 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Chapter 3
Planning the System Migration
Migrating a system requires planning. You have to know your starting point, choose a destination,
then pick the best route to get there. This chapter provides some practical advice for plotting your
course from version 6 to version 6.5 and later versions. Topics in this chapter include:
• Changes in supported environments, page 23
• Version 6.5 changes that impact Content Server upgrade or migration, page 24
• Mapping your current configuration, page 29
• Designing your version 6.5 configuration, page 32
• Planning upgrade and migration to version 6.5, page 34
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 23
Planning the System Migration
24 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Planning the System Migration
When you get this new exception, the preferred solution is to carefully examine the application and
resolve the real source of the problem. Chances are that silently discarding the data is not your
desired result. If fixing the application is not an option, you can set the preference in dfc.properties to
allow truncation.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 25
Planning the System Migration
External storage
If you are using an external storage area and the plugin is configured to execute on the client
host, you need to reconfigure the plugin to execute on the server. In version 6.5, DFC does not
support executing the plugin on the client. To configure the plugin to execute on the server, set the
a_exec_mode property of the storage object to F (FALSE). The storage object is one of dm_extern_file,
dm_extern_free, or dm_extern_url, depending on the type of external storage you are using.
26 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Planning the System Migration
Setting this key to false requires users to always provide a password, even when logging in as the
installation owner.
DQL changes
The following are changes to the DQL.
The POSITION keyword, previously supported in SELECT queries against the fulltext index, is
no longer supported.
CHANGE...OBJECT statement
Previously, using the CHANGE...OBJECT statement was restricted to custom object types. With this
release, the statement may be used to change any type so long as the remaining restrictions as listed
in the DQL Reference manual description of CHANGE...OBJECT are not violated.
You can now specify ’utc’ in a date literal in a DQL statement. The new syntax for date literals is:
DATE('date_value[utc]' [,'pattern'])
You can define date_value using any of the valid character string formats representing a date, or it can
be one of the keywords that represent dates.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 27
Planning the System Migration
If utc is included, Content Server assumes that the specified date_value is UTC time. The specification
of utc is not case sensitive.
enable_workitem_mgmt obsolete
The enable_workitem_mgmt key controls whether permissions to perform certain workflow actions
are enforced. The affected actions are:
• Acquiring a work item
• Delegating a work item
• Halting and resuming a running activity
• Changing a work item’s priority
28 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Planning the System Migration
If the key is set to T (TRUE), any user can perform those actions. The key is F (FALSE) by default.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 29
Planning the System Migration
Complete one copy of the table below for each server host and client configuration used in your
current system, for example, Content Server, fulltext indexing server, ECI server, application server.
Item Value
Hardware and
Processors
Memory
Operating system and
version
Content Server version
RDBMS and version
Repository size Number of objects:
30 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Planning the System Migration
Item Value
Hardware and
processors
Memory
Operating system and
version
HTTP Server version
Java version
DFC version
Other product and
version
Other product and
version
Other product and
version
Item Value
Hardware and
processors
Memory
Operating system and
version
HTTP server version
Java version
DFC version
Other product and
version
Other product and
version
Other product and
version
Item Value
Operating system and
version
Browser and version
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 31
Planning the System Migration
Java version
Other product and
version
Other product and
version
Other product and
version
• 6.5 Compatible
• Needs changes
• Obsolete
• 6.5 Compatible
• Needs changes
• Obsolete
• 6.5 Compatible
• Needs changes
• Obsolete
32 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Planning the System Migration
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 33
Planning the System Migration
If you later enable the repository as a global registry, use Documentum Administrator to change
the user state to Active and provide the user with a user login name and password that you
choose. Refer to the Content Server Installation Guide for instructions on enabling the repository
as a global registry.
Clientfirst migration
If your system uses only Webtop, DFS, custom DFC, or custom WDK clients, you have the option of
migrating the client applications first. Refer to the installation or deployment guide for the client
application for detailed instructions.
ACS and BOCS version compatibility and migration — Parallel streaming from ACS will be used
only if both ACS and UCF (WDK or DFS applications) are version 6.5. Parallel streaming from BOCS
will be used only if ACS, BOCS, and UCF are version 6.5.
Note: When you upgrade the BOCS to version 6.5, you must update the BOCS version specification
in the global registry using Documentum Administrator. For BOCS 6.0, specify the version as 2.0. For
BOCS 6.5, specify the version as 2.1.
WDK clients compatibility and migration — WDK‑based clients are compatible with version 5.3
and version 6 Content Server. Some WDK version 6.5 features will be available, such as those that run
34 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Planning the System Migration
in JavaScript on the client. Other features will not be available until you complete the migration to
version 6.5, such as lightweight sysobjects, data partitioning, batch processing and scoping..
These are the steps to migrate from version 5.3 or 6 to version 6.5, migrating the clients first.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 35
Planning the System Migration
36 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Chapter 4
Interoperability and Compatibility
Unless otherwise noted, any 5.3 SP2 (or greater SP) or 6.x SPx product can coexist with any other 5.3
SP2 (or greater SP) or 6.x SPx product on the same host. Mixed versions (5.3 SPx with 6.x SPx) cannot
share the same application instance.
In addition, unless otherwise noted, all 6.x SPx products can interoperate with all other 6.x products.
Interoperability takes place when different client applications perform operations on the same object
instance in a repository.
Mixed version compatibility, page 37, provides detailed information for determining compatibility
between different version client applications and Content Server. The Cross‑product dependencies and
interoperability section of each product’s release notes provides a list of products depended on by a
product and additional products with which a product generally interoperates.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 37
Interoperability and Compatibility
Note: None indicates that the client application does not have any modules, aspects, TBOs, or SBOs.
38 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Interoperability and Compatibility
Note: None indicates that the client application does not have any modules, aspects, TBOs, or SBOs.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 39
Interoperability and Compatibility
Productspecific limitations
If a product is not included in this section, then it can be deployed in a mixed version configuration as
described in Table 9, page 38.
Based on the guidelines in Guidelines for determining mixed version compatibilities, page 38, Table
10, page 40 summarizes whether a specific client product version works with a 5.3 SP2 (or greater SP)
repository and a 6.x SPx repository. Unless otherwise noted, 5.3 SPx indicates any of the 5.3 service
packs, SP2 through SP6, and 6.x SPx indicates 6.0, 6.0 SP1, or 6.5.
Note: Many products consist of multiple installed components (WAR file, DAR file or DocApp, for
example). Mixing versions of these components (6.0 WAR file and 6.5 DAR file, for example) for a
particular (6.5) product version is not supported.
40 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Interoperability and Compatibility
Note 2: Physical Records Manager, Records Manager, and Retention Policy Services must be
the exact same version (6.5, for example) as each other when all are using the same repository.
Similarly, any other client (Webtop, for example) that interoperates with objects created by these
products, must be at the same version.
Note 3: Documentum Collaborative Services (DCS) 6.x SPx requires manual installation of a DAR
file in order for Content Server to provide full support for new features in the 6.x SPx DCS client.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 41
Interoperability and Compatibility
Note 4: Queue management is not supported when using Webtop 5.3 SP2 (or greater SP) clients
against a 6.x SPx Content Servers in which the 6.x SPx BPM TBO has been installed.
Note 5: CIS 5.3 SP2 (or greater SP) and 6.0 require the same exact version of Documentum
Administrator. CIS 6.x SPx requires Documentum Administrator 6.x SPx.
42 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Interoperability and Compatibility
Extended Search
5.3 SPx cannot access Extended Search functionality in a 6.5 Content Server.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 43
Interoperability and Compatibility
44 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Chapter 5
Migrating Content Server
If you are installing a new instance of Content Server 6.5 and migrating data from a previous version
on a separate host, you need to follow a procedure somewhat different from an upgrade.
This chapter addresses any variation from the basic scenario to known issues surrounding the
configuration of your version 6.5 server.
• Rebuilding or upgrading fulltext indexes, page 46
• Configuring login tickets for backward compatibility, page 46
• Using DQL to migrate content to an XML Store, page 47
• Migrating custom Content Server methods, page 47
• Migrating DocApps and BOF2 modules, page 47
Migrating Content Server version 5.3 or 6 to 6.5 occurs in three phases:
• Back up your existing data.
• Run the version 6.5 installer.
• Configure the new Content Server to use your existing repository.
These are the recommended steps for preparing and migrating your version 6 Content Server to
version 6.5.
Table 11. Steps to migrate the Content Server from version 6 to version 6.5
Step Documentation
1. Back up your repository. Several third‑party tools are available for
backup.
2. Clean up your repository. Content Server Administrator’s Guide, Content
Repositories chapter, ʺCleaning up repositories.”
4. Run the Consistency Checker utility. Content Server Administration Guide, Tools and
Tracing chapter, ʺConsistency Checker.”
5. Fix any errors identified by the Consistency
Checker.
6. Back up your cleaned, consistent repository.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 45
Migrating Content Server
46 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating Content Server
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 47
Migrating Content Server
To migrate custom Business Objects in an environment of 5.3 SP6 clients that access a version 6.x
Content Server, do the following:
• SBO
Install your 5.3 DocApps in the 5.3 SP6 global registry. Do not upgrade this global registry.
• Module or TBO
Make sure your code will work with DFC 5.3 SP6. It must compile with JDK 1.4.2 and must not
use any classes or methods that are new in DFC 6.x.
48 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Chapter 6
Migrating DFC Customizations
The Documentum Java‑Com Bridge (DJCB) and PIA are deprecated as of version 6.
The following topics describe how to migrate customizations of DFC to version 6.5.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 49
Migrating DFC Customizations
The Business Object Framework (BOF) provides a framework for your customizations that can be
accessed from various client applications and service‑based architecture. The following kinds of DFC
customizations should be migrated to Business Objects:
• Core custom action execution logic
• Process automation, for example, creating renditions during checkin, creating workflows after
checkin
• Custom data handlers
• Helper methods in utility classes, for example, attaching or detaching a lifecycle, promoting or
demoting a document
• Business validation, for example, permitting an export operation
Examples of BOF classes
Updating attributes of an object based on its location — Generally, you organize documents in a
meaningful folder hierarchy. You can also set one or more attributes on an object based on the
location in which it is imported or created. The BOF module contains a type‑based business object
(TBO) that sets the attribute after the operation, based on the parent folder.
Attaching a lifecycle during a checkin operation — A service‑based business object (SBO) can be
used to perform an operation after checkin, such as attaching a lifecycle. Other possible operations
include promoting a workflow or creating a rendition.
Search service
The DFC search service replaces prior mechanisms for building and running queries. You can use the
IDfQuery interface, which is not part of the search service, for simple queries.
The search service provides the ability to run searches across multiple Documentum repositories and,
in conjunction with the Enterprise Content Integration (ECI) Services product, external repositories
as well. The Javadocs for the com.documentum.fc.client.search package describe how to use this
capability.
50 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating DFC Customizations
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 51
Migrating DFC Customizations
displayed in Documentum Administrator, which separates active settings (in DfPreferences) from
persistent settings (in dfc.properties).
DFC deployment
DFC is deployed with each application or product that requires it, using a standard J2EE deployment
strategy. In the J2EE deployment process, the dfc.jar file and related files are packaged in a product’s
WAR file so that each DFC instance can have its own DFC configuration.
52 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Chapter 7
Migrating WDK and Webtop
Applications
The following topics describe how to migrate your customizations to WDK or Webtop 6.5:
• Overview, page 53
• Updating and migrating email messages, page 54
• Java class changes, page 55
• Application framework changes, page 55
• Application‑wide changes, page 62
• Content transfer changes, page 86
• Style changes, page 90
• Feature changes, page 91
The migration topics are ordered by release version, with the latest release changes first.
Overview
Deploy and configure applications based on WDK or Webtop 6.5 on an application server instance
different from your existing installation and then migrate any customizations to the 6.5 deployment.
Do not migrate any of your existing customizations that new 6.5 functionality can replace. To enable
full 6.5 functionality, you will also need to upgrade the DocApps/DARs in the repositories (including
global registries) that your WDK application accesses. For more information, refer to Chapter 5,
Migrating Content Server.
Effort estimates are based on the average time to perform a configuration (simple effort, measured in
hours) or a custom class (complex effort, measured in days). For multiple customizations of the same
type, multiply the effort estimate by the number of customizations to migrate. For example, if you
have five custom actions for which to add shortcuts, you multiply the simple effort times 5. It is hard
to give an exact time estimate, because it is based on your engineers’ familiarity with WDK and the
scripting or programming tasks required to perform the configuration or customization.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 53
Migrating WDK and Webtop Applications
To migrate WDK and Webtop applications from version 5.3 or 6.0 to 6.5:
1. Back up your customizations, if you have made changes in any of the following:
• Web application customizations:
— APP_SERVER_ROOT/webtop/custom directory
— Compiled custom classes in APP_SERVER_ROOT/webtop/WEB‑INF/classes directory
— Custom tag libraries in the
APP_SERVER_ROOT/webtop/WEB‑INF/tlds directory
See Web Development Kit and Webtop Deployment Guide.
• Application server startup file
Note: Do not migrate settings that the WDK installer added to your application server
startup file.
See Web Development Kit and Webtop Deployment Guide.
2. If you have a DFC 5.x application running in the same instance as your 6.5 application, you
must uninstall the DFC 5.x application. For uninstall procedures, refer to the 5.x product
documentation—specifically, the Web Development Kit and Webtop Deployment Guide.
3. If necessary, update your application server software.
Refer to the supported application servers in the release notes for the WDK‑based product.
4. Make the required setup changes to your Webtop WAR file, then deploy the Webtop WAR file.
See Web Development Kit and Webtop Deployment Guide.
5. Copy the contents of your previous /custom directory, to the /custom directory on your new
server. Copy custom Java classes and TLDs to the WEB‑INF folder on your new server.
6. Recompile your custom 5.3 classes to ensure that the custom code still works.
7. Migrate your customized features if they are not present in the 6.5 application. Disable any new
features that conflict with your customizations.
Migration is described elsewhere in this guide.
8. Test and fix your web application.
9. Deploy your web application to your production application server.
See Web Development Kit and Webtop Deployment Guide.
54 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
The following features have been enhanced to support the EMCMF format:
• Import: When a user imports an email message (.msg), the email message converts to EMCMF
format and is stored as a dm_message_archive type. All attachments in the email are imported
and related to the email.
• Export: When a user exports an EMCMF object, the object converts to native email format (.msg)
for viewing by Microsoft Outlook.
• View Properties and Listing pages: The Properties and Listing pages have been enhanced to show
email‑centric attributes such as To, From, Date Sent and Subject.
• Transform: EMCMF messages can be transformed to HTML, XML, or PDF.
Existing email messages of the dm_email_message object type (and its subtypes) and the msg format
must be migrated to the dm_message_archive type (EMCMF) or one of its subtypes. In addition, now
in 6.5, the dm_message archive message_id attribute has been lengthened from 24 to 42 characters.
EMC Documentum provides utilites to perform the migration of dm_email_message objects to
dm_message_archive objects. For instructions on running these utilities, refer to Webtop Email
Migration Guide.
Autofocus — The form tag has an attribute ʺautofocusneeded” that causes the first focusable control
on the page to receive focus. By default this attribute value is false, since all forms in a multi‑frame
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 55
Migrating WDK and Webtop Applications
view cannot have focus. Set to true for the frame that should receive focus. For example, in Webtop
the JSP page app_general_preferences_ex.jsp calls for autofocus, so that when the preferences
component is launched from the titlebar component, the general preferences tab receives focus:
<dmf:form autofocusneeded='true'>
Enhanced control labels — When a control receives focus, the tooltip or tooltipnlsid attributes
render the HTML title attribute. If this information is not sufficient for the screen reader, additional
context can be provided by a label tag that is associated with the control that needs context. Specify
the label using the associatedcontrolid attribute on the context control. In the following example, a
label control specifies the text for which it provides information:
<dmf:label nlsid="MSG_NAME" associatedcontrolid="object_name"/>
<dmf:text id="object_name" tooltipnlsid="MSG_NAME_DESCRIPTION"/>
Radio, link, datasortlink, datadropdownlist, and checkbox controls can also have a prefix and/or
postfix label to provide context. For these controls, the prefix or postfix label is specified as an
attribute on the control itself. In the following example, each radio control specifies a prefix label that
provides additional context:
<dmf:label nlsid="MSG_APPLICATION"/>
<dmf:radio nlsidid="MSG_APP_1" prefixassociatedlabelnlsid="MSG_APPLICATION_1"
NAME="app1" GROUP="theme"/>
<dmf:radio nlsidid="MSG_APP_2" prefixassociatedlabelnlsid="MSG_APPLICATION_2"
NAME="app2" GROUP="theme"/>
Note: The context label associated with a control will override any tooltip or tooltipnlsid setting.
The sortablelistbox control has three tooltips for the Up, Down, and Remove buttons that enhance
accessibility.
Datagrid row information — The actions link in a datagrid row can describe possible actions. You
can configure which information about the object in the row is displayed. By default, the object name,
data type, and lock status are added to the title of the actions link in that row. Other columns can be
added using the columnsforaccessibility attribute of datagridRow tag. In the following example, the
name is displayed instead of the object name:
<dmf:datagridRow ... columnsforaccessibility="name">
56 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
...
<client_warning_session_timeout>5
</client_warning_session_timeout>
</timeout_control>
</session_config>
You can exclude pages from displaying a timeout warning in the <timeout_exclude_list> element. In
the following example, the login page is excluded:
<session_config>
<timeout_control>
...
<timeout_exclude_list>
<exclude>
</exclude>
</timeout_exclude_list>
</timeout_control>
</session_config>
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 57
Migrating WDK and Webtop Applications
A new UserQualifier was added to webtop/app.xml to support presets targeted to individual users.
For full details on extending and modifying configuration files, refer to Web Development Kit and
Client Applications Development Guide.
58 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
The menu configuration file for this menu has an id that matches the configid attribute on the menu
tag. In the following configuration file, two menus are defined: my_menu and 222_menuconfig. The
second menu is included as a submenu within the top‑level menu:
<config>
<scope>
<menuconfig id='my_menu'>
<menuitem name='aaa' label='Do A'/>
<menu id='111' name='111' label='B menu'>
<menuitem name='b1' label='Do B1' onclick='event_handler'/>
<actionmenuitem name='b2' label='Do B2' action='some_action'/>
</menu>
<menuconfig id='222_menuconfig/>
</menuconfig>
<menuconfig id='222_menuconfig'>
<menu id='222 name='222' label='C menu'>
<menuitem name='ddd' label='Do C'/>
</menu>
</menuconfig>
</scope>
</config>
The <menuconfig> element defines a menu that can be included within another <menuconfig> or
referenced in a JSP page. In the example above, an empty <menuconfig> element is used to include
the ’C menu’ within the top‑level ’my_menu’. The ’C menu’ can also be used separately in another
component because it is in a <menuconfig> element.
The elements in a menu configuration file, except the <menuconfig> element, generate JSP tags
with the same name. Attributes on the configuration element are generated as attributes on
the tag. For example, <menuitem name=’file_help’ nlsid=’MSG_HELP’ onclick=’onClickHelpr’
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 59
Migrating WDK and Webtop Applications
Element Description
<menuconfig> Defines a top‑level menu. Contains at least one
<menu> or <menuconfig> element. Has an id
attribute that is used to include the menu into
another menu or a JSP page.
<menu> Defines a menu. If within a <menu> element,
it defines a submenu. Can contain any
combination of <menu> elements, which serve
as submenus, <menuitem>, <actionmenuitem>,
and <menuseparator> elements. Has the same
attributes as the dmf:menu JSP tag.
<menuitem> <menuitem> has the same attributes of the
dmf:menuitem control. The name attribute is
required. The menu item will not do anything
unless you set a value for the onclick attribute.
<actionmenuitem> <actionmenuitem> has the same attributes as
the dmfx:actionmenuitem control. The action
attribute is required and specifies the action
that is launched by the menu item. The action
must match the ID of an action definition in the
application.
<menuseparator> Generates a separator in the menu. Has the
same attributes as dmf:menuseparator.
Menus can be extended and modified using the WDK configuration mechanism. Refer toWDK
Development Guide for information on how to extend a menu configuration or how to insert, remove,
or override a menu item.
Tip: If you are reusing a menu in more than one component, put the menu into a <menuconfig>
element. If you are making simple modifications to a WDK menu you will not be reused in other
components, insert menu elements into the <menuconfig> element or its child elements using the
modification mechanism. In the following example, the sample menu above is modified by inserting
a menu item labeled Do X between Do B1 and Do B2.
<menuconfig modifies="my_menu:custom/config/mycomponent.xml">
<insertafter path="menu[id=111].menuitem[name=b1]">
<menuitem name="xxx" label="Do X" onclick="do_something"/>
</insertafter>
</menuconfig>
60 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
The following example in a custom menubar component definition modifies the menu to add a
menu item at the end:
<component id="menubar" modifies="menubar:webtop/config/menubar_component.xml">
<insert path='menuconfigids'>
<id>menubar_mymenu</id>
</menuconfigids>
</component>
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 61
Migrating WDK and Webtop Applications
Applicationwide changes
The following topics describe features that appear in many places in the application. You can change
the support for these features by configuration, as described in each migration topic.
Disabling modal pop‑up dialogs — Modal pop‑up dialogs are enabled by default. They can be
disabled in app.xml by setting the <enabled> element to false:
<modalpopup>
<filter clientenv='webbrowser'>
<enabled>false</enabled>
</filter>
...
</modalpopup>
Modal pop‑up windows are defined in app.xml within each <theme> element. The
<theme>.<windowsizelist> element contains one or more windows defined by three child elements:
<name>, <width>, and <height>, the latter two in pixels. For example, the small window is defined
as follows:
<windowsize>
<name>small</name>
<width>400</width>
<height>330</height>
</windowsize>
62 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
<action id="about">
<params>...</params>
<execution
class="com.documentum.web.formext.action.LaunchComponent">
<component>about</component>
</execution>
<invocation>
<modalpopup>
<windowsize>small</windowsize>
<refreshparentwindow>never</refreshparentwindow>
</modalpopup>
</invocation>
</action>
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 63
Migrating WDK and Webtop Applications
Invoking a modal component to edit attributes — Editing components for attributes can be
launched in a modal pop‑up dialog. Specify the modality in the docbaseobjectconfiguration file. In
the following example, the versionlabels editor for the version label attribute is launched modally:
<attribute name="r_version_label">
<valuehandler>com.documentum.web.formext.control.docbase.
DocbaseAttributeVersionLabelSetValueHandler
</valuehandler>
<editcomponent>versionlabels</editcomponent>
<invocation>
<modalpopup>
<windowsize>small</windowsize>
<refreshparentwindow>onok</refreshparentwindow>
</modalpopup>
</invocation>
</attribute>
You can also specify multiple modal pop‑up window sizes in app.xml. Compare your custom
components to the corresponding 6.5 components to determine whether you want to include the
modal pop‑up dialog elements in your custom component.
There are three options for refreshing the parent window. The refresh setting can be specified within
the action definition or event handler argument. Use one of the following settings:
• always
The framework always refreshes the parent window when the child window is closed.
• onok
The framework refreshes the parent window when the child window is closed and the return
value is not null. If the user cancels the modal dialog, no refresh occurs. The component developer
must ensure that there is a return value when the component closes.
• never
The framework never refreshes the parent window when the child window is closed.
64 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
An action may require a modal window for some conditions and not for others. For example,
the view action for dm_document objects uses a modal window, but for virtual documents a
modal window should not be used. In this case, the action registers a postprocessor in app.xml,
in the <modalpopup>.<actioninvocationpostprocessors> element. The action service checks for a
postprocessor, instantiates it, and calls its getModalPopupProperties() method to overwrite the
default modal popup settings for the action. You can overwrite use modal, modal window size, or
refresh parent window after closing.
The postprocessor is registered with the following syntax:
<postprocessor id="uniqueId" action="yourAction" class="YourActionInvocationPostProcessor"/>
In the example of the view action, the action and postprocessor class are as follows:
<postprocessor id="viewvdm" action="view" class="
com.documentum.web.formext.action.ViewActionInvocationPostProcessor"/>
The postprocessor class implements IActionInvocationPostProcessor and checks whether the object
is a virtual document. If so, it overrides the modal behavior for the view, which was defined in
the view action definition:
public ModalPopupProperties getModalPopupProperties(
ModalPopupProperties modalPopupProp,
ActionService.ActionDef actionDef, ArgumentList itemArgs)
{
boolean useModalPopup = actionDef.getUseModalPopup();
if (itemArgs != null)
{
if ("view".equals(actionDef.getActionId()) && isVirtualDoc(itemArgs))
{
useModalPopup = false;
}
}
return new ModalPopupProperties(
useModalPopup,modalPopupProp.getModalPopupWindowSize(),
modalPopupProp.getRefreshParentWindow());
}
If your component executes the JavaScript function window.location.replace() API in a modal popup
window, then you must change it to call navigateToURL(), a function in modal.js. For example, the
loginRedirect JavaScript event handler in the timeout.jsp page of Webtop reloads the login page
as follows:
function loginRedirect()
{
...
var strUrl = addBrowserIdToURL(g_virtualRoot+"/component/main");
navigateToURL(strUrl, "timeout", targetWindow);
...
}
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 65
Migrating WDK and Webtop Applications
Effort: simple, single XML fileSupport for rights management has been added to Content Server
and WDK applications. This feature provides additional persistent security for documents managed
within a repository. Working with an IRM Server, Rights Management implements this security
by adding IRM profiles and IRM permissions.
By default, IRM support is not enabled in WDK applications. You must enable it in your custom
app.xml by adding the following lines:
<irmsupport>
<enabled>true</enabled>
<tickettimeout>2</tickettimeout>
</irmsupport>
Change the ticket timeout (minutes) to a setting appropriate for your network throughput.
When you enable IRM, Webtop displays an extra tree node called Rights Management under the
repository node. Some IRM‑specific menus for IRM protection and profiles are also displayed.
66 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
Controls that refresh inline — Four controls have a new inlinerefresh attribute: tree and
showhide in dmform_1_0.tld and docbaseattributelist and multiobjectsdocbaseattributelist in
dmformext_1_0.tld. Refresh can be turned off by setting this attribute value to false in the JSP page
(default is true).
Turning off inline refresh of the Webtop browser tree — The browsertree (version 6.0) Webtop
component is a new component, defined in webtop/config/browsertreex_component.xml.
jumpToBrowserTreeLocationAction is a new action related to this feature. Custom browsertree
components should extend the browsertree component in webtop/config/browsertreeex_component.
xml (new file).
You can turn off inline refresh by modifying classic.jsp in webtop/classic. Change from true to false
in the following line:
String strBrowsertreeArgs = "?inlineRefresh=true";
Using the new showhide control — The showhide control, new in WDK 6.5, can replace existing
refresh features. For example, extendedpermissions.jsp in 5.3 used a link to reload the page when the
user clicked the link:
<!restrictions show/hide>
...
<dmf:link name='<%=ExtendedPermissions.RESTRICTIONS_PERMIT_IMAGE%>'
onclick='onShowOrHideRestrictions'
tooltipnlsid='MSG_SHOW_RESTRICTIONS_TIP'/>
<dmf:link name='<%=ExtendedPermissions.RESTRICTIONS_PERMIT_LINK%>'
onclick='onShowOrHideRestrictions' cssclass='showMoreHideMoreLink'
tooltipnlsid='MSG_SHOW_RESTRICTIONS_TIP'/>
In WDK 6.5, the links are replaced with a faster refresh through the showhide control:
<dmf:showhide name='restrictions_showhide'
panelname='<%=ExtendedPermissions.RESTRICTIONS_PANEL%>'
shownlsid='MSG_SHOW_RESTRICTIONS'
hidenlsid='MSG_HIDE_RESTRICTIONS'
showtooltipnlsid='MSG_SHOW_RESTRICTIONS_TIP'
hidetooltipnlsid='MSG_HIDE_RESTRICTIONS_TIP'/>
The showhide control is associated with a panel control that is displayed when the user clicks Show.
Specify the name of the associated panel in the panelname attribute of the showhide control.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 67
Migrating WDK and Webtop Applications
When a user browses through cabinets and folders, he or she sees neither parents nor children
associated with LWSOs.
• Simple Search
When a user performs a simple search, the results display shared parent objects only. Children are
not displayed.
• Advanced Search
When a user performs an advanced search, the results display children, but NOT the parents,
associated with LWSOs.
• Attributes
From search results, a user can open the properties of a LWSO and edit its properties. When any
attribute is changed, the LWSO materializes into a full object.
• Properties
Properties panels show all attributes associated with a child along with any attributes inherited
from the parent.
Displaying LWSO shared parent — To turn on the display of shared parents is listing and locator
pages, add the following lines to your custom app.xml file:
<lightweightsysobject>
<hidesharedparent>false</hidesharedparent>
</lightweightsysobject>
68 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
2. For Java EE principal authentication, paste the encrypted form of the password into the file
TrustedAuthenticatorCredentials.properties located in WEB‑INF/classes/com/documentum/web/
formext/session. Each repository must have an entry for the superuser, encrypted password, and
domain if needed. Substitute the actual repository name in the sample entries below. If no
domain is needed for login, then type the following: Repository_name.domain=
Repository_name.user username
Repository_name.new‑pw password
Repository_name.domain domainname
For example:
mydocbase.user=superuser1 mydocbase.newpw= d7d1d6e383d6d4e1d0 mydocbase.domain=
3. For preferences or presets repository passwords, paste the encrypted form of the password
into the file app.xml in the custom directory. Insert the encrypted preferences password
into <preferencesrepository>.<password> or the encryped presets password into the
<presets>.<password> element.
4. The symmetric keys for encryption and decryption are stored in a file named
wdk.keystore. This file must be stored in a secure location on the application
server file system. Open the file KeystoreCredentials.properties, located in
WEB‑INF/classes/com/documentum/web/formext/session, and specify your keystore location.
You must also override the use of the default DFC config dir in order to substitute this
new location, for example: keystore.file.location=C:/Documentum/config/wdk.keystore
use_dfc_config_dir=false
By default, the keystore file location is created in the DFC config directory, which contains
dfc.properties and is specified as the value of dfc.config.dir in dfc.properties. The default location
is WEB‑INF/classes.
Note: Entries that were encrypted by the 5.3.x encryption tool and entered into the field .password
instead of the .new‑pw field will be decrypted by the 5.3.x encryption tool.
The WDK samples and testbed have been removed from the application to prevent cross‑site
scripting. These files are available as a separate download on the download site.
Enabling change notification — Users can request change notification for a Content Server event on
one or more objects. Any API, workflow, or lifecycle event can be notified. Notification is available on
dm_sysobject and its subtypes from the Webtop menu or the right‑click context menu. Notification
on replica and reference (shortcut) objects is not supported. The user who has selected change
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 69
Migrating WDK and Webtop Applications
notification on an object will receive a notification in the Documentum inbox, and by email. If an
event that is configured in app.xml does not exist in a particular repository, that event is ignored by
the event notification mechanism for users who are logged into that repository.
Add notification for an event by copying the entire <notification> element from
webcomponent/app.xml to your custom app.xml and adding an <event> element for each notifiable
element. Server events are listed in an appendix of Documentum Content Server Administration Guide.
Enabling read notification — A user can select any object in a list view and turn on read notification
to notify the user when the document has been read. The default event for notification is dm_getfile,
and the minimum permission for read notification is configured in app.xml.
Add notification for read access to objects by copying the entire <readnotification> element from
webcomponent/app.xml to your custom app.xml and specifying the name of the read event (default
dm_getfile) and the minimum permission required to request read notification. Server events are
listed in an appendix of Documentum Content Server Administration Guide.
Copy the entire <rolemodel> element from /wdk/app.xml to your custom app.xml and add your
appropriate rolesprecedence element.
70 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
Several substantial improvements have been made to the look and behavior of datagrid controls. The
improvements include mouse or keyboard row selection (one or more objects), right‑click context
menus, fixed column headers, and resizable columns.
Turning off new datagrid features — The new datagrid features can be reverted with the following
addition to your custom app.xml:
<desktopui>
<datagrid>
<richui>false</richui>
</datagrid>
</desktopui>
Placing content below the datagrid — A datagrid without a height attribute value will span
the entire height of the window. If you have content to place below the datagrid, put it within a
dmf:datagridFooter tag within a dmf:datagridRow tag.
The following topics describe migrating your custom components to use the new datagrid features.
Replacing <td> with <datagridRow> — Every <td> tag within the custom datagrid dmf:datagridRow
tag must be replaced with dmf:datagridRowTd tag. For example, in the 5.3 page acllist.jsp, the
description column in the datagrid is as follows:
<td class="doclistfilenamedatagrid">
<dmf:label datafield='description'/>
</td>
Handling a double‑click event in a datagrid row — If your datagrid row supported a link
event (single or double click), you must either migrate the link to a right‑click context menu or
to a datagridRowEvent tag. The following example wraps a WDK 5.x double‑click event with a
datagridRowEvent. The event arguments, which in 5.x were passed in the actionmultiselectcheckbox,
are passed in argument tags:
<dmf:datagridRowEvent eventname='dblclick' eventhandler='
onClickObject' runatclient='true'>
<dmf:link onclick='onClickObject' name='
objectLink' runatclient='true' datafield='object_name'>
<dmf:argument name='id' datafield='r_object_id'/>
<dmf:argument name='type' datafield='r_object_type'/>
<dmf:argument name='isFolder' datafield='isfolder'/>
</dmf:link>
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 71
Migrating WDK and Webtop Applications
</dmf:datagridRowEvent>
Handling a single‑click event (selection) in a datagrid row — The following example handles a
single‑click event (selecting the row). The event handler for a select event must be client‑side:
<dmf:datagridRowEvent eventname='select' eventhandler='
onSelectObject' runatclient='true'>
<dmf:argument name='id' datafield='r_object_id'/>
<dmf:argument name='name' datafield='object_name'/>
</dmf:datagridRowEvent>
The event object that is passed to the JavaScript handler has the following properties:
• type
Event type, such as select or init
• datagrid
Datagrid object instance
• startIndex
Index of the selected or deselected item, starting with 1
• count
Count of selected items
An event handler gets the item arguments, either for single or multiple selection, as shown in the
following example:
function onSelectObject(event)
{
//for single item selection
if (event.count == 1
{
var args = event.datagrid.data.getItemActionArgs(
event.startIndex, event.type);
//handle args
}
//handle multiple select
else
{
for (var i=0; I < event.count; i++)
{
var args = event.datagrid.data.getItemActionArgs(
event.startIndex + i, event.type);
//handle args
}}}
Turning off row selection per datagrid — You can turn off row selection for an individual datagrid
by setting the rowselection attribute value to false on the datagrid control in a JSP page. The app.xml
file’s <desktopui>.<datagrid>.<richui> element must be set to true to enable this attribute. The
following table describes the interaction between the global row selection flag in app.xml and the
datagrid attribute rowselection attribute.
72 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
Table 13. Interaction between global versus local row selection settings
If your listing component extends the DocList component, it inherits support for resizeable
columns. If not, you must add the initColumnWidths method to the implementation of
the component class and call it when the component initializes. Your class must import
DatagridColumnWidthPreferenceHelper:
...
import
com.documentum.web.form.control.databound.DatagridColumnWidthPreferenceHelper;
...
public void onInit(ArgumentList args)
{
. . .
initColumnWidths();
}
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 73
Migrating WDK and Webtop Applications
Headings now stay in place while the user scrolls through the items in the datagrid. To enable this
behavior, custom components must implement header rows using the new element datagridTh. For
example, in the 5.3 component acllist, the datagrid contains a header for the name column:
<th align='left' scope='col' class="doclistfilenamedatagrid">
<b>
<dmf:datasortlink name='sortcol1' nlsid='MSG_NAME' column='
object_name' mode='caseinstext' cssclass='doclistbodyDatasortlink'/>
</b>
</th>
To globally disable fixed column headers in the application, add the following element to
/custom/app.xml:
<desktopui>
<datagrid>
<fixedheaders>false</fixedheaders>
</datagrid>
</desktopui>
Context menus are defined in the <menuconfig> element of an action configuration file for a specific
object type. For example, the configuration file dm_folder_actions.xml contains the menu items that
are available for folder (the dm_folder type). The element <actionmenuitem> identifies an action that
can be performed on the object type . You can create submenus within the <menuconfig> element by
nesting a <menu> element with its own <actionmenuitem> elements.
74 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
The following example from dm_folder_actions.xml defines a context menu for actions on selected
dm_folder objects. The Properties menu item is followed by a View submenu that contains
three actions: relationships, locations, and topics. Note that some actions support multiple
selection (the dynamic attribute is set to ʺmultiselectʺ) and some support only single selection
(dynamic=ʺsingleselectʺ).
<menuconfig id="contextmenu">
<actionmenuitem dynamic="multiselect" action="
subscribe" .../>
<actionmenuitem dynamic="multiselect" action="
unsubscribe" .../>
...
<menuseparator/>
<actionmenuitem dynamic="singleselect" action="
properties" .../>
...
<menu menu nlsid="MSG_VIEW_MENU">
<actionmenuitem dynamic='multiselect' action='
relationships' .../>
<actionmenuitem dynamic='multiselect' action='
locations' .../>
<actionmenuitem dynamic='multiselect' action='
showtopicaction' .../>
</menu>
</menuconfig>
You could add a custom menu item to the top level menu and one to the View menu as follows:
<menuconfig id="contextmenu">
<actionmenuitem dynamic="multiselect" action="
subscribe" .../>
<actionmenuitem dynamic="multiselect" action="
unsubscribe" .../>
...
<menuseparator/>
<actionmenuitem dynamic="singleselect" action="
properties" .../>
<actionmenuitem dynamic="singleselect" action="
firstcustomaction" .../>
...
<menu menu nlsid="MSG_VIEW_MENU">
<actionmenuitem dynamic='multiselect' action='
relationships' .../>
<actionmenuitem dynamic='multiselect' action='
locations' .../>
<actionmenuitem dynamic='multiselect' action='
showtopicaction' .../>
<actionmenuitem dynamic='singleselect' action='
nextcustomaction' .../>
</menu>
</menuconfig>
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 75
Migrating WDK and Webtop Applications
The toolbar is no longer necessary with the introduction of the right‑click menu, and so has been
hidden by default. It is still present in the webtop\classic\classic.jsp JSP page, but its frame height is
set to 0. You can display the toolbar by changing the line
String strRows = "0,*";
to
String strRows = "22,*";
The hotkeyid value is resolved by a lookup in the shortcuts (hotkeys) definition in hotkeys.xml.
This file defines an NLS key for each hotkey ID. The key is then resolved to a key combination
in the hotkeys properties file HotKeysNlsProp.properties. The properties files can be localized
for locale‑specific key combinations.
Caution: When focus is on a user‑entry control such as text, shortcuts are not enabled. If you
set initial focus in the UI to a user‑entry control, shortcuts will not be enabled until the user
moves off the control.
76 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
3. Create a map (properties file) that maps each hotkey ID to a key combination. You can include
the WDK map and simply make your changes in your custom properties file. Refer to Creating or
modifying a shortcuts map, page 78.
4. Add your shortcut to a custom control on the JSP page. Refer to Adding your custom shortcut
to the component, page 80.
The <hotkeys> element in your custom app.xml file specifies a mapping file that maps key
combinations to actions. You must specify the location of your properties file in your custom app.xml.
If your file is located in WEB‑INF/com/mycompany, for example, you would specify the location in
an <nlsbundle> element as follows in app.xml:
<hotkeys>
<enabled>true</enabled>
<nlsbundle>com.mycompany.HotKeysNlsProp</nlsbundle>
</hotkeys>
The hotkeyid value for a control is resolved by a lookup in the hotkeys configuration file hotkeys.xml,
located in webcomponent/config. The corresponding key NLSID value is resolved by a lookup
in a shortcut mapping file.
Tip: If you are changing existing shortcut combinations, you do not need a hotkeys definition file. If
you are adding shortcuts for your custom actions or removing shortcuts to WDK actions, a hotkeys
definition XML file is required. You can use the modification mechanism to do this.
Element Description
<hotkeys id=...> The id attribute on this element facilitates more
than one hotkeys definition for the application
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 77
Migrating WDK and Webtop Applications
Element Description
<hotkey id=...> The id attribute on this element is referenced by
a control on the JSP page and contains a key for
lookup of the hotkey combination. The ID must
be unique to the definition. Contains <keynlsid>
and, optionally, <labelnlsid>.
<keynlsid> Specifies an NLS key that is resolved in the
hotkeys NLS properties file.
<labelnlsid> (Optional) Specifies an NLS key for a label that
to be displayed for the shortcut
A Java NLS properties file specifies the key combinations for each hotkey ID. Make sure your custom
app.xml file specifies the fully qualified path name for this NLS properties file as described in
Specifying a shortcuts mapping properties file, page 77. If you add shortcuts to custom actions, then
create NLS IDs for your shortcut IDs in a custom hotkeys configuration file as described in Adding
a shortcut definition in an XML file, page 77.
To include the WDK or Webtop shortcuts — When you change or add hotkey combinations,
include the WDK properties file in your own properties file so that you inherit the WDK shortcuts.
Include the WDK map as follows:
NLS_INCLUDES=com.documentum.webcomponent.keyboardshortcut.HotKeysNlsProp
To add a new shortcut combination — Add a new shortcut similar to the following, which specifies
that the shorcut with the NLS id _#HOTKEY_CUSTOM_ACTION maps to the keystrokes Ctrl and
Shift and X:
_#HOTKEY_CUSTOM_ACTION=Ctrl+Shift+k
To modify an existing shortcut — In your custom mapping properties file, add an entry for the
shortcut with the keystroke combination. This entry will override the entry in the WDK mapping file.
The following example changes the keyboard shortcut for Export from Shift + E to Shift + X:
_#HOTKEY_EXPORT=Shift+X
78 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
In your key combinations, a single keyboard key can be combined with another key such as Ctrl
(Windows), Cmd (Macintosh), Shift, or Alt. Table 15, page 79 describes the single keys that can be
used in a shortcut combination. Shortcut definitions are case‑insensitive.
Key Description
alphanumeric A‑Z or 09
navigation and command Home, End, Enter, Insert
punctuation The following punctuation keys can be used:
; = , . / ’ [ ] \ ‘
function keys Unreserved function keys are valid
Tip: Do not use a shortcut combination that is reserved for browsers, such as Ctrl+c for copy in IE.
WDK will not attempt to override reserved shortcuts.
The NLS ID value that is used to specify the shortcut combination can have .MAC added to provide
an alternate shortcut combination for the Macintosh platform, for example:
_#HOTKEY_COPY_FILE=Shift+V
_#HOTKEY_COPY_FILE.MAC=Shift+C
5. Within the insert element, add <hotkey> elements for the new shortcut. You do not need to
modify the definition to replace a shortcut, because you can use the same keynlsid and just
provide a new string in the properties file.
<insert>
<hotkey id="HOTKEY_MYACTION">
<keynlsid>_#HOTKEY_MYACTION</keynlsid>
</hotkey>
</insert>
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 79
Migrating WDK and Webtop Applications
<replace>
7. Add the hotkeyid attribute value HOTKEY_MYACTION to the component JSP page, in the
control that calls your custom action, for example:
<dmfx:actionlink name="mylink" action="myaction" hotkeyid="HOTKEY_MYACTION"...>
8. Restart the application server for changes to NLS properties files. If your changes are to XML
files only, refresh memory by navigating to wdk/refresh.jsp.
9. Test your shortcut combination in the appropriate component.
Shortcuts are bound to the top level window of the application, so you must ensure that all shortcuts
are uniquely defined in the <hotkeys> configuration elements across your application. This will be
easier to manage in a single shortcuts mapping file. If two controls are assigned the same shortcut, the
second assignment will be used. Shortcuts are not invoked when the keyboard focus is on an input
field such as text, textarea, or password. For these controls, use the escape key to access shortcuts.
In every JSP page that contains your custom control, you must add the new shortcutid attribute. In
the following example, the custom action has a shortcut with the ID HOTKEY_CUSTOM_ACTION,
as defined in the properties mapping file:
<mytld:customactions name="customactiona" dynamic="singleselect" action="
action1" hotkeyid="HOTKEY_CUSTOM_ACTION1" .../>
The base Control class supports shortcuts with the public methods setHotKey, setHotKeyLabel,
getHotKey, and getHotKeyLabel. The following WDK controls support shortcuts: ActionMenuItem,
ActionButton, ActionLink, ActionImage, Button, Link, and MenuItem.
If your custom control extends a WDK control with shortcut support, add the hotkeyid attribute to
the tag library descriptor that contains your control and then set the hotkeyid value on the control
in the JSP page.
To set a shortcut combination programmatically on a control that supports shortcuts, use the API
setHotkey(String hotKey) where the parameter is a key combination, for example: setHotkey(ʺalt+xʺ);
If your control does not extend a control with shortcut support, add support to the tag class by calling
either the renderHotKey() or renderHotKeyHandler() from renderEnd().
The keyboard events that are handled are keyup, keydown, and keypress. WDK JavaScript handlers
for each of these keyboard events retrieve the shortcut commands and invoke the corresponding
actions.
80 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
2. At the end of renderEnd() in the control tag class, add a call to renderHotKey() or
renderHotKeyHandler().
• For a control that launched as client JavaScript event, for example, a click, call
renderHotKey(StringBuffer buf, String eventName) and provide the event name, for example,
onClick. The Javascript code for the shortcut will be rendered by the framework.
The following example from ButtonTag checks whether the control is enabled and, if so,
adds the renderHotKey JavaScript function key to the output. In the Button class, the
EVENT_ONCLICK is the onclick event:
if (button.isEnabled())
{
StringBuffer buf = new StringBuffer(256);
renderHotKey(buf, Button.EVENT_ONCLICK);
out.print(buf.toString());
}
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 81
Migrating WDK and Webtop Applications
Tip: As a general rule, you should assign index values incrementally based on the order of elements
in the source code for the page. Use the tab key ordering to support a different tabbing requirement.
Do not use tab ordering to ʺfixʺ a bad page design. In the latter case, alter the order of the content
in the markup itself instead of altering the order using tabindex.
3. Add tabindex attribute values on the JSP pages that contain the custom tag.
4. If the custom control provides its own rendering rather than that of a parent that supports tab
index, call renderTabIndex(StringBuffer) API from the base ControlTag class in the rendering
method.
5. Save the tag library descriptor and JSP files and restart the application server
82 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
Even when autocomplete is turned off for the application, it can be turned on for an individual
control. Set autocompleteenabled=ʺtrueʺ for the control. Controls that have the same value for
autcompleteid share the same autocomplete list. The maximum autocompletion items to be displayed
is set by the maxautocompletesuggestionsize attribute. The autocompletetarget attribute specifies the
name of the frame where the completion list should be displayed. By default, the popup appears in
the same frame.
If no autocompleteid is specified, the autocompleteid setting defaults to the form name concatenated
with the control name. In this care, every control on the page will have a different autocompletion list.
Adding autocompletion support to a text or dropdown list control — You can add auto complete
functionality to any control that extends the WDK text or dropdown list controls. Add the four
autocompletion attributes to your control definition in your custom tag library. For example:
<attribute>
<name>autocompleteenabled</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>autocompleteid</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>maxautocompletesuggestionsize</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>autocompletetarget</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
Adding autocompletion support to a non‑text control — You can create custom controls that do
not extend text or dropdown list but can support auto complete (effort: complex). To implement
autocompletion in these controls, implement IAutoCompleteEnabledControl in the control class.
The method getInputValue() should get the value that the user has entered and add it to the
autocompletion list. For example, the Text class implements the method in the following way:
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 83
Migrating WDK and Webtop Applications
The tag class must bind the autocomplete object during rendering. The following example from the
TextTag class calls a rendering method from renderEnd:
protected void renderEnd(JspWriter out)
throws IOException
{
//...
if (text.isAutoCompleteEnabled())
{
// generate the JavaScript to support AutoComplete
// generate the auto complete list
renderAutoCompleteTextBinding(buf, Text.EVENT_ONVALUECHANGE, null);
}
Your control class must manage autocompletion data, inclusing retrieving or storing data, managing
list, and flushing old data when needed. You can use AutoCompleteService, which provides the
following APIs:
• public synchronized static AutoCompleteService getInstance ()
• public List getAutoCompleteEntries(String key)
• public void addAutoCompleteEntry(String key, String value)
• public void clearAutoCompleteEntries()
• public int getAutoCompleteMaxSuggestionSize ()
• public Option getAutoCompleteOption ()
• public static void setAutoCompleteOption (Option option)
Add the autocompletion attributes to the tag library descriptor entries for your custom tag.
The data source that will be filtered is specified in the column attribute of the datacolumnbeginswith
control. The column must match a column that is specified within a <column> element of the
component definition. For example, to enable filtering on the object name, the value of the column
attribute should be ʺobject_nameʺ.
84 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
Since: version 6
When a user drags a document into a directory with an item of the same name, a popup menu
displays to allow the user to choose between creating a new rendition of the repository file, or
replacing the content of the existing file with the dropped file.
This feature does not require migration.
Preferences changes
Since: version 6
Effort: none to simple (single XML
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 85
Migrating WDK and Webtop Applications
User preferences are now stored in the global registry in addition to local cookies. Preference storage
in the repository enables users to see their preferences on more than one machine. This feature
does not require migration.
The cookie size has been streamlined for scalability. This enhances reliability and makes the user’s
customized settings available from any client machine.
Saving preferences in a separate repository — By default, user preferences are stored in the global
registry. You can specify a different repository for preferences storage in your custom app.xml
file. Copy the <preferencesrepository> from wdk/app.xml to your app.xml and add the name of
your preferences repository to the child element <repository>. You can add a triple‑DES encrypted
password to the <password> element using the utility class TrustedAuthenticatorTool. With the class
com.documentum.web.formext.session.TrustedAuthenticatorTool in your path, execute the following
command. Substitute the actual password (pwd below) for the user dmc_wdk_preferences_owner:
java com.documentum.web.formext.session.TrustedAuthenticatorTool pwd
Paste the resulting encrypted password into the <password> element in app.xml.
Specifying cookies that are not persisted — User preferences that should not be stored (cookie only)
should be added to the <non_repository_preferences> element. Use this for preferences that should
not be stored in a repository and should be stored only in a cookie, such as login preferences. These
cookies are used before the preferences are downloaded from the preferences storage repository.
Within the <non_repository_preferences> element, each <preference> element contains a value that
corresponds to the XML path to the element within a configuration file that defines the cookie
(nonrepository) preference. If an element has an ID, it must be specified, as in the following example
from the login component:
component[id=login].username
86 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
• Use of parallel streams to increase content transfer rate. This feature is especially effective for
improving content transfer performance of large files over a high latency WAN (outbound and
inbound).
• Freeing up stuck threads to optimize resources and increase concurrency.
• Reduction in unnecessary WDK UCF client calls.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 87
Migrating WDK and Webtop Applications
Effort: simple to moderate: one XML file plus all PDF files in repository
PDF documents can be streamed to the browser so that the user can read a document before it has
fully downloaded to the browser. This feature is available for PDF documents served from Content
Server 6 SP1 repositories if the user has configured preferences to view PDF documents inline.
88 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
For WDK‑based applications that use UCF content transfer, scanning for linked documents in
Microsoft compound documents can be enabled. Link scanning may have a performance impact.
On import or checkin of a document with linked documents, a dialog will displayed asking if the
user wants to scan for linked documents. When linked documents are imported, the parent and
children are internally treated as virtual documents, but the user will not be able to reorder the linked
documents within the compound document.
The following formats will be scanned for links and the linked documents will be imported or
checked in:
• Microsoft Word
• Microsoft Excel
• Microsoft Powerpoint
The following versions of these Office documents are supported: 2003 and 2007.
Note: Content linked with the Office hyperlinks feature is not included in an import or check‑in.
Link scanning is OFF by default, because most documents do not include links. To enable link
scanning, add the following lines to the <contentxfer> element in your custom app.xml file:
<embeddedlinksscan>
enabled>false/enabled>
</embeddedlinksscan>
You can disable link‑scanning for a particular type of document in the configuration file for the action.
For example, to disable link scanning on the view action, extend the view action definition and copy
in the definition from webcomponent/config/actions/dm_sysobject_actions.xml. Uncomment the
following line:
<!<olecompound enabled="false"/>>
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 89
Migrating WDK and Webtop Applications
Style changes
The following topics describe changes that affect the style of the UI in recent releases. For information
on CSS style changes, refer to Appendix D, Changes to Webtop Cascading Stylesheets.
Streamline deprecated
Since: version 6
Effort: simple to revert, possibly complex to migrate
The streamline interface was designed to provide quick access to the most commonly used
commands. Version 6.5 introduces the right‑click context menu, which provides the same ease of use
90 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
in a way that is familiar to most users. The streamline interface is now obsolete and is disabled by
default. However, it still ships with our product for backward compatibility. If you would like to
enable the streamline interface, use one of these methods:
• To re‑enable streamline view for all users and all HTTP sessions, add the following setting
in /custom/app.xml:
<streamlineviewvisible>true</streamlineviewvisible>
• To re‑enable streamline view for one HTTP session, launch the main component with the
parameter entryPage set to streamline.
For example, Webtop can be launched using a URL similar to
http://localhost:8080/webtop/component/main?entryPage=streamline
Once the streamline view is enabled, it cannot be disabled again within the same HTTP session.
Feature changes
The following are changes to the implementation of controls or specific components in WDK/Webtop
applications. Most of these features are enabled by default. These topics tell you how to disable the
new behavior if you prefer not to use it.
Deprecated components
The following component configuration files are deprecated. Customization to the old components
should be updated to point to new component xml files in order to pick up bug fixes and new features.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 91
Migrating WDK and Webtop Applications
To disable 5.3 customizations that you may have added to a WDK 6 application, copy this element to
your custom app.xml and remove the <version> element for 5.3:
<supported_versions>
<version>6.0</version>
<version>5.3</version>
</supported_versions>
The following example lists four attributes, three of which have conditional value assistance lists that
were set up in Documentum Composer. The drop‑down list for Make determines the list available for
Model. The drop‑down lists Fuel and Year both depend on Model.
92 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating WDK and Webtop Applications
This UI was generated from the following set of controls in the JSP page:
<tr>
<td>Make:</td>
<td><dmfxs:searchattribute name='make' attribute="make"/></td>
</tr>
<tr>
<td>Model:</td>
<td><dmfxs:searchattribute name='model' attribute="model"/></td>
</tr>
<tr>
<td>Year:</td>
<td><dmfxs:searchattribute name='year' attribute="year"/><td>
</tr>
<tr>
<td>Fuel:</td>
<td><dmfxs:searchattribute name='fuel' attribute="fuel"/></td>
</tr>
Assigning relationships
Since: version 6
Effort: none
A user can create a relationship between any two documents in the repository. A user can also
delete a relationship between two documents. This feature requires a version 6.5 Content Server
and repository.
This feature does not require migration.
Lifecycle enhancements
Since: version 6
Effort: none
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 93
Migrating WDK and Webtop Applications
Lifecycle is now displayed on the Properties Screen (part of the default attribute set). Lifecycle is
exposed as a column in object lists. Users are able to apply a lifecycle on documents at creation time
(and Import, Create, Checkin), or later, via the Properties screen. The process of applying a lifecycle to
a document has been enhanced to include the ability to specify the initial lifecycle state and the alias
set. The current success/error messages for the lifecycle‑related actions displayed on the Message Bar
that involve a lifecycle state change (Apply, Detach, Promote, Demote, Suspend and Resume) will be
enriched to contain pertinent information about the object lifecycle state (previous and current).
This feature does not require migration.
94 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Chapter 8
DFC, BOF and WDK Application
Migration to DFS
Documentum Foundation Classes (DFC), Business Object Framework (BOF), and WDK‑based
application customizations are a part of many enterprise applications. Documentum Foundation
Services (DFS) is the new EMC Documentum service‑oriented architecture that facilitates application
development and produces high quality, maintainable systems. Should existing applications migrate
to DFS? There is no single answer that applies to all custom applications. Table 17, page 95 will help
you decide whether to migrate your applications to the new service‑oriented architecture. Details
for these decisions are provided after the table.
Existing DFC and BOF custom application — DFS does not involve rendering or application‑specific
logic. DFS is a DFC client and supports all BOF customizations. DFS requires a consumer of web
services to render the UI. If your custom application uses DFC, with or without custom BOF services,
it may be rewritten to use DFS if the features you use are available in DFS. You will need to build DFS
services to expose your BOF code. BOF TBOs and aspects are natively supported by DFS.
Existing DFC and BOF custom applications can be migrated to DFS if you have a web services client
to render the custom application such as Struts, JSF, ASP.NET, or Flex.
Note: BOF modules cannot consume DFS services directly.
Existing WDK‑based custom application — If DFS provides feature parity and your WDK‑based
application does not have a heavily customized UI, it can be replaced by DFS and a web services
client to render the custom application such as Struts, JSF, ASP.NET, or Flex. If you migrate the
application to DFS and a web services client, you will not be able to apply service packs or future
releases of WDK, Webtop, or the Webtop‑based application.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 95
DFC, BOF and WDK Application Migration to DFS
Heavily customized WDK‑based applications would generally require much work to replace features
using DFS and a web services client. For new customizations of a WDK‑based application, move
business logic to BOF modules or aspects so that they can easily be reused when you migrate to
web services at a later time.
Existing TaskSpace custom application — TaskSpace is built on WDK, so the guidelines above for
WDK‑based applications would apply to customized TaskSpace applications. If you migrate the
application to DFS and a web services client, you will not be able to apply service packs or future
releases of TaskSpace.
Developing new custom logic in your applications — Whether your existing application is
DFC‑based or WDK‑based, you should develop custom business logic by building BOF services and
aspects. When you deploy your service on the global registry, your logic is available to all applications
using the global registry, and your custom logic will be easily migrated to a web service in the future.
Moving an existing application to a web services UI — If you have identified a web services UI
for your custom application, you can migrate the application to DFS. Note the guidelines above
for DFC, BOF and WDK custom applications.
96 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Appendix A
Migrating DMCL APIs to DFC
This chapter provides information that can help you migrate a DMCL‑based application to a DFC
application. Please also consult the Documentum Foundation Classes Version 6.5 Release Notes for any
known limitations or exceptions to the material in this appendix.
Overview
There are essentially three languages used to access the platform: Java, DocBasic, and C++.
If you are using Java for your customizations, they will continue to work in version 6.5. There have
been no changes to the methods or interfaces of existing classes.
In previous releases, DocBasic applications accessed the DMCL via dmcl40.dll (on Windows).
In version 6.5, DocBasic applications will automatically access the new dmcl.dll, which passes
instructions back and forth to DFC via an emulator.
C++ accesses DMCL through dynamic links. Applications can be configured to work with dmcl40.dll,
which ships with version 6.5 for backward compatibility. The applications will continue to work,
but they will be working with, in essence, the 6.0 version of DMCL (with some bug fixes). C++
applications using the dmcl40.dll will not have access to methods or interfaces introduced in version
6.5 and future releases.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 97
Migrating DMCL APIs to DFC
IDfSessionManager abortTransaction
Abort, for work flow IDfWorkflow abort
Acquire IDfWorkItem acquire
Addigsignature IDfSysObject addDigitalSignature
Addesignature IDfSysObject addESignature
Addactivity IDfProcess addActivity
Addlink IDfProcess addLink
Addnote IDfSysObject addNote
IDfPackage appendNote
Addpackage IDfWorkflow addPackage
IDfWorkitem addPackageEx
Addpackageinfo IDfActivity addPackageInfo,
addPackageInfoEx
Addport IDfActivity addPort
Addrendition IDfSysObject addRendition, addRenditionEx,
addRenditionEx2,
addRenditionEx3,
Addroutecase IDfActivity addRouteCase, addCondition‑
RouteCase
Anyevents IDfSession hasEvents
Append IDfTypedObject appendBoolean, appendInt,
appendDouble, appendId,
appendString, appendTime,
appendValue
Appendcontent IDfSysObject appendContent, appendCon‑
tentEx
Appendfile IDfSysObject appendFile
Appendpart IDfSysObject appendPart
98 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating DMCL APIs to DFC
execute, in IDfQuery
Archive IDfSession archive
Assemble IDfSysObject assemble
Assume IDfSession assume
Attach IDfSysObject attachPolicy, detachPolicy
Audit IDfAuditTrailManager registerEventForType,
registerEventForObject,
registerEvents, register
EventsFromQuery,
registerEventsInFolder
Authenticate IDfClient authenticate
IDfSession
IDfSessionManager
Begintran IDfSession beginTrans
IDfSessionManager beginTransaction
Bindfile IDfSysObject bindFile
Branch IDfSysObject branch
Cachequery IDfQuery execute
Changepassword IDfSession changePassword
Checkin IDfSysObject checkin
Checkinapp IDfSysObject checkinEx
Checkout IDfSysObject checkout, checkoutEx
Close IDfCollection close
Commit IDfSession commitTrans
IDfSessionManager commitTransaction
Complete IDfWorkitem complete, completeEx,
completeEx2
Connect IDfSessionManager newSession
IDfClient
Count IDfTypedObject getAttrCount
Create IDfSession newObject, newObjectWithType
Createaudit IDfAuditTrailManager createAudit
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 99
Migrating DMCL APIs to DFC
IDfMirror dereferenceMirror
Describe IDfSession describe
Destroy IDfPersistentObject destroy
Disassemble IDfSysObject disassemble
Disconnect IDfSession disconnect (in IDfSession)
100 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating DMCL APIs to DFC
getRepeatingBoolean, getRe‑
peatingInt, getRepeatingDouble,
getRepeatingId, getRepeat‑
ingString, getRepeatingTime,
getRepeatingValue
Getconnection IDfSessionManager newSession
Getcontent IDfSysObject getContent
Getdocbasemap IDfDocbrokerClient getDocbaseMap
getDocbaseMapFromSpecific‑
Docbroker
Getdocbrokermap IDfDocbrokerClient getDocbrokerMap
Getevents IDfSession getEvents
Getfile IDfSysObject getFile, getFileEx, getFileEx2
Getlastcoll IDfSession getLastCollection
Getlogin IDfSession GetLoginTicket, getLoginTicke‑
tEx, getLoginTicketForUser
Getmessage IDfSession getMessage
getServerMapFromSpecific‑
Docbroker
Grant IDfSysObject grant,
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 101
Migrating DMCL APIs to DFC
102 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating DMCL APIs to DFC
IDfWorkflow
IDfWorkitem
Readquery IDfQuery execute
Refresh IDfReplica refreshReplica
IDfMirror refreshMirror
Register IDfSysObject registerEvent
Reinit IDfSession reinit
Remove IDfTypedObject remove
Removeactivity IDfProcess removeActivity
Removecontent IDfSysObject removeContent
Removelink IDfProcess removeLink
Removenote IDfSysObject removeNote
Removepackage IDfWorkitem removePackage
Removepackageinfo IDfActivity removePackageInfo
Removepart IDfSysObject removePart
Removeport IDfActivity removePort
Removerendition IDfSysObject removeRendition,
removeRenditionEx,
removeRenditionEx2
Removeroutecase IDfActivity removeRouteCase
Removestate IDfActivity removeState
Repeat IDfWorkitem repeat
Repeating IDfTypedObject isAttrRepeating
Resolvealias IDfSysObject resolveAlias
IDfSession
Restart IDfSession restart
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 103
Migrating DMCL APIs to DFC
resume (IDfWorkitem)
Retrieve IDfSession getIdByQualification (in
IDfSession)
IDfTypedObject
getObjectId (in IDfTypedObject)
Revert IDfPersistentObject revert
Revoke IDfSysObject revoke
setRepeatingBoolean, setRe‑
peatingInt, setRepeatingDouble,
setRepeatingId, setRepeat‑
ingString, setRepeatingTime,
setRepeatingValue
Setbatchhint IDfSession setBatchHint
Setcontent IDfSysObject setContent, setContentEx,
setContentEx2
Setcontentattrs setContentAttrs
Setdoc IDfSysObject setIsVirtualDocument
Setfile IDfSysObject setFile, setFileEx
Setoutput IDfWorkitem setOutput, setOutputByActivi‑
ties
Setpath IDfSysObject setPath
Setperformers IDfWorkflow setPerformers
Setpriority IDfWorkitem setPriority
Setsupervisor IDfWorkflow updateSupervisorName
Shutdown IDfSession shutdown
Signoff IDfPersistentObject signoff
104 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Migrating DMCL APIs to DFC
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 105
Migrating DMCL APIs to DFC
106 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Appendix B
Object Type and Property Changes for
version 6.5
These tables describe types and properties that are new, changed, deprecated, or obsolete in version
65.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 107
Object Type and Property Changes for version 6.5
dmc_wfsd_element
dmc_wfsd_element_
boolean
dmc_wfsd_element_date
dmc_wfsd_element_
double
dmc_wfsd_element_
integer
dmc_wfsd_element_string
dmc_wfsd_parent
dmc_type_info
dmc_wfsdrp_boolean
dmc_wfsdrp_date
dmc_wfsdrp_double
dmc_wfsdrp_integer
dmc_wfsdrp_string
dmc_wfsdrp_parent
The following types These types are installed with the Collaboration Services DocApp.
are added to support
Collaboration Services:
dmc_calendar
dmc_calendar_event
dmc_datatable
dmc_datatable_row
dmc_datatable_schema
dmc_datatable_settings
dmc_xfm_adaptor_config Records information about a forms adaptor.
108 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Object Type and Property Changes for version 6.5
• server_minor_version
• is_cache_acs
dm_activity Added the following properties:
• activity_group_flag
• activity_group_id
• exec_retry_interval
• exec_retry_max
• post_timer_calendar_flag
• post_timer_calendar_id
• pre_timer_calendar_flag
• pre_timer_calendar_id
• r_performer_cond_id
• r_performer_cond_name
• r_performer_cond_user
• sd_element_flag
• sd_element_name
• resolve_pkg_name
• exec_subtype
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 109
Object Type and Property Changes for version 6.5
• is_data_shared
dm_audittrail Added the following property:
• attribute_list_old
dmi_audittrail_attrs Added the following property:
• attribute_list_old
dmc_completed_workitem Lengthened the following property:
• act_name
dmr_content Added the following properties:
• i_parked_state
• other_file_size
dm_dd_info Added the following property:
• fulltext_support
Note: Used only for lightweight object subtypes.
• docbase_roles
• r_normal_tz
• approved_clients_only
110 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Object Type and Property Changes for version 6.5
• is_module_only
• is_protected
dm_ldap_config Added the following properties:
• failover_ldap_config_ids
• failover_use_interval
• map_rejection
• retry_count
• retry_interval
Added support for the value ʺE” (meaning expression) for this
property
dm_media_profile Added the following properties:
• filter_names
• filter_values
• related_objects_only
• src_obj_type
dm_message_address The addr_type property was lengthened from string(1) to string(2)
dm_message_route The following property was added:
• route_user_data_hash_id
dmc_module Added the following properties:
• a_is_privileged
• a_privilege_roles
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 111
Object Type and Property Changes for version 6.5
• act_performer_rule
• act_performer_to
• calendar_id
• execution_flag
• post_timer_calendar_flag
• post_timer_calendar_id
• pre_timer_calendar_flag
• pre_timer_calendar_id
• sd_element_acl
• sd_element_default_acl
• sd_element_default_value
• sd_element_name
• sd_element_options
• sd_element_parent_id
• sd_element_type
• act_choose_for
• act_choose_name
• r_link_dest_act
• r_link_src_act
dm_public_key_certificate Modified the following properties:
• key_type
• private_key_identifier
dmi_queue_item Lengthened the following property:
• task_name
112 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Object Type and Property Changes for version 6.5
• query_type
• results_count
• selected_sources
dm_sysobject The a_extended_properties property is no longer used to record
the object ID of the room governing the object if the object is in
a room. A SysObject’s governing room is now recorded in the
a_gov_room_id property, which is an aspect property associated
with the SysObject when the Sysobject is placed in the room.
dmc_transition_condition Lengthened the following property:
• r_object_alias
dm_type Added the following new properties:
• attr_identifier
• attr_restriction
• next_attr_identifier
• type_category
dmi_type_info Added the following new properties:
• i_type_features
• type_version
• default_aspects
dmc_aspect_type Added the following new properties:
• i_attr_def
• is_data_shared
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 113
Object Type and Property Changes for version 6.5
• initiate_act
• parent_act_name
• parent_act_seqno
• parent_id
• r_perf_act_name
dmi_workitem Added the following properties:
• r_exec_retried_count
• r_handling_instruction
• r_next_retry_date
• r_target_task_id
• r_calendar_status
• increment_priority_method
• increment_priority_mode
114 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Object Type and Property Changes for version 6.5
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 115
Object Type and Property Changes for version 6.5
116 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Object Type and Property Changes for version 6.5
Changed properties
The implementation of the local_diskfull_limit property in the non‑persistent objects that define a
session configuration’s configuration has changed. Previously, the limit specified in this property was
expressed as a percentage. For version 6.5, the limit value is now expressed as a number of megabytes.
Valid values are now from 0 and 100. Values from 1 to 100 are interpreted as megabytes. For example,
a value of 50 means that the client local area is limited to 50MB in size. A value of 0 means that
the size is unlimited.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 117
Object Type and Property Changes for version 6.5
118 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Appendix C
Deployment Settings in WDKbased
Application Deployment
These tables list the mandatory and optional configuration elements that can be set before, during,
and after deployment of WDK‑based applications. Because WDK‑based applications encapsulate
DFC, you can also configure DFC settings as described in dfcfull.properties located in the
WEB‑INF/classes directory of the WDK‑based application. Functions marked with an asterisk (*)
must be performed for every deployment.
Table 25, page 119 lists the configuration elements that must be set before deploying a WDK‑based
application, such as Webtop or TaskSpace. Not all of these elements must be set for every deployment,
but if you wish to support the function in the first column, you must enable it before deployment.
Refer to Web Development Kit and Webtop Deployment Guide for more information on these settings.
Table 26, page 119 lists the optional configuration settings that can be set before deployment.
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 119
Deployment Settings in WDKbased Application Deployment
Table 27, page 120 lists the configuration settings that can be changed after deployment. For
non‑deployment related configuration, refer to WDK and Webtop Reference Guide. This guide lists all
configurable elements in WDK and configuration files and tag libraries and notes in which release
the change was introduced.
120 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Deployment Settings in WDKbased Application Deployment
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 121
Deployment Settings in WDKbased Application Deployment
122 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Appendix D
Changes to Webtop Cascading
Stylesheets
The majority of styles used in Webtop are defined in webforms.css. To see new styles that you can
use in your JSP pages, you can use a differencing utility to compare the stylesheets from your old
application to the 6.5 application.
The following selectors were removed from webforms.css:
.buttonLink
{
fontfamily: Trebuchet MS, Verdana, GillSans, Arial;
color: #333333;
textdecoration: none;
fontsize: 12px;
lineheight: 14px;
fontweight: normal;
}
.buttonDisabledLink
{
color: #999999;
fontfamily: Trebuchet MS, Verdana, GillSans, Arial;
textdecoration: none;
fontsize: 12px;
lineheight: 14px;
}
.actionButtonLink
{
fontfamily: Trebuchet MS, Verdana, GillSans, Arial;
color: #333333;
textdecoration: none;
fontsize: 12px;
lineheight: 14px;
fontweight: normal;
}
.actionButtonDisabledLink
{
color: #999999;
fontfamily: Trebuchet MS, Verdana, GillSans, Arial;
textdecoration: none;
fontsize: 12px;
lineheight: 14px;
fontweight: normal;
}
.bannerbox
{
background: white url("../images/banner/top_left.gif") norepeat top
left;
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 123
Changes to Webtop Cascading Stylesheets
124 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Appendix E
dfc.properties
Overview
In version 6, DFC replaced the Server API as the API for Content Server. As part of this change,
the dmcl.ini file became obsolete and its relevant entries were migrated to the dfc.properties file.
In addition, the naming conventions for entries in the dfc.properties file were standardized. This
appendix describes the changes to the dfc.properties file.
Table 28. Name changes for existing dfc.properties for version 6.5
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 125
dfc.properties
dfc.cache.append.name dfc.bof.cache.append_name
dfc.bof.cacheconsistency.interval dfc.bof.cache.currency_check_interval
dfc.bof.registry.connect.attempt.interval dfc.globalregistry.connect_attempt_.interval
dfc.bof.registry.preload.enabled dfc.bof.cache.enable_preload
dfc.bof.registry.password dfc.globalregistry.password
dfc.bof.registry.repository dfc.globalregistry.repository
dfc.bof.registry.username dfc.globalregistry.username
dfc.cache.ddinfo.globalCacheSize dfc.cache.ddinfo.size
dfc.cache.dir dfc.cache_dir
dfc.cache.object.globalCacheSize dfc.cache.object.size
dfc.cache.query.globalCacheSize dfc.cache.query.size
dfc.core.truncate_long_values dfc.compatibility.truncate_long_values
dfc.config.timeout dfc.config.check_interval
dfc.checkout.dir dfc.data.checkout_dir
dfc.data.dir dfc.data.dir
dfc.docbase.max_deadlock_retries dfc.session.max_deadlock_retries
dfc.docbase.max_error_retries dfc.session.max_error_retries
dfc.exception.include_decoration No change
dfc.exception.include_id No change
dfc.exception.include_stack No change
dfc.export.dir dfc.data.export_dir
dfc.housekeeping.cleanup.interval dfc.resources.cleanup_interval
dfc.max.vdm.children.flush.count dfc.vdm.max_children_flush_count
dfc.recordInlineDescendants dfc.xml.record_inline_descendants
dfc.registry.file No change
dfc.registry.mode No change
dfc.resources.diagnostics.enabled dfc.diagnostics.resources.enable
dfc.search.docbase.brokers dfc.search.docbase.broker_count
dfc.search.ecis.adapter.domain No change
dfc.search.ecis.brokers dfc.search.ecis.broker_count
dfc.search.ecis.enable No change
dfc.search.ecis.host No change
dfc.search.ecis.password No change
126 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
dfc.properties
dfc.tracing.stackDepth dfc.tracing.max_stack_depth
dfc.tracing.threadNameExprs dfc.tracing.thread_name_filter
dfc.tracing.timestampDateFormat dfc.tracing.date_format
dfc.tracing.timingStyle dfc.tracing.timing_style
dfc.tracing.traceFileDirectory dfc.tracing.dir
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 127
dfc.properties
128 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
dfc.properties
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 129
dfc.properties
130 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
dfc.properties
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 131
dfc.properties
132 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Index
A migration, 49
ACS dfc.compatibility.truncate_long_values, 25
configuration, 90 dfc.machine.id, 25
attribute, 25 dfc.properties, 25, 27
auto complete, 83 dfc.session.allow_trusted_login, 27
DFS, migration to, 95
differences
B DFC Java classes, 49
BOCS WDK Java classes, 55
configuration, 90 dm_bof_registry, 33
BOF, 49 dm_extern_file, 26
BOF2 modules dm_linkedstore, 26
migrating, 47 dm_startedworkitem, 25
dmcl.ini‑keys, 27
dmi_linkrecord, 26
C DocApps
CHANGE...OBJECT statement, 27 migrating, 47
CLEAN_LINKS, 26 DocList component, 73
<client_warning_session_timeout>, 56 DQL
column resizing, 73 CHANGE...OBJECT statement, 27
conditional value assistance, 92 date literals, 27
configuration migrating content, 47
WDK, 119 POSITION keyword, 27
configuration service extensions, 58 drag and drop, 85
consistency checker utility, 45 dump and load, 17
Content Server dynamic filters, 84
listener queue length, configuring, 28
content store
changing location, 18 E
content transfer applet, 90 email migration
introduction, 54
EMCMF
D displaying, 66
database enable_workitem_mgmt (server.ini
changing location, 17 key), 28
changing version, 17 export, deep, 87
datacolumnbeginswith, 84
datagrid enhancements, 70
date literals, 27 F
deep export, enabling, 87 fixed column headers, 74
DFC classes fixed menus, 59
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 133
Index
G menus
global registry fixed, 59
defined, 33 migrating
BOF2 and DocApps, 47
migrating content with DQL, 47
H migration
hotkeys, 76 overview, 12
key combination map, 78 modal popuup. See pop‑up, modal
XML definition, 77 modules
<hotkeys>, 77 migrating, 47
HotKeysNlsProp, 78
O
I OLE, enable scan, 88
IDfSession.setServerTraceLevel, 28 optical storage devices, 26
insertbefore, 58
installation order
new system, 12
P
IPv4 configuration, 49 performance
IRM support, 65 planning, 20
Server, common problems, 21
web application, 22
K planning worksheet
keyboard shortcuts, 76 application server host, 31
Planning worksheet
client machine, 31
L Content Server host, 30
LDIF file, 26 customized components, 32
lifecycle, 93 index server host, 31
lightweight sysobjects pop‑up, modal
migrating to, 24 disabling, 62
support in WDK, 67 invoking, 62
link scan, enable, 88 overview, 62
linked store storage areas, 26 refresh parent, 64
listener_queue_length, 28 window.location.replace, 65
listener_queue_length (server.ini key), 28 POSITION keyword, 27
login tickets preference persistence, 85
backwards compatibility, 46 presets, 57
LWSO
support in WDK, 67
LWSOs Q
migrating to, 24 query
performance enhancement, 22
M
max_backup_index, 27 R
max_file_size, 27 relationships, 93
memory renditions
application server usage, 20 viewing application per user, 89
DFC usage, 20 resizeable columns, 73
<menu>, 59 right‑click menus, 74
134 EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide
Index
EMC Documentum System Version 6.5 SP1 Upgrade and Migration Guide 135